2024-12-31 15:57:32 +08:00
|
|
|
import { Injectable } from '@nestjs/common';
|
|
|
|
import { BaseService } from '../base/base.service';
|
|
|
|
import {
|
|
|
|
UserProfile,
|
|
|
|
db,
|
|
|
|
ObjectType,
|
|
|
|
Prisma,
|
2025-01-03 09:24:46 +08:00
|
|
|
Resource,
|
2025-01-06 08:45:23 +08:00
|
|
|
} from '@nice/common';
|
2025-01-03 09:24:46 +08:00
|
|
|
|
2024-12-31 15:57:32 +08:00
|
|
|
@Injectable()
|
|
|
|
export class ResourceService extends BaseService<Prisma.ResourceDelegate> {
|
|
|
|
constructor() {
|
|
|
|
super(db, ObjectType.RESOURCE);
|
|
|
|
}
|
2025-01-03 09:24:46 +08:00
|
|
|
async create(
|
|
|
|
args: Prisma.ResourceCreateArgs,
|
|
|
|
params?: { staff?: UserProfile },
|
|
|
|
): Promise<Resource> {
|
|
|
|
if (params?.staff) {
|
|
|
|
args.data.ownerId = params?.staff?.id
|
|
|
|
}
|
|
|
|
return this.create(args);
|
|
|
|
}
|
|
|
|
async checkFileExists(hash: string): Promise<Resource | null> {
|
|
|
|
return this.findFirst({
|
|
|
|
where: {
|
|
|
|
hash,
|
|
|
|
deletedAt: null,
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|