mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
feat(FE-212): rename purchasing files and update validation schemas for purchase requests
This commit is contained in:
+8
-64
@@ -1,7 +1,7 @@
|
||||
import * as Yup from 'yup';
|
||||
import { CreatePurchaseRequestPayload } from '@/types/api/purchasing/purchasing';
|
||||
import { Supplier } from '@/types/api/master-data/supplier';
|
||||
import { Warehouse } from '@/types/api/master-data/warehouse';
|
||||
import { CreatePurchaseRequestPayload } from '@/types/api/purchase/purchase';
|
||||
|
||||
export const PurchaseRequestFormSchema = Yup.object({
|
||||
supplier: Yup.object({
|
||||
@@ -33,7 +33,7 @@ export const PurchaseRequestFormSchema = Yup.object({
|
||||
.required('Warehouse wajib diisi!'),
|
||||
credit_term: Yup.number()
|
||||
.required('Termin kredit wajib diisi!')
|
||||
.min(0, 'Termin kredit tidak boleh negatif!')
|
||||
.min(1, 'Termin kredit tidak boleh negatif!')
|
||||
.typeError('Termin kredit harus berupa angka!'),
|
||||
notes: Yup.string().optional().nullable(),
|
||||
purchase_items: Yup.array()
|
||||
@@ -44,16 +44,16 @@ export const PurchaseRequestFormSchema = Yup.object({
|
||||
.min(1, 'Produk wajib diisi!')
|
||||
.typeError('Produk harus berupa angka!'),
|
||||
product_warehouse_id: Yup.number()
|
||||
.optional()
|
||||
.nullable()
|
||||
.required('Product warehouse wajib diisi!')
|
||||
.min(1, 'Product warehouse wajib diisi!')
|
||||
.typeError('Product warehouse harus berupa angka!'),
|
||||
total_qty: Yup.number()
|
||||
.required('Jumlah total wajib diisi!')
|
||||
.min(0, 'Jumlah total tidak boleh negatif!')
|
||||
.min(1, 'Jumlah total tidak boleh negatif!')
|
||||
.typeError('Jumlah total harus berupa angka!'),
|
||||
price: Yup.number()
|
||||
.required('Harga wajib diisi!')
|
||||
.min(0, 'Harga tidak boleh negatif!')
|
||||
.min(1, 'Harga tidak boleh negatif!')
|
||||
.typeError('Harga harus berupa angka!'),
|
||||
})
|
||||
)
|
||||
@@ -61,63 +61,7 @@ export const PurchaseRequestFormSchema = Yup.object({
|
||||
.required('Item pembelian wajib diisi!'),
|
||||
});
|
||||
|
||||
export const UpdatePurchaseRequestFormSchema = Yup.object({
|
||||
supplier: Yup.object({
|
||||
value: Yup.number().min(1).required(),
|
||||
label: Yup.string().required(),
|
||||
}).nullable(),
|
||||
supplier_id: Yup.number()
|
||||
.default(0)
|
||||
.typeError('Supplier wajib diisi!')
|
||||
.test(
|
||||
'is-valid-supplier',
|
||||
'Supplier wajib diisi!',
|
||||
(value) => value !== undefined && value !== null && value > 0
|
||||
)
|
||||
.required('Supplier wajib diisi!'),
|
||||
warehouse: Yup.array()
|
||||
.of(
|
||||
Yup.object({
|
||||
value: Yup.number().min(1).required(),
|
||||
label: Yup.string().required(),
|
||||
})
|
||||
)
|
||||
.min(1, 'Minimal harus ada 1 warehouse!')
|
||||
.required('Warehouse wajib diisi!')
|
||||
.nullable(),
|
||||
warehouse_ids: Yup.array()
|
||||
.of(Yup.number().min(1))
|
||||
.min(1, 'Minimal harus ada 1 warehouse!')
|
||||
.required('Warehouse wajib diisi!'),
|
||||
credit_term: Yup.number()
|
||||
.required('Termin kredit wajib diisi!')
|
||||
.min(0, 'Termin kredit tidak boleh negatif!')
|
||||
.typeError('Termin kredit harus berupa angka!'),
|
||||
notes: Yup.string().optional().nullable(),
|
||||
purchase_items: Yup.array()
|
||||
.of(
|
||||
Yup.object({
|
||||
product_id: Yup.number()
|
||||
.required('Produk wajib diisi!')
|
||||
.min(1, 'Produk wajib diisi!')
|
||||
.typeError('Produk harus berupa angka!'),
|
||||
product_warehouse_id: Yup.number()
|
||||
.optional()
|
||||
.nullable()
|
||||
.typeError('Product warehouse harus berupa angka!'),
|
||||
total_qty: Yup.number()
|
||||
.required('Jumlah total wajib diisi!')
|
||||
.min(0, 'Jumlah total tidak boleh negatif!')
|
||||
.typeError('Jumlah total harus berupa angka!'),
|
||||
price: Yup.number()
|
||||
.required('Harga wajib diisi!')
|
||||
.min(0, 'Harga tidak boleh negatif!')
|
||||
.typeError('Harga harus berupa angka!'),
|
||||
})
|
||||
)
|
||||
.min(1, 'Minimal harus ada 1 item pembelian!')
|
||||
.required('Item pembelian wajib diisi!'),
|
||||
});
|
||||
export const UpdatePurchaseRequestFormSchema = PurchaseRequestFormSchema;
|
||||
|
||||
export type PurchaseRequestFormValues = Yup.InferType<
|
||||
typeof PurchaseRequestFormSchema
|
||||
@@ -157,7 +101,7 @@ export const getPurchaseRequestFormInitialValues = (
|
||||
) ?? [
|
||||
{
|
||||
product_id: 0,
|
||||
product_warehouse_id: null,
|
||||
product_warehouse_id: 0,
|
||||
total_qty: 0,
|
||||
price: 0,
|
||||
},
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
CreatePurchasePayload,
|
||||
Purchase,
|
||||
UpdatePurchasePayload,
|
||||
} from '@/types/api/purchasing/purchasing';
|
||||
} from '@/types/api/purchase/purchasing';
|
||||
|
||||
export const PurchaseApi = new BaseApiService<
|
||||
Purchase,
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ export type CreatePurchaseRequestPayload = {
|
||||
notes?: string | null;
|
||||
purchase_items: {
|
||||
product_id: number;
|
||||
product_warehouse_id?: number | null;
|
||||
product_warehouse_id: number;
|
||||
total_qty: number;
|
||||
price: number;
|
||||
}[];
|
||||
Reference in New Issue
Block a user