summaryrefslogtreecommitdiff
path: root/src-migrate/types/tempo.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src-migrate/types/tempo.ts')
-rw-r--r--src-migrate/types/tempo.ts117
1 files changed, 117 insertions, 0 deletions
diff --git a/src-migrate/types/tempo.ts b/src-migrate/types/tempo.ts
new file mode 100644
index 00000000..d043e2d6
--- /dev/null
+++ b/src-migrate/types/tempo.ts
@@ -0,0 +1,117 @@
+import {
+ TempoSchema,
+ TempoSchemaKontakPerson,
+ TempoSchemaPengiriman,
+ TempoSchemaSupplier,
+ TempoSchemaDokumen,
+} from '~/validations/tempo';
+import { OdooApiRes } from './odoo';
+import { z } from 'zod';
+
+export type tempoProps = {
+ name: string;
+ industry_id: string;
+ street: string;
+ state: string;
+ city: string;
+ zip: string;
+ mobile: string;
+ bankName: string;
+ accountName: string;
+ accountNumber: string;
+ estimasi: string;
+ tempoDuration: string;
+ bersedia: string;
+};
+
+export type tempoPropsKontakPerson = {
+ direkturName: string;
+ direkturMobile: string;
+ direkturEmail: string;
+ purchasingName: string;
+ purchasingEmail: string;
+ financeMobile: string;
+ financeEmail: string;
+ financeName: string;
+ purchasingMobile: string;
+};
+export type tempoPropsPengiriman = {
+ PICName: string;
+ streetPengiriman: string;
+ statePengiriman: string;
+ cityPengiriman: string;
+ streetInvoice: string;
+ zip: string;
+ invoicePic: string;
+ isSameAddrees: string;
+ stateInvoice: string;
+ cityInvoice: string;
+ tukarInvoiceInput: string;
+ tukarInvoiceInputPembayaran: string;
+ dokumenPengiriman: string;
+ dokumenPengirimanInput: string;
+ dokumenPengirimanInvoice: string;
+ dokumenPengirimanInvoiceInput: string;
+};
+export type tempoPropsSupplier = {
+ supplier: string;
+ pic: string;
+ telepon: string;
+ durasiTempo: string;
+ creditLimit: string;
+};
+export type tempoPropsDokumen = {
+ dokumenNib: { name: string; format: string; base64: string };
+ dokumenNpwp: { name: string; format: string; base64: string };
+ dokumenSppkp: { name: string; format: string; base64: string };
+ dokumenAktaPerubahan: { name: string; format: string; base64: string };
+ dokumenKtpDirut: { name: string; format: string; base64: string };
+ dokumenAktaPendirian: { name: string; format: string; base64: string };
+ dokumenLaporanKeuangan: { name: string; format: string; base64: string };
+ dokumenFotoKantor: { name: string; format: string; base64: string };
+ dokumenTempatBekerja: { name: string; format: string; base64: string };
+};
+
+export type TempoApiProps = OdooApiRes<TempoProps>;
+
+export type TempoProps = z.infer<typeof TempoSchema>;
+export type TempoPropsKontakPerson = z.infer<typeof TempoSchemaKontakPerson>;
+export type TempoPropsPengiriman = z.infer<typeof TempoSchemaPengiriman>;
+export type TempoPropsSupplier = z.infer<typeof TempoSchemaSupplier>;
+export type TempoPropsDokumen = z.infer<typeof TempoSchemaDokumen>;
+
+export type TempoResApiProps = {
+ Tempo: boolean;
+ reason: 'EMAIL_USED' | 'NOT_ACTIVE' | null;
+};
+
+type ActivationResProps = {
+ activation: boolean;
+ user: TempoProps | null;
+};
+
+export type ActivationTokenProps = {
+ token: string;
+};
+
+export type ActivationTokenResApiProps = ActivationResProps & {
+ reason: 'INVALID_TOKEN' | null;
+};
+
+export type ActivationOtpProps = {
+ email: string;
+ otp: string;
+};
+
+export type ActivationOtpResApiProps = ActivationResProps & {
+ reason: 'INVALID_OTP' | null;
+};
+
+export type ActivationReqProps = {
+ email: string;
+};
+
+export type ActivationReqResApiProps = {
+ activation_request: boolean;
+ reason: 'NOT_FOUND' | 'ACTIVE' | null;
+};