Stockage du montant de la modification plutôt que le avant/après
This commit is contained in:
		@@ -0,0 +1,13 @@
 | 
			
		||||
/*
 | 
			
		||||
  Warnings:
 | 
			
		||||
 | 
			
		||||
  - You are about to drop the column `after` on the `MoneyUpdate` table. All the data in the column will be lost.
 | 
			
		||||
  - You are about to drop the column `before` on the `MoneyUpdate` table. All the data in the column will be lost.
 | 
			
		||||
  - Added the required column `amount` to the `MoneyUpdate` table without a default value. This is not possible if the table is not empty.
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
-- AlterTable
 | 
			
		||||
ALTER TABLE "MoneyUpdate" DROP COLUMN "after",
 | 
			
		||||
DROP COLUMN "before",
 | 
			
		||||
ADD COLUMN     "amount" INTEGER NOT NULL,
 | 
			
		||||
ADD COLUMN     "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
 | 
			
		||||
@@ -52,7 +52,7 @@ model ChallengeAction {
 | 
			
		||||
  end          DateTime?    @db.Timestamptz(3)
 | 
			
		||||
  penaltyStart DateTime?    @db.Timestamptz(3)
 | 
			
		||||
  penaltyEnd   DateTime?    @db.Timestamptz(3)
 | 
			
		||||
  moneyUpdate MoneyUpdate?
 | 
			
		||||
  moneyUpdate  MoneyUpdate?
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
model TrainTrip {
 | 
			
		||||
@@ -69,16 +69,16 @@ model TrainTrip {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
model MoneyUpdate {
 | 
			
		||||
  id       Int              @id @default(autoincrement())
 | 
			
		||||
  user     User             @relation(fields: [userId], references: [id])
 | 
			
		||||
  userId   Int
 | 
			
		||||
  before   Int
 | 
			
		||||
  after    Int
 | 
			
		||||
  reason   MoneyUpdateType
 | 
			
		||||
  action   ChallengeAction? @relation(fields: [actionId], references: [id])
 | 
			
		||||
  actionId Int?             @unique
 | 
			
		||||
  trip     TrainTrip?       @relation(fields: [tripId], references: [id])
 | 
			
		||||
  tripId   String?          @unique
 | 
			
		||||
  id           Int              @id @default(autoincrement())
 | 
			
		||||
  user         User             @relation(fields: [userId], references: [id])
 | 
			
		||||
  userId       Int
 | 
			
		||||
  amount       Int
 | 
			
		||||
  reason       MoneyUpdateType
 | 
			
		||||
  action       ChallengeAction? @relation(fields: [actionId], references: [id])
 | 
			
		||||
  actionId     Int?             @unique
 | 
			
		||||
  trip         TrainTrip?       @relation(fields: [tripId], references: [id])
 | 
			
		||||
  tripId       String?          @unique
 | 
			
		||||
  timestamp    DateTime         @default(now()) @db.Timestamptz(3)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum MoneyUpdateType {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,13 @@
 | 
			
		||||
import { ApiProperty } from "@nestjs/swagger"
 | 
			
		||||
import { MoneyUpdateType } from "@prisma/client"
 | 
			
		||||
import { Type } from "class-transformer"
 | 
			
		||||
import { IsEnum, IsInt, IsOptional, IsUUID } from "class-validator"
 | 
			
		||||
import { IsDate, IsEnum, IsInt, IsOptional, IsUUID } from "class-validator"
 | 
			
		||||
 | 
			
		||||
export class CreateMoneyUpdateDto {
 | 
			
		||||
  @IsInt()
 | 
			
		||||
  @Type(() => Number)
 | 
			
		||||
  @ApiProperty({ description: "Solde avant modification" })
 | 
			
		||||
  before: number
 | 
			
		||||
 | 
			
		||||
  @IsInt()
 | 
			
		||||
  @Type(() => Number)
 | 
			
		||||
  @ApiProperty({ description: "Solde après modification" })
 | 
			
		||||
  after: number
 | 
			
		||||
  @ApiProperty({ description: "Montant de la modification de solde" })
 | 
			
		||||
  amount: number
 | 
			
		||||
 | 
			
		||||
  @IsEnum(MoneyUpdateType)
 | 
			
		||||
  @ApiProperty({ description: "Type de modification de solde" })
 | 
			
		||||
@@ -28,4 +23,9 @@ export class CreateMoneyUpdateDto {
 | 
			
		||||
  @IsUUID()
 | 
			
		||||
  @ApiProperty({ description: "Identifiant du trajet acheté, si la mise à jour est liée à la réservation d'un train", nullable: true })
 | 
			
		||||
  tripId?: string
 | 
			
		||||
 | 
			
		||||
  @IsDate()
 | 
			
		||||
  @Type(() => Date)
 | 
			
		||||
  @ApiProperty({ description: "Date et heure de la modification de solde" })
 | 
			
		||||
  timestamp: Date
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
import { ApiProperty } from "@nestjs/swagger"
 | 
			
		||||
import { MoneyUpdate, MoneyUpdateType } from "@prisma/client"
 | 
			
		||||
import { IsOptional } from "class-validator"
 | 
			
		||||
 | 
			
		||||
export class MoneyUpdateEntity implements MoneyUpdate {
 | 
			
		||||
  constructor (partial: Partial<MoneyUpdateEntity>) {
 | 
			
		||||
@@ -13,11 +12,8 @@ export class MoneyUpdateEntity implements MoneyUpdate {
 | 
			
		||||
  @ApiProperty({ description: "Utilisateur⋅rice concerné⋅e par la mise à jour de solde" })
 | 
			
		||||
  userId: number
 | 
			
		||||
 | 
			
		||||
  @ApiProperty({ description: "Solde avant modification" })
 | 
			
		||||
  before: number
 | 
			
		||||
 | 
			
		||||
  @ApiProperty({ description: "Solde après modification" })
 | 
			
		||||
  after: number
 | 
			
		||||
  @ApiProperty({ description: "Montant de la modification du solde" })
 | 
			
		||||
  amount: number
 | 
			
		||||
 | 
			
		||||
  @ApiProperty({ description: "Type de modification de solde" })
 | 
			
		||||
  reason: MoneyUpdateType
 | 
			
		||||
@@ -27,4 +23,7 @@ export class MoneyUpdateEntity implements MoneyUpdate {
 | 
			
		||||
 | 
			
		||||
  @ApiProperty({ description: "Identifiant du trajet acheté, si la mise à jour est liée à la réservation d'un train", nullable: true })
 | 
			
		||||
  tripId: string
 | 
			
		||||
 | 
			
		||||
  @ApiProperty({ description: "Date et heure de la modification de solde" })
 | 
			
		||||
  timestamp: Date
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user