Compare commits
No commits in common. "f4bf309821c140f2bc0ae8b6d96c7458fcc80978" and "9875b4f3926e04b502e7af64c17f54fd3c1d8e3e" have entirely different histories.
f4bf309821
...
9875b4f392
@ -12,7 +12,6 @@ import { UpdateFixedDonation } from '../models/actions/update/UpdateFixedDonatio
|
|||||||
import { DistanceDonation } from '../models/entities/DistanceDonation';
|
import { DistanceDonation } from '../models/entities/DistanceDonation';
|
||||||
import { Donation } from '../models/entities/Donation';
|
import { Donation } from '../models/entities/Donation';
|
||||||
import { FixedDonation } from '../models/entities/FixedDonation';
|
import { FixedDonation } from '../models/entities/FixedDonation';
|
||||||
import { ResponseAnonymousDonation } from '../models/responses/ResponseAnonymousDonation';
|
|
||||||
import { ResponseDistanceDonation } from '../models/responses/ResponseDistanceDonation';
|
import { ResponseDistanceDonation } from '../models/responses/ResponseDistanceDonation';
|
||||||
import { ResponseDonation } from '../models/responses/ResponseDonation';
|
import { ResponseDonation } from '../models/responses/ResponseDonation';
|
||||||
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
|
import { ResponseEmpty } from '../models/responses/ResponseEmpty';
|
||||||
@ -37,7 +36,6 @@ export class DonationController {
|
|||||||
@Authorized("DONATION:GET")
|
@Authorized("DONATION:GET")
|
||||||
@ResponseSchema(ResponseDonation, { isArray: true })
|
@ResponseSchema(ResponseDonation, { isArray: true })
|
||||||
@ResponseSchema(ResponseDistanceDonation, { isArray: true })
|
@ResponseSchema(ResponseDistanceDonation, { isArray: true })
|
||||||
@ResponseSchema(ResponseAnonymousDonation, { isArray: true })
|
|
||||||
@OpenAPI({ description: 'Lists all donations (fixed or distance based) from all donors. <br> This includes the donations\'s runner\'s distance ran(if distance donation).' })
|
@OpenAPI({ description: 'Lists all donations (fixed or distance based) from all donors. <br> This includes the donations\'s runner\'s distance ran(if distance donation).' })
|
||||||
async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
|
async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
|
||||||
let responseDonations: ResponseDonation[] = new Array<ResponseDonation>();
|
let responseDonations: ResponseDonation[] = new Array<ResponseDonation>();
|
||||||
@ -59,7 +57,6 @@ export class DonationController {
|
|||||||
@Authorized("DONATION:GET")
|
@Authorized("DONATION:GET")
|
||||||
@ResponseSchema(ResponseDonation)
|
@ResponseSchema(ResponseDonation)
|
||||||
@ResponseSchema(ResponseDistanceDonation)
|
@ResponseSchema(ResponseDistanceDonation)
|
||||||
@ResponseSchema(ResponseAnonymousDonation)
|
|
||||||
@ResponseSchema(DonationNotFoundError, { statusCode: 404 })
|
@ResponseSchema(DonationNotFoundError, { statusCode: 404 })
|
||||||
@OnUndefined(DonationNotFoundError)
|
@OnUndefined(DonationNotFoundError)
|
||||||
@OpenAPI({ description: 'Lists all information about the donation whose id got provided. This includes the donation\'s runner\'s distance ran (if distance donation).' })
|
@OpenAPI({ description: 'Lists all information about the donation whose id got provided. This includes the donation\'s runner\'s distance ran (if distance donation).' })
|
||||||
|
@ -22,7 +22,7 @@ export class CreateAnonymousDonation extends CreateDonation {
|
|||||||
let newDonation = new FixedDonation;
|
let newDonation = new FixedDonation;
|
||||||
|
|
||||||
newDonation.amount = this.amount;
|
newDonation.amount = this.amount;
|
||||||
newDonation.paidAmount = this.amount;
|
newDonation.paidAmount = this.paidAmount;
|
||||||
|
|
||||||
return newDonation;
|
return newDonation;
|
||||||
}
|
}
|
||||||
|
@ -18,12 +18,6 @@ export class CreateDistanceDonation extends CreateDonation {
|
|||||||
@IsPositive()
|
@IsPositive()
|
||||||
donor: number;
|
donor: number;
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's paid amount in the smalles unit of your currency (default: euro cent).
|
|
||||||
*/
|
|
||||||
@IsInt()
|
|
||||||
paidAmount?: number;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The donation's associated runner's id.
|
* The donation's associated runner's id.
|
||||||
* This is important to link the runner's distance ran to the donation.
|
* This is important to link the runner's distance ran to the donation.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Exclude } from 'class-transformer';
|
import { IsInt, IsOptional, IsPositive } from 'class-validator';
|
||||||
import { getConnection } from 'typeorm';
|
import { getConnection } from 'typeorm';
|
||||||
import { Donation } from '../../entities/Donation';
|
import { Donation } from '../../entities/Donation';
|
||||||
import { Donor } from '../../entities/Donor';
|
import { Donor } from '../../entities/Donor';
|
||||||
@ -7,10 +7,20 @@ import { Donor } from '../../entities/Donor';
|
|||||||
* This class is used to create a new Donation entity from a json body (post request).
|
* This class is used to create a new Donation entity from a json body (post request).
|
||||||
*/
|
*/
|
||||||
export abstract class CreateDonation {
|
export abstract class CreateDonation {
|
||||||
@Exclude()
|
/**
|
||||||
|
* The donation's associated donor's id.
|
||||||
|
* This is important to link donations to donors.
|
||||||
|
*/
|
||||||
|
@IsInt()
|
||||||
|
@IsPositive()
|
||||||
|
@IsOptional()
|
||||||
donor: number;
|
donor: number;
|
||||||
|
|
||||||
@Exclude()
|
/**
|
||||||
|
* The donation's paid amount in the smalles unit of your currency (default: euro cent).
|
||||||
|
*/
|
||||||
|
@IsInt()
|
||||||
|
@IsOptional()
|
||||||
paidAmount?: number;
|
paidAmount?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,12 +15,6 @@ export class CreateFixedDonation extends CreateDonation {
|
|||||||
@IsPositive()
|
@IsPositive()
|
||||||
donor: number;
|
donor: number;
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's paid amount in the smalles unit of your currency (default: euro cent).
|
|
||||||
*/
|
|
||||||
@IsInt()
|
|
||||||
paidAmount?: number;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The donation's amount.
|
* The donation's amount.
|
||||||
* The unit is your currency's smallest unit (default: euro cent).
|
* The unit is your currency's smallest unit (default: euro cent).
|
||||||
|
@ -1,58 +0,0 @@
|
|||||||
import { IsInt, IsPositive } from "class-validator";
|
|
||||||
import { Donation } from '../entities/Donation';
|
|
||||||
import { DonationStatus } from '../enums/DonationStatus';
|
|
||||||
import { ResponseObjectType } from '../enums/ResponseObjectType';
|
|
||||||
import { IResponse } from './IResponse';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Defines the donation response.
|
|
||||||
*/
|
|
||||||
export class ResponseAnonymousDonation implements IResponse {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The responseType.
|
|
||||||
* This contains the type of class/entity this response contains.
|
|
||||||
*/
|
|
||||||
responseType: ResponseObjectType = ResponseObjectType.DONATION;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's payment status.
|
|
||||||
* Provides you with a quick indicator of it's payment status.
|
|
||||||
*/
|
|
||||||
status: DonationStatus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's id.
|
|
||||||
*/
|
|
||||||
@IsInt()
|
|
||||||
@IsPositive()
|
|
||||||
id: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's amount in the smalles unit of your currency (default: euro cent).
|
|
||||||
*/
|
|
||||||
@IsInt()
|
|
||||||
amount: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The donation's paid amount in the smalles unit of your currency (default: euro cent).
|
|
||||||
*/
|
|
||||||
@IsInt()
|
|
||||||
paidAmount: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a ResponseDonation object from a scan.
|
|
||||||
* @param donation The donation the response shall be build for.
|
|
||||||
*/
|
|
||||||
public constructor(donation: Donation) {
|
|
||||||
this.id = donation.id;
|
|
||||||
this.amount = donation.amount;
|
|
||||||
this.paidAmount = donation.paidAmount || 0;
|
|
||||||
if (this.paidAmount < this.amount) {
|
|
||||||
this.status = DonationStatus.OPEN;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.status = DonationStatus.PAID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user