mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
refactor(FE-212): add updateStaffApproval method and enhance PurchaseStaffApprovalItem schema with optional purchase_item_id
This commit is contained in:
@@ -4,6 +4,7 @@ import { Purchase } from '@/types/api/purchase/purchase';
|
|||||||
type PurchaseRequestStaffApprovalFormSchemaType = {
|
type PurchaseRequestStaffApprovalFormSchemaType = {
|
||||||
notes: string | null;
|
notes: string | null;
|
||||||
items: {
|
items: {
|
||||||
|
purchase_item_id?: number;
|
||||||
product_id: number;
|
product_id: number;
|
||||||
warehouse_id: number;
|
warehouse_id: number;
|
||||||
qty: number;
|
qty: number;
|
||||||
@@ -45,6 +46,7 @@ type PurchaseRequestAcceptApprovalFormSchemaType = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export type PurchaseStaffApprovalItemSchema = {
|
export type PurchaseStaffApprovalItemSchema = {
|
||||||
|
purchase_item_id?: number;
|
||||||
product_id: number;
|
product_id: number;
|
||||||
warehouse_id: number;
|
warehouse_id: number;
|
||||||
qty: number;
|
qty: number;
|
||||||
@@ -83,6 +85,10 @@ export type PurchaseDeleteItemsSchema = {
|
|||||||
|
|
||||||
const PurchaseStaffApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseStaffApprovalItemSchema> =
|
const PurchaseStaffApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseStaffApprovalItemSchema> =
|
||||||
Yup.object({
|
Yup.object({
|
||||||
|
purchase_item_id: Yup.number()
|
||||||
|
.optional()
|
||||||
|
.min(1, 'Purchase item ID tidak valid!')
|
||||||
|
.typeError('Purchase item ID harus berupa angka!'),
|
||||||
product_id: Yup.number()
|
product_id: Yup.number()
|
||||||
.required('Produk wajib diisi!')
|
.required('Produk wajib diisi!')
|
||||||
.min(1, 'Produk wajib diisi!')
|
.min(1, 'Produk wajib diisi!')
|
||||||
@@ -281,6 +287,7 @@ export const PurchaseRequestStaffApprovalFormDefaultValues = (
|
|||||||
notes: purchase?.notes ?? null,
|
notes: purchase?.notes ?? null,
|
||||||
items: purchase?.items
|
items: purchase?.items
|
||||||
? purchase.items.map((item) => ({
|
? purchase.items.map((item) => ({
|
||||||
|
purchase_item_id: item.id,
|
||||||
product_id: item.product_id,
|
product_id: item.product_id,
|
||||||
warehouse_id: item.warehouse.id,
|
warehouse_id: item.warehouse.id,
|
||||||
qty: item.qty,
|
qty: item.qty,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import {
|
|||||||
Purchase,
|
Purchase,
|
||||||
UpdatePurchaseRequestPayload,
|
UpdatePurchaseRequestPayload,
|
||||||
CreateStaffApprovalRequestPayload,
|
CreateStaffApprovalRequestPayload,
|
||||||
|
UpdateStaffApprovalRequestPayload,
|
||||||
CreateManagerApprovalRequestPayload,
|
CreateManagerApprovalRequestPayload,
|
||||||
CreateAcceptApprovalRequestPayload,
|
CreateAcceptApprovalRequestPayload,
|
||||||
DeletePurchaseRequestItemPayload,
|
DeletePurchaseRequestItemPayload,
|
||||||
@@ -19,7 +20,7 @@ export const PurchaseRequestApi = new BaseApiService<
|
|||||||
export class StaffApprovalService extends BaseApiService<
|
export class StaffApprovalService extends BaseApiService<
|
||||||
Purchase,
|
Purchase,
|
||||||
CreateStaffApprovalRequestPayload,
|
CreateStaffApprovalRequestPayload,
|
||||||
unknown
|
UpdateStaffApprovalRequestPayload
|
||||||
> {
|
> {
|
||||||
constructor(basePath: string = '') {
|
constructor(basePath: string = '') {
|
||||||
super(basePath);
|
super(basePath);
|
||||||
@@ -37,6 +38,19 @@ export class StaffApprovalService extends BaseApiService<
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async updateStaffApproval(
|
||||||
|
purchaseRequestId: number,
|
||||||
|
payload: UpdateStaffApprovalRequestPayload
|
||||||
|
): Promise<BaseApiResponse<{ message: string }> | undefined> {
|
||||||
|
return await this.customRequest<BaseApiResponse<{ message: string }>>(
|
||||||
|
`${purchaseRequestId}/approvals/staff`,
|
||||||
|
{
|
||||||
|
method: 'POST',
|
||||||
|
payload,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ManagerApprovalService extends BaseApiService<
|
export class ManagerApprovalService extends BaseApiService<
|
||||||
|
|||||||
Reference in New Issue
Block a user