mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-25 15:55:48 +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 * as Yup from 'yup';
|
||||||
import { CreatePurchaseRequestPayload } from '@/types/api/purchasing/purchasing';
|
|
||||||
import { Supplier } from '@/types/api/master-data/supplier';
|
import { Supplier } from '@/types/api/master-data/supplier';
|
||||||
import { Warehouse } from '@/types/api/master-data/warehouse';
|
import { Warehouse } from '@/types/api/master-data/warehouse';
|
||||||
|
import { CreatePurchaseRequestPayload } from '@/types/api/purchase/purchase';
|
||||||
|
|
||||||
export const PurchaseRequestFormSchema = Yup.object({
|
export const PurchaseRequestFormSchema = Yup.object({
|
||||||
supplier: Yup.object({
|
supplier: Yup.object({
|
||||||
@@ -33,7 +33,7 @@ export const PurchaseRequestFormSchema = Yup.object({
|
|||||||
.required('Warehouse wajib diisi!'),
|
.required('Warehouse wajib diisi!'),
|
||||||
credit_term: Yup.number()
|
credit_term: Yup.number()
|
||||||
.required('Termin kredit wajib diisi!')
|
.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!'),
|
.typeError('Termin kredit harus berupa angka!'),
|
||||||
notes: Yup.string().optional().nullable(),
|
notes: Yup.string().optional().nullable(),
|
||||||
purchase_items: Yup.array()
|
purchase_items: Yup.array()
|
||||||
@@ -44,16 +44,16 @@ export const PurchaseRequestFormSchema = Yup.object({
|
|||||||
.min(1, 'Produk wajib diisi!')
|
.min(1, 'Produk wajib diisi!')
|
||||||
.typeError('Produk harus berupa angka!'),
|
.typeError('Produk harus berupa angka!'),
|
||||||
product_warehouse_id: Yup.number()
|
product_warehouse_id: Yup.number()
|
||||||
.optional()
|
.required('Product warehouse wajib diisi!')
|
||||||
.nullable()
|
.min(1, 'Product warehouse wajib diisi!')
|
||||||
.typeError('Product warehouse harus berupa angka!'),
|
.typeError('Product warehouse harus berupa angka!'),
|
||||||
total_qty: Yup.number()
|
total_qty: Yup.number()
|
||||||
.required('Jumlah total wajib diisi!')
|
.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!'),
|
.typeError('Jumlah total harus berupa angka!'),
|
||||||
price: Yup.number()
|
price: Yup.number()
|
||||||
.required('Harga wajib diisi!')
|
.required('Harga wajib diisi!')
|
||||||
.min(0, 'Harga tidak boleh negatif!')
|
.min(1, 'Harga tidak boleh negatif!')
|
||||||
.typeError('Harga harus berupa angka!'),
|
.typeError('Harga harus berupa angka!'),
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -61,63 +61,7 @@ export const PurchaseRequestFormSchema = Yup.object({
|
|||||||
.required('Item pembelian wajib diisi!'),
|
.required('Item pembelian wajib diisi!'),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const UpdatePurchaseRequestFormSchema = Yup.object({
|
export const UpdatePurchaseRequestFormSchema = PurchaseRequestFormSchema;
|
||||||
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 type PurchaseRequestFormValues = Yup.InferType<
|
export type PurchaseRequestFormValues = Yup.InferType<
|
||||||
typeof PurchaseRequestFormSchema
|
typeof PurchaseRequestFormSchema
|
||||||
@@ -157,7 +101,7 @@ export const getPurchaseRequestFormInitialValues = (
|
|||||||
) ?? [
|
) ?? [
|
||||||
{
|
{
|
||||||
product_id: 0,
|
product_id: 0,
|
||||||
product_warehouse_id: null,
|
product_warehouse_id: 0,
|
||||||
total_qty: 0,
|
total_qty: 0,
|
||||||
price: 0,
|
price: 0,
|
||||||
},
|
},
|
||||||
@@ -3,7 +3,7 @@ import {
|
|||||||
CreatePurchasePayload,
|
CreatePurchasePayload,
|
||||||
Purchase,
|
Purchase,
|
||||||
UpdatePurchasePayload,
|
UpdatePurchasePayload,
|
||||||
} from '@/types/api/purchasing/purchasing';
|
} from '@/types/api/purchase/purchasing';
|
||||||
|
|
||||||
export const PurchaseApi = new BaseApiService<
|
export const PurchaseApi = new BaseApiService<
|
||||||
Purchase,
|
Purchase,
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ export type CreatePurchaseRequestPayload = {
|
|||||||
notes?: string | null;
|
notes?: string | null;
|
||||||
purchase_items: {
|
purchase_items: {
|
||||||
product_id: number;
|
product_id: number;
|
||||||
product_warehouse_id?: number | null;
|
product_warehouse_id: number;
|
||||||
total_qty: number;
|
total_qty: number;
|
||||||
price: number;
|
price: number;
|
||||||
}[];
|
}[];
|
||||||
Reference in New Issue
Block a user