feat(FE-212): add manager approval requisition type and service with nullable notes

This commit is contained in:
rstubryan
2025-11-14 10:52:21 +07:00
parent 1ab72b8637
commit 3d49947c1e
3 changed files with 59 additions and 3 deletions
+30 -2
View File
@@ -3,6 +3,7 @@ import {
Purchase,
UpdatePurchaseRequisitionsPayload,
CreateStaffApprovalRequisitionsPayload,
CreateManagerApprovalRequisitionsPayload,
CreateAcceptApprovalRequisitionsPayload,
} from '@/types/api/purchase/purchase';
import { BaseApiService } from '@/services/api/base';
@@ -48,8 +49,6 @@ export class PurchaseRequisitionsService extends BaseApiService<
}
}
export const PurchaseRequisitionsApi = new PurchaseRequisitionsService();
export class StaffApprovalService extends BaseApiService<
Purchase,
CreateStaffApprovalRequisitionsPayload,
@@ -73,6 +72,29 @@ export class StaffApprovalService extends BaseApiService<
}
}
export class ManagerApprovalService extends BaseApiService<
Purchase,
CreateManagerApprovalRequisitionsPayload,
CreateManagerApprovalRequisitionsPayload
> {
constructor(basePath: string = '') {
super(basePath);
}
async createManagerApproval(
purchaseRequisitionId: number,
payload: CreateManagerApprovalRequisitionsPayload
): Promise<BaseApiResponse<{ message: string }> | undefined> {
return await this.customRequest<BaseApiResponse<{ message: string }>>(
`${purchaseRequisitionId}/approvals/manager`,
{
method: 'POST',
payload,
}
);
}
}
export class AcceptApprovalService extends BaseApiService<
Purchase,
CreateAcceptApprovalRequisitionsPayload,
@@ -96,10 +118,16 @@ export class AcceptApprovalService extends BaseApiService<
}
}
export const PurchaseRequisitionsApi = new PurchaseRequisitionsService();
export const StaffApprovalApi = new StaffApprovalService(
'/purchases/requisitions'
);
export const ManagerApprovalApi = new ManagerApprovalService(
'/purchases/requisitions'
);
export const AcceptApprovalApi = new AcceptApprovalService(
'/purchases/requisitions'
);