adding join endpoint
This commit is contained in:
@@ -93,7 +93,6 @@ export default class Database {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
console.log("saving db")
|
|
||||||
global.db.saveData()
|
global.db.saveData()
|
||||||
}, 5000)
|
}, 5000)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,12 +22,8 @@ export default class Member {
|
|||||||
firstName: z.string(),
|
firstName: z.string(),
|
||||||
lastName: z.string(),
|
lastName: z.string(),
|
||||||
password: z.string(),
|
password: z.string(),
|
||||||
tokenUsed: z.string().regex(
|
|
||||||
/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
|
|
||||||
"Invalid UUID"
|
|
||||||
),
|
|
||||||
joined: z.string(),
|
joined: z.string(),
|
||||||
address: this.addressSchema
|
address: this.addressSchema.optional()
|
||||||
})
|
})
|
||||||
|
|
||||||
isHashed = (s) => {return s.startsWith("$argon2")}
|
isHashed = (s) => {return s.startsWith("$argon2")}
|
||||||
@@ -37,7 +33,7 @@ export default class Member {
|
|||||||
let result = this.schema.safeParse(member)
|
let result = this.schema.safeParse(member)
|
||||||
if(result.success) {
|
if(result.success) {
|
||||||
try {
|
try {
|
||||||
super.add(id, member)
|
global.db.addNode(id, member)
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
throw e
|
throw e
|
||||||
@@ -48,12 +44,11 @@ export default class Member {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async add(newMember, tokenID) {
|
async add(newMember) {
|
||||||
newMember.tokenUsed = tokenID
|
|
||||||
const hash = await argon2.hash(newMember.password);
|
const hash = await argon2.hash(newMember.password);
|
||||||
newMember.password = hash
|
newMember.password = hash
|
||||||
newMember.joined = global.currentTime()
|
newMember.joined = global.currentTime()
|
||||||
newMember.id = this.entries.length+1
|
newMember.id = this.indices[1] - 1
|
||||||
this.save(newMember)
|
this.save(newMember)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class Server {
|
|||||||
router.get('/signout', this.auth.logout)
|
router.get('/signout', this.auth.logout)
|
||||||
|
|
||||||
/* Site */
|
/* Site */
|
||||||
router.post('/signup', this.verifySignupToken, this.newUserSubmission)
|
router.post('/free', this.newUserSubmission)
|
||||||
router.get('/db/images/*', this.getUserImage)
|
router.get('/db/images/*', this.getUserImage)
|
||||||
router.get('/app/comaldata', this.getComalData)
|
router.get('/app/comaldata', this.getComalData)
|
||||||
router.get('/*', this.get)
|
router.get('/*', this.get)
|
||||||
@@ -79,12 +79,8 @@ class Server {
|
|||||||
}
|
}
|
||||||
|
|
||||||
newUserSubmission = async (req, res) => {
|
newUserSubmission = async (req, res) => {
|
||||||
const { token } = req.query;
|
|
||||||
try {
|
try {
|
||||||
let tokenData = db.tokens.get(token)
|
await db.members.add(req.body)
|
||||||
if(tokenData.used) throw new global.ServerError(400, "Token alredy used!")
|
|
||||||
await db.members.add(req.body, tokenData.uuid)
|
|
||||||
db.tokens.markUsed(token)
|
|
||||||
global.db.saveData()
|
global.db.saveData()
|
||||||
return res.status(200).json({});
|
return res.status(200).json({});
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
|
|||||||
@@ -46,7 +46,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
:root.public {
|
:root.public {
|
||||||
--accent: var(--gold);
|
--main: black;
|
||||||
|
--accent: var(--parchment);
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
class SignupForm extends Shadow {
|
class SignupForm extends Shadow {
|
||||||
|
|
||||||
errorMessage = "Error signing up. Please try again later or email info@hyperia.so if the problem persists."
|
errorMessage = "Error signing up. Please try again later or email samuel@sun.museum if the problem persists."
|
||||||
successMessage = "Success! You may now log in."
|
successMessage = "Success! You may now log in."
|
||||||
|
|
||||||
inputStyles(el) {
|
inputStyles(el) {
|
||||||
|
|||||||
Reference in New Issue
Block a user