Files
Picsur/backend/src/managers/demo/demo.service.ts
2022-06-27 17:37:37 +02:00

32 lines
1020 B
TypeScript

import { Injectable, Logger } from '@nestjs/common';
import { ImageDBService } from '../../collections/image-db/image-db.service';
import { RolesService } from '../../collections/role-db/role-db.service';
import { Permission } from '../../models/constants/permissions.const';
@Injectable()
export class DemoManagerService {
private readonly logger = new Logger('DemoManagerService');
constructor(
private readonly imagesService: ImageDBService,
private readonly rolesService: RolesService,
) {}
public async setupRoles() {
this.logger.warn(
'Modifying roles for demo mode, this will have to be reverted manually',
);
// Could be done manually, but this makes settup up a demo instance quicker
this.rolesService.addPermissions('guest', [Permission.ImageUpload]);
}
public execute() {
this.executeAsync().catch(this.logger.error);
}
private async executeAsync() {
this.logger.verbose('Executing demo cleanup');
await this.imagesService.deleteAll(true);
}
}