feat: save errors

This commit is contained in:
Nevo David 2025-07-10 19:54:40 +07:00
parent 0129f5f05b
commit 40c8087c1c
2 changed files with 43 additions and 3 deletions

View File

@ -23,7 +23,8 @@ export class PostsRepository {
private _popularPosts: PrismaRepository<'popularPosts'>,
private _comments: PrismaRepository<'comments'>,
private _tags: PrismaRepository<'tags'>,
private _tagsPosts: PrismaRepository<'tagsPosts'>
private _tagsPosts: PrismaRepository<'tagsPosts'>,
private _errors: PrismaRepository<'errors'>
) {}
getOldPosts(orgId: string, date: string) {
@ -264,8 +265,8 @@ export class PostsRepository {
});
}
changeState(id: string, state: State, err?: string) {
return this._post.model.post.update({
async changeState(id: string, state: State, err?: string) {
const update = await this._post.model.post.update({
where: {
id,
},
@ -273,7 +274,29 @@ export class PostsRepository {
state,
error: typeof err === 'string' ? err : JSON.stringify(err),
},
include: {
integration: {
select: {
providerIdentifier: true,
},
},
},
});
if (state === 'ERROR') {
try {
await this._errors.model.errors.create({
data: {
message: typeof err === 'string' ? err : JSON.stringify(err),
organizationId: update.organizationId,
platform: update.integration.providerIdentifier,
postId: update.id,
},
});
} catch (err) {}
}
return update;
}
async changeDate(orgId: string, id: string, date: string) {

View File

@ -39,6 +39,7 @@ model Organization {
autoPost AutoPost[]
sets Sets[]
thirdParty ThirdParty[]
errors Errors[]
}
model Tags {
@ -405,6 +406,7 @@ model Post {
payoutProblems PayoutProblems[]
comments Comments[]
tags TagsPosts[]
errors Errors[]
error String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@ -638,6 +640,21 @@ model ThirdParty {
@@index([deletedAt])
}
model Errors {
id String @id @default(uuid())
message String
platform String
organizationId String
organization Organization @relation(fields: [organizationId], references: [id])
postId String
post Post @relation(fields: [postId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([organizationId])
@@index([createdAt])
}
enum OrderStatus {
PENDING
ACCEPTED