parent
57f62a6087
commit
97ecc83fe4
@ -1,9 +1,12 @@
|
||||
import { Authorized, Delete, Get, JsonController, OnUndefined, Param, QueryParam } from 'routing-controllers';
|
||||
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, QueryParam } from 'routing-controllers';
|
||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
|
||||
import { getConnectionManager, Repository } from 'typeorm';
|
||||
import { DonationNotFoundError } from '../errors/DonationErrors';
|
||||
import { DonorNotFoundError } from '../errors/DonorErrors';
|
||||
import { CreateFixedDonation } from '../models/actions/create/CreateFixedDonation';
|
||||
import { DistanceDonation } from '../models/entities/DistanceDonation';
|
||||
import { Donation } from '../models/entities/Donation';
|
||||
import { FixedDonation } from '../models/entities/FixedDonation';
|
||||
import { ResponseDistanceDonation } from '../models/responses/ResponseDistanceDonation';
|
||||
import { ResponseDonation } from '../models/responses/ResponseDonation';
|
||||
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
|
||||
@ -13,6 +16,7 @@ import { ResponseEmpty } from '../models/responses/ResponseEmpty';
|
||||
export class DonationController {
|
||||
private donationRepository: Repository<Donation>;
|
||||
private distanceDonationRepository: Repository<DistanceDonation>;
|
||||
private fixedDonationRepository: Repository<FixedDonation>;
|
||||
|
||||
/**
|
||||
* Gets the repository of this controller's model/entity.
|
||||
@ -20,6 +24,7 @@ export class DonationController {
|
||||
constructor() {
|
||||
this.donationRepository = getConnectionManager().get().getRepository(Donation);
|
||||
this.distanceDonationRepository = getConnectionManager().get().getRepository(DistanceDonation);
|
||||
this.fixedDonationRepository = getConnectionManager().get().getRepository(FixedDonation);
|
||||
}
|
||||
|
||||
@Get()
|
||||
@ -49,16 +54,16 @@ export class DonationController {
|
||||
return donation.toResponse();
|
||||
}
|
||||
|
||||
// @Post()
|
||||
// @UseBefore(ScanAuth)
|
||||
// @ResponseSchema(ResponseScan)
|
||||
// @ResponseSchema(RunnerNotFoundError, { statusCode: 404 })
|
||||
// @OpenAPI({ description: 'Create a new scan (not track scan - use /scans/trackscans instead). <br> Please rmemember to provide the scan\'s runner\'s id and distance.', security: [{ "ScanApiToken": [] }, { "AuthToken": [] }, { "RefreshTokenCookie": [] }] })
|
||||
// async post(@Body({ validate: true }) createScan: CreateScan) {
|
||||
// let scan = await createScan.toEntity();
|
||||
// scan = await this.scanRepository.save(scan);
|
||||
// return (await this.scanRepository.findOne({ id: scan.id }, { relations: ['runner', 'track', 'runner.scans', 'runner.scans.track', 'card', 'station'] })).toResponse();
|
||||
// }
|
||||
@Post('/fixed')
|
||||
@Authorized("DONATION:CREATE")
|
||||
@ResponseSchema(ResponseDonation)
|
||||
@ResponseSchema(DonorNotFoundError, { statusCode: 404 })
|
||||
@OpenAPI({ description: 'Create a fixed donation (not distance donation - use /donations/distance instead). <br> Please rmemember to provide the donation\'s donors\'s id and amount.' })
|
||||
async postFixed(@Body({ validate: true }) createDonation: CreateFixedDonation) {
|
||||
let donation = await createDonation.toEntity();
|
||||
donation = await this.fixedDonationRepository.save(donation);
|
||||
return (await this.donationRepository.findOne({ id: donation.id }, { relations: ['donor'] })).toResponse();
|
||||
}
|
||||
|
||||
// @Post("/trackscans")
|
||||
// @UseBefore(ScanAuth)
|
||||
|
Loading…
x
Reference in New Issue
Block a user