|
@@ -19,6 +19,7 @@ export interface ThreadRelationDocument extends IThreadRelation, Document {
|
|
|
|
|
|
|
|
interface ThreadRelationModel extends PaginateModel<ThreadRelationDocument> {
|
|
interface ThreadRelationModel extends PaginateModel<ThreadRelationDocument> {
|
|
|
getExpiredThreadRelations(limit?: number): Promise<ThreadRelationDocument[] | undefined>;
|
|
getExpiredThreadRelations(limit?: number): Promise<ThreadRelationDocument[] | undefined>;
|
|
|
|
|
+ deactivateByAiAssistantId(aiAssistantId: string): Promise<void>;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const schema = new Schema<ThreadRelationDocument, ThreadRelationModel>({
|
|
const schema = new Schema<ThreadRelationDocument, ThreadRelationModel>({
|
|
@@ -49,6 +50,11 @@ const schema = new Schema<ThreadRelationDocument, ThreadRelationModel>({
|
|
|
default: generateExpirationDate,
|
|
default: generateExpirationDate,
|
|
|
required: true,
|
|
required: true,
|
|
|
},
|
|
},
|
|
|
|
|
+ isActive: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: true,
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ },
|
|
|
}, {
|
|
}, {
|
|
|
timestamps: { createdAt: false, updatedAt: true },
|
|
timestamps: { createdAt: false, updatedAt: true },
|
|
|
});
|
|
});
|
|
@@ -61,6 +67,19 @@ schema.statics.getExpiredThreadRelations = async function(limit?: number): Promi
|
|
|
return expiredThreadRelations;
|
|
return expiredThreadRelations;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+schema.statics.deactivateByAiAssistantId = async function(aiAssistantId: string): Promise<void> {
|
|
|
|
|
+ await this.updateMany(
|
|
|
|
|
+ {
|
|
|
|
|
+ aiAssistant: aiAssistantId,
|
|
|
|
|
+ isActive: true,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ $set: { isActive: false },
|
|
|
|
|
+ },
|
|
|
|
|
+ );
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
schema.methods.updateThreadExpiration = async function(): Promise<void> {
|
|
schema.methods.updateThreadExpiration = async function(): Promise<void> {
|
|
|
this.expiredAt = generateExpirationDate();
|
|
this.expiredAt = generateExpirationDate();
|
|
|
await this.save();
|
|
await this.save();
|