User => Player

This commit is contained in:
2024-12-08 13:41:37 +01:00
parent c6da328023
commit 65576fc5b1
39 changed files with 193 additions and 240 deletions

View File

@@ -9,8 +9,8 @@ export class MoneyUpdateEntity implements MoneyUpdate {
@ApiProperty({ description: "Identifiant unique de la mise à jour de solde" })
id: number
@ApiProperty({ description: "Utilisateur⋅rice concerné⋅e par la mise à jour de solde" })
userId: number
@ApiProperty({ description: "Joueur⋅se concerné⋅e par la mise à jour de solde" })
playerId: number
@ApiProperty({ description: "Montant de la modification du solde" })
amount: number

View File

@@ -7,7 +7,7 @@ import { ApiBearerAuth, ApiCreatedResponse, ApiForbiddenResponse, ApiNotFoundRes
import { MoneyUpdateEntity } from './entities/money-update.entity'
import { ApiOkResponsePaginated, paginateOutput } from 'src/common/utils/pagination.utils'
import { QueryPaginationDto } from 'src/common/dto/pagination-query.dto'
import { UserFilterDto } from 'src/common/dto/user_filter.dto'
import { PlayerFilterDto } from 'src/common/dto/player_filter.dto'
import { PaginateOutputDto } from 'src/common/dto/pagination-output.dto'
@Controller('money-updates')
@@ -32,8 +32,8 @@ export class MoneyUpdatesController {
@ApiOkResponsePaginated(MoneyUpdateEntity)
@ApiUnauthorizedResponse({ description: "Non authentifié⋅e" })
@ApiForbiddenResponse({ description: "Permission refusée" })
async findAll(@Query() queryPagination: QueryPaginationDto, @Query() userFilter: UserFilterDto): Promise<PaginateOutputDto<MoneyUpdateEntity>> {
const [trains, total] = await this.moneyUpdatesService.findAll(queryPagination, userFilter)
async findAll(@Query() queryPagination: QueryPaginationDto, @Query() playerFilter: PlayerFilterDto): Promise<PaginateOutputDto<MoneyUpdateEntity>> {
const [trains, total] = await this.moneyUpdatesService.findAll(queryPagination, playerFilter)
return paginateOutput<MoneyUpdateEntity>(trains.map(train => new MoneyUpdateEntity(train)), total, queryPagination)
}

View File

@@ -2,32 +2,32 @@ import { Injectable } from '@nestjs/common'
import { CreateMoneyUpdateDto } from './dto/create-money-update.dto'
import { UpdateMoneyUpdateDto } from './dto/update-money-update.dto'
import { PrismaService } from 'src/prisma/prisma.service'
import { MoneyUpdate, User } from '@prisma/client'
import { MoneyUpdate, Player } from '@prisma/client'
import { QueryPaginationDto } from 'src/common/dto/pagination-query.dto'
import { UserFilterDto } from 'src/common/dto/user_filter.dto'
import { PlayerFilterDto } from 'src/common/dto/player_filter.dto'
import { paginate } from 'src/common/utils/pagination.utils'
@Injectable()
export class MoneyUpdatesService {
constructor(private prisma: PrismaService) { }
async create(user: User, createMoneyUpdateDto: CreateMoneyUpdateDto): Promise<MoneyUpdate> {
async create(player: Player, createMoneyUpdateDto: CreateMoneyUpdateDto): Promise<MoneyUpdate> {
return await this.prisma.moneyUpdate.create({
data: {
...createMoneyUpdateDto,
userId: user.id,
playerId: player.id,
}
})
}
async findAll(queryPagination: QueryPaginationDto, userFilter: UserFilterDto): Promise<[MoneyUpdate[], number]> {
async findAll(queryPagination: QueryPaginationDto, playerFilter: PlayerFilterDto): Promise<[MoneyUpdate[], number]> {
return [
await this.prisma.moneyUpdate.findMany({
where: userFilter,
where: playerFilter,
...paginate(queryPagination),
}),
await this.prisma.moneyUpdate.count({
where: userFilter,
where: playerFilter,
}),
]
}