Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0d21596e2b | |||
| 245827e9c6 | |||
| 4608a36df6 | |||
| cb1305aa77 | |||
| 12a9ae2493 | 
							
								
								
									
										15
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -2,9 +2,24 @@ | ||||
|  | ||||
| All notable changes to this project will be documented in this file. Dates are displayed in UTC. | ||||
|  | ||||
| #### [v1.1.2](https://git.odit.services/lfk/backend/compare/v1.1.1...v1.1.2) | ||||
|  | ||||
| - feat(groups): Resolve the total group distance on group get single (aka get org and get team) [`245827e`](https://git.odit.services/lfk/backend/commit/245827e9c659cf76183dc33ab253becc22ddf032) | ||||
| - chore(package): Formatting [`4608a36`](https://git.odit.services/lfk/backend/commit/4608a36df6b187520ca0c331b8dce615205257be) | ||||
|  | ||||
| #### [v1.1.1](https://git.odit.services/lfk/backend/compare/v1.1.0...v1.1.1) | ||||
|  | ||||
| > 19 April 2023 | ||||
|  | ||||
| - feat(donors): Resolve donations with donors via pagination [`12a9ae2`](https://git.odit.services/lfk/backend/commit/12a9ae24933117acb3ff9815a7d72abca5eea7a7) | ||||
| - 🚀Bumped version to v1.1.1 [`cb1305a`](https://git.odit.services/lfk/backend/commit/cb1305aa77c36aa9d7900f09e7413bc6d45f2c89) | ||||
|  | ||||
| #### [v1.1.0](https://git.odit.services/lfk/backend/compare/v1.0.1...v1.1.0) | ||||
|  | ||||
| > 19 April 2023 | ||||
|  | ||||
| - feat(stats): Added donation count and donor count to stats [`6f39ac4`](https://git.odit.services/lfk/backend/commit/6f39ac42dafc2a589bbb2256b0417f3e774ae174) | ||||
| - 🚀Bumped version to v1.1.0 [`b9fe9f1`](https://git.odit.services/lfk/backend/commit/b9fe9f1c24653b91255a6dbbdc32c30b1b411eeb) | ||||
| - Added average donation per distance to stats [`fe59e3a`](https://git.odit.services/lfk/backend/commit/fe59e3a557903cf555d4c50098e935c49ca1fac4) | ||||
| - Added hints [`b25b0db`](https://git.odit.services/lfk/backend/commit/b25b0db76071ef8d50cc60e950a399dc060a2a9f) | ||||
| - Added calls to controller [`6ee5328`](https://git.odit.services/lfk/backend/commit/6ee5328dbc404603d19db3a5173ae4def560a9c9) | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "@odit/lfk-backend", | ||||
|   "version": "1.1.0", | ||||
|   "version": "1.1.2", | ||||
|   "main": "src/app.ts", | ||||
|   "repository": "https://git.odit.services/lfk/backend", | ||||
|   "engines": { | ||||
|   | ||||
| @@ -52,7 +52,7 @@ export class RunnerOrganizationController { | ||||
| 	@OnUndefined(RunnerOrganizationNotFoundError) | ||||
| 	@OpenAPI({ description: 'Lists all information about the organization whose id got provided.' }) | ||||
| 	async getOne(@Param('id') id: number) { | ||||
| 		let runnerOrg = await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['contact', 'teams'] }); | ||||
| 		let runnerOrg = await this.runnerOrganizationRepository.findOne({ id: id }, { relations: ['contact', 'teams', 'runners', 'runners.scans', 'runners.scans.track'] }); | ||||
| 		if (!runnerOrg) { throw new RunnerOrganizationNotFoundError(); } | ||||
| 		return new ResponseRunnerOrganization(runnerOrg); | ||||
| 	} | ||||
|   | ||||
| @@ -50,7 +50,7 @@ export class RunnerTeamController { | ||||
| 	@OnUndefined(RunnerTeamNotFoundError) | ||||
| 	@OpenAPI({ description: 'Lists all information about the team whose id got provided.' }) | ||||
| 	async getOne(@Param('id') id: number) { | ||||
| 		let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact'] }); | ||||
| 		let runnerTeam = await this.runnerTeamRepository.findOne({ id: id }, { relations: ['parentGroup', 'contact', 'runners', 'runners.scans', 'runners.scans.track'] }); | ||||
| 		if (!runnerTeam) { throw new RunnerTeamNotFoundError(); } | ||||
| 		return new ResponseRunnerTeam(runnerTeam); | ||||
| 	} | ||||
|   | ||||
| @@ -53,7 +53,9 @@ export class ResponseDonation implements IResponse { | ||||
|      */ | ||||
|     public constructor(donation: Donation) { | ||||
|         this.id = donation.id; | ||||
|         if (donation.donor) { | ||||
|             this.donor = donation.donor.toResponse(); | ||||
|         } | ||||
|         this.amount = donation.amount; | ||||
|         this.paidAmount = donation.paidAmount || 0; | ||||
|         if (this.paidAmount < this.amount) { | ||||
|   | ||||
| @@ -4,6 +4,7 @@ import { | ||||
| import { Donor } from '../entities/Donor'; | ||||
| import { ResponseObjectType } from '../enums/ResponseObjectType'; | ||||
| import { IResponse } from './IResponse'; | ||||
| import { ResponseDonation } from './ResponseDonation'; | ||||
| import { ResponseParticipant } from './ResponseParticipant'; | ||||
|  | ||||
| /** | ||||
| @@ -34,6 +35,8 @@ export class ResponseDonor extends ResponseParticipant implements IResponse { | ||||
|     @IsInt() | ||||
|     paidDonationAmount: number; | ||||
|  | ||||
|     donations: Array<ResponseDonation>; | ||||
|  | ||||
|     /** | ||||
|      * Creates a ResponseRunner object from a runner. | ||||
|      * @param runner The user the response shall be build for. | ||||
| @@ -43,5 +46,11 @@ export class ResponseDonor extends ResponseParticipant implements IResponse { | ||||
|         this.receiptNeeded = donor.receiptNeeded; | ||||
|         this.donationAmount = donor.donationAmount; | ||||
|         this.paidDonationAmount = donor.paidDonationAmount; | ||||
|         this.donations = new Array<ResponseDonation>(); | ||||
|         if (donor.donations?.length > 0) { | ||||
|             for (const donation of donor.donations) { | ||||
|                 this.donations.push(donation.toResponse()) | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| import { IsInt, IsNotEmpty, IsObject, IsOptional, IsString } from "class-validator"; | ||||
| import { IsInt, IsNotEmpty, IsNumber, IsObject, IsOptional, IsString } from "class-validator"; | ||||
| import { RunnerGroup } from '../entities/RunnerGroup'; | ||||
| import { ResponseObjectType } from '../enums/ResponseObjectType'; | ||||
| import { IResponse } from './IResponse'; | ||||
| @@ -36,6 +36,10 @@ export abstract class ResponseRunnerGroup implements IResponse { | ||||
|     @IsOptional() | ||||
|     contact?: ResponseGroupContact; | ||||
|  | ||||
|     @IsOptional() | ||||
|     @IsNumber() | ||||
|     total_distance: number | ||||
|  | ||||
|     /** | ||||
|      * Creates a ResponseRunnerGroup object from a runnerGroup. | ||||
|      * @param group The runnerGroup the response shall be build for. | ||||
| @@ -44,5 +48,7 @@ export abstract class ResponseRunnerGroup implements IResponse { | ||||
|         this.id = group.id; | ||||
|         this.name = group.name; | ||||
|         if (group.contact) { this.contact = group.contact.toResponse(); }; | ||||
|         console.log(group.runners) | ||||
|         if (group.runners) { this.total_distance = group.runners.reduce((p, c) => p + c.distance, 0) } | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user