Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Log.service.ts 853 B

123456789101112131415161718192021222324252627282930313233
  1. import { Prisma, PrismaClient } from '@prisma/client';
  2. import {User} from '../common';
  3. import {Log, LogParameterData} from './models';
  4. export interface LogService {
  5. create(subject: User, action: string, ...parameters: LogParameterData[]): Promise<Log>
  6. }
  7. export class LogServiceImpl implements LogService {
  8. private readonly prismaClient: PrismaClient
  9. constructor() {
  10. this.prismaClient = new PrismaClient()
  11. }
  12. async create(subject: User, action: string, ...parameters: LogParameterData[]): Promise<Log> {
  13. const createData: Prisma.LogCreateInput = {
  14. subjectUsername: subject.username,
  15. subjectUserId: subject.id,
  16. action,
  17. }
  18. if (parameters.length > 0) {
  19. createData['parameters'] = {
  20. create: parameters,
  21. }
  22. }
  23. return this.prismaClient.log.create({
  24. data: createData,
  25. })
  26. }
  27. }