Skip to content
10 changes: 2 additions & 8 deletions apps/backend/src/donations/donations.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,6 @@ export class DonationsController {
}

@Roles(Role.FOODMANUFACTURER)
Comment thread
jiang-h-y marked this conversation as resolved.
@CheckOwnership({
idParam: 'foodManufacturerId',
idSource: 'body',
resolver: resolveCreateDonationAuthorizedUserIds,
})
@Post()
@ApiBody({
description: 'Details for creating a donation',
Expand Down Expand Up @@ -116,7 +111,6 @@ export class DonationsController {
},
},
})
@Roles(Role.FOODMANUFACTURER)
async createDonation(
@Req() req: AuthenticatedRequest,
@Body() body: CreateDonationDto,
Expand All @@ -138,7 +132,7 @@ export class DonationsController {
await this.donationService.updateDonationItemDetails(donationId, body);
}

@Roles(Role.FOODMANUFACTURER)
@Roles(Role.FOODMANUFACTURER, Role.ADMIN)
@CheckOwnership({
idParam: 'donationId',
resolver: resolveDonationAuthorizedUserIds,
Expand All @@ -152,7 +146,7 @@ export class DonationsController {
await this.donationService.editDonationItems(donationId, body);
}

@Roles(Role.FOODMANUFACTURER)
@Roles(Role.FOODMANUFACTURER, Role.ADMIN)
@CheckOwnership({
idParam: 'donationId',
resolver: resolveDonationAuthorizedUserIds,
Expand Down
14 changes: 12 additions & 2 deletions apps/frontend/src/api/apiClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@ import { NavigateFunction } from 'react-router-dom';
import { ROUTES } from '../routes';
import {
User,
Order,
FoodRequest,
FoodManufacturer,
DonationItem,
Donation,
Allocation,
CreateFoodRequestBody,
Pantry,
PantryApplicationDto,
Expand Down Expand Up @@ -45,6 +43,7 @@ import {
PendingApplication,
UpdateFoodRequestBody,
DonationReminderDto,
ReplaceDonationItemDto,
} from 'types/types';

const defaultBaseUrl =
Expand Down Expand Up @@ -453,6 +452,17 @@ export class ApiClient {
);
}

public async editDonationItems(
donationId: number,
items: ReplaceDonationItemDto[],
): Promise<void> {
await this.axiosInstance.patch(`/api/donations/${donationId}/item`, items);
}

public async deleteDonation(donationId: number): Promise<void> {
await this.axiosInstance.delete(`/api/donations/${donationId}`);
}

public async updateFoodManufacturerApplicationData(
manufacturerId: number,
data: UpdateFoodManufacturerApplicationDto,
Expand Down
Loading
Loading