Processing Stripe Dance Payments

This commit is contained in:
metacryst
2025-12-07 22:01:37 -06:00
parent 9a1aa55297
commit 279be987a4
11 changed files with 152 additions and 420 deletions

View File

@@ -5,6 +5,7 @@ import QuillDB from "../_/quilldb.js"
import Titles from "./model/Titles.js"
import Members from './model/Members.js'
import Tokens from './model/Tokens.js'
import Payments from "./model/Payments.js"
import Posts from "./model/Forum/Posts.js"
import Conversations from "./model/Messages/Conversations.js"
import Messages from "./model/Messages/Messages.js"
@@ -13,6 +14,7 @@ export default class Database {
titles = new Titles()
members = new Members()
tokens = new Tokens()
payments = new Payments()
posts = new Posts()
conversations = new Conversations()
messages = new Messages()
@@ -21,6 +23,7 @@ export default class Database {
"HY": this.titles,
"MEMBER": this.members,
"TOKEN": this.tokens,
"PAYMENT": this.payments,
"POST": this.posts,
"CONVERSATION": this.conversations,
"DM": this.messages
@@ -79,8 +82,8 @@ export default class Database {
this.tokens.entries,
this.posts.entries,
this.conversations.entries,
this.messages.entries
this.messages.entries,
this.payments.entries,
]
let ids = [
Object.entries(this.titles.ids),
@@ -89,7 +92,7 @@ export default class Database {
Object.entries(this.posts.ids),
Object.entries(this.conversations.ids),
Object.entries(this.messages.ids),
Object.entries(this.payments.ids),
]
for(let i=0; i<arrs.length; i++) {
let arr = arrs[i]

View File

@@ -0,0 +1,42 @@
import OrderedObject from "./OrderedObject.js"
const { z } = require("zod")
export default class Payments extends OrderedObject {
schema = z.object({
id: z.number(),
name: z.string(),
email: z.string(),
time: z.string(),
amount: z.number(),
product: z.string(),
})
save(payment) {
let id = `PAYMENT-${payment.id}`
let result = this.schema.safeParse(payment)
if(result.success) {
try {
super.add(id, payment)
} catch(e) {
console.error(e)
throw e
}
} else {
console.error(result.error)
throw new global.ServerError(400, "Invalid Member Data!");
}
}
add(paymentObj) {
let toSave = {
id: this.entries.length+1,
...paymentObj
}
this.save(toSave)
}
get(id) {
return this.entries[this.ids[`PAYMENT-${id}`]]
}
}