CRUD operations for Posts
- added all CRUD operations for Post model - add() also creates POST_BY_MEMBER and POST_FROM_NETWORK edges - delete() also deletes associated edges - delete() currently does not reallocate node/edge indices after deleting - will write the data to the db.json file and global.db.nodes
This commit is contained in:
37
server/db/model/edges/POST_BY_MEMBER.js
Normal file
37
server/db/model/edges/POST_BY_MEMBER.js
Normal file
@@ -0,0 +1,37 @@
|
||||
import { z } from 'zod'
|
||||
|
||||
export default class POST_BY_MEMBER {
|
||||
prefix = "POST_BY_MEMBER"
|
||||
indices = null
|
||||
|
||||
constructor(indices) {
|
||||
this.indices = indices
|
||||
}
|
||||
|
||||
schema = z.object({
|
||||
id: z.number(),
|
||||
type: z.string(),
|
||||
from: z.string(),
|
||||
to: z.string(),
|
||||
created: z.string()
|
||||
})
|
||||
.strict()
|
||||
|
||||
getAuthorId(postId) {
|
||||
for (let i = this.indices[0]; i < this.indices[1]; i++) {
|
||||
if (global.db.edges[i].from === postId) {
|
||||
return Number(global.db.edges[i].to.split("-")[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getByMember(stringID) {
|
||||
let result = []
|
||||
for(let i = this.indices[0]; i < this.indices[1]; i++) {
|
||||
if(global.db.edges[i].from === stringID) {
|
||||
result.push(global.db.edges[i])
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user