43 lines
923 B
JavaScript
43 lines
923 B
JavaScript
export default function Member(id, node) {
|
|
let idTraits = {
|
|
firstWord: "MEMBER",
|
|
length: 2
|
|
}
|
|
|
|
let fields = [
|
|
"firstName",
|
|
"lastName",
|
|
"email",
|
|
"password"
|
|
]
|
|
|
|
let checkID = () => {
|
|
let split = id.split("-")
|
|
return (
|
|
split.length === idTraits.length
|
|
&& split[0] === idTraits.firstWord
|
|
&& !isNaN(Number(split[1]))
|
|
)
|
|
}
|
|
let idres = checkID()
|
|
if(!idres) {
|
|
return false
|
|
}
|
|
|
|
let checkFields = () => {
|
|
for(let i = 0; i < fields.length; i++) {
|
|
if(!node[fields[i]]) {
|
|
throw new Error(`Member ${node.email} is missing trait ${fields[i]}`)
|
|
return false
|
|
} else {
|
|
return true
|
|
}
|
|
}
|
|
}
|
|
let fieldres = checkFields()
|
|
if(!fieldres) {
|
|
return false
|
|
}
|
|
|
|
return true
|
|
} |