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}`]] } }