adding stripe section, parts of dashboard

This commit is contained in:
metacryst
2026-01-07 18:30:58 -06:00
parent eced0b72d1
commit f0694f0b99
24 changed files with 183 additions and 411 deletions

View File

@@ -22,6 +22,7 @@ export default class Members extends OrderedObject {
),
joined: z.string(),
address: this.addressSchema,
networks: z.array(z.number())
})
isHashed = (s) => {return s.startsWith("$argon2")}

View File

@@ -0,0 +1,39 @@
import OrderedObject from "./OrderedObject.js"
import { z } from 'zod';
export default class Networks extends OrderedObject {
prefix = `NETWORK`
schema = z.object({
id: z.number(),
name: z.string(),
})
save(n) {
let id = `${this.prefix}-${n.id}`
let result = this.schema.safeParse(n)
if(result.success) {
try {
super.add(id, n)
} catch(e) {
console.error(e)
throw e
}
} else {
console.error(result.error)
throw new global.ServerError(400, "Invalid Member Data!");
}
}
add(n) {
let toSave = {
id: this.entries.length+1,
...n
}
this.save(toSave)
}
get(id) {
return this.entries[this.ids[`${this.prefix}-${id}`]]
}
}