feat(server): update trascript endpoint (#11196)

This commit is contained in:
darkskygit
2025-03-27 10:18:49 +00:00
parent 3303684056
commit 3b9d64d74d
17 changed files with 195 additions and 70 deletions

View File

@@ -32,9 +32,10 @@ export class CopilotJobModel extends BaseModel {
return row;
}
async has(workspaceId: string, blobId: string) {
async has(userId: string, workspaceId: string, blobId: string) {
const row = await this.db.aiJobs.findFirst({
where: {
createdBy: userId,
workspaceId,
blobId,
},
@@ -42,6 +43,45 @@ export class CopilotJobModel extends BaseModel {
return !!row;
}
async getWithUser(
userId: string,
workspaceId: string,
jobId?: string,
blobId?: string,
type?: AiJobType
) {
if (!jobId && !blobId) {
return null;
}
const row = await this.db.aiJobs.findFirst({
where: {
id: jobId,
blobId,
workspaceId,
type,
OR: [
{ createdBy: userId },
{ createdBy: { not: userId }, status: AiJobStatus.claimed },
],
},
});
if (!row) {
return null;
}
return {
id: row.id,
workspaceId: row.workspaceId,
blobId: row.blobId,
createdBy: row.createdBy || undefined,
type: row.type,
status: row.status,
payload: row.payload,
};
}
async update(jobId: string, data: UpdateCopilotJobInput) {
const ret = await this.db.aiJobs.updateMany({
where: {
@@ -74,42 +114,6 @@ export class CopilotJobModel extends BaseModel {
return ret?.status;
}
async getWithUser(
userId: string,
workspaceId: string,
jobId?: string,
type?: AiJobType
) {
const row = await this.db.aiJobs.findFirst({
where: {
id: jobId,
workspaceId,
type,
OR: [
{
createdBy: userId,
status: { in: [AiJobStatus.finished, AiJobStatus.claimed] },
},
{ createdBy: { not: userId }, status: AiJobStatus.claimed },
],
},
});
if (!row) {
return null;
}
return {
id: row.id,
workspaceId: row.workspaceId,
blobId: row.blobId,
createdBy: row.createdBy || undefined,
type: row.type,
status: row.status,
payload: row.payload,
};
}
async get(jobId: string): Promise<CopilotJob | null> {
const row = await this.db.aiJobs.findFirst({
where: {