From ce6cdee06228fff305b8684d27c594c4636d87cc Mon Sep 17 00:00:00 2001 From: acazares Date: Tue, 9 Dec 2025 09:03:33 -0600 Subject: [PATCH] feat(api): add CRUD operations for various general catalogs including concepts, customs broker concepts, DODA, electronic notices, equivalencies, error catalogs, exchange rates, identifiers, INPC, legends, multi-currency types, packages, ports, prevalidators, seals, signatures, unit conversions, and units of measure. --- .../classification-concepts.ts | 0 .../a76/{ => general_catalogs}/company.ts | 0 .../a76/{ => general_catalogs}/concepts.ts | 0 .../customs-broker-concepts.ts | 0 .../a76/{ => general_catalogs}/doda.ts | 0 .../electronic-notices.ts | 0 .../{ => general_catalogs}/equivalencies.ts | 0 .../{ => general_catalogs}/error-catalogs.ts | 0 .../{ => general_catalogs}/exchange-rate.ts | 0 .../a76/{ => general_catalogs}/identifiers.ts | 0 .../a76/{ => general_catalogs}/inpc.ts | 0 .../a76/{ => general_catalogs}/legends.ts | 0 .../multi-currency-types.ts | 0 .../a76/{ => general_catalogs}/packages.ts | 0 .../a76/{ => general_catalogs}/ports.ts | 0 .../{ => general_catalogs}/prevalidators.ts | 0 .../a76/{ => general_catalogs}/seal.ts | 0 .../a76/{ => general_catalogs}/signatures.ts | 0 .../unit-conversions.ts | 0 .../units-of-measure.ts | 0 frontend/src/lib/api/dashboard/a76/index.ts | 30 +++--- .../src/lib/api/dashboard/public/countries.ts | 95 ------------------- .../components/dashboard/company/columns.ts | 2 +- .../company/create-edit-dialog.svelte | 2 +- .../company/data-table-actions.svelte | 2 +- .../dashboard/exchange-rate/columns.ts | 2 +- .../exchange-rate/create-edit-dialog.svelte | 4 +- .../exchange-rate/data-table-actions.svelte | 4 +- .../dashboard/identifiers/columns.ts | 2 +- .../identifiers/create-edit-dialog.svelte | 2 +- .../identifiers/data-table-actions.svelte | 2 +- .../components/dashboard/packages/columns.ts | 2 +- .../packages/create-edit-dialog.svelte | 2 +- .../packages/data-table-actions.svelte | 2 +- .../lib/components/dashboard/ports/columns.ts | 2 +- .../dashboard/ports/create-edit-dialog.svelte | 2 +- .../dashboard/ports/data-table-actions.svelte | 2 +- .../lib/components/dashboard/seal/columns.ts | 2 +- .../dashboard/seal/create-edit-dialog.svelte | 4 +- .../dashboard/seal/data-table-actions.svelte | 4 +- .../dashboard/units_of_measure/ace/columns.ts | 2 +- .../ace/create-edit-dialog.svelte | 2 +- .../ace/data-table-actions.svelte | 2 +- .../units_of_measure/american/columns.ts | 2 +- .../american/create-edit-dialog.svelte | 2 +- .../american/data-table-actions.svelte | 2 +- .../dashboard/units_of_measure/oma/columns.ts | 2 +- .../oma/create-edit-dialog.svelte | 2 +- .../oma/data-table-actions.svelte | 2 +- .../exchange-rate/+page.svelte | 4 +- .../general_catalogs/seal/+page.svelte | 4 +- 51 files changed, 50 insertions(+), 145 deletions(-) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/classification-concepts.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/company.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/concepts.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/customs-broker-concepts.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/doda.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/electronic-notices.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/equivalencies.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/error-catalogs.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/exchange-rate.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/identifiers.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/inpc.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/legends.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/multi-currency-types.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/packages.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/ports.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/prevalidators.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/seal.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/signatures.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/unit-conversions.ts (100%) rename frontend/src/lib/api/dashboard/a76/{ => general_catalogs}/units-of-measure.ts (100%) delete mode 100644 frontend/src/lib/api/dashboard/public/countries.ts diff --git a/frontend/src/lib/api/dashboard/a76/classification-concepts.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/classification-concepts.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/classification-concepts.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/classification-concepts.ts diff --git a/frontend/src/lib/api/dashboard/a76/company.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/company.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/company.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/company.ts diff --git a/frontend/src/lib/api/dashboard/a76/concepts.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/concepts.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/concepts.ts diff --git a/frontend/src/lib/api/dashboard/a76/customs-broker-concepts.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/customs-broker-concepts.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/customs-broker-concepts.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/customs-broker-concepts.ts diff --git a/frontend/src/lib/api/dashboard/a76/doda.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/doda.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/doda.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/doda.ts diff --git a/frontend/src/lib/api/dashboard/a76/electronic-notices.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/electronic-notices.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/electronic-notices.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/electronic-notices.ts diff --git a/frontend/src/lib/api/dashboard/a76/equivalencies.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/equivalencies.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/equivalencies.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/equivalencies.ts diff --git a/frontend/src/lib/api/dashboard/a76/error-catalogs.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/error-catalogs.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/error-catalogs.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/error-catalogs.ts diff --git a/frontend/src/lib/api/dashboard/a76/exchange-rate.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/exchange-rate.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/exchange-rate.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/exchange-rate.ts diff --git a/frontend/src/lib/api/dashboard/a76/identifiers.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/identifiers.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/identifiers.ts diff --git a/frontend/src/lib/api/dashboard/a76/inpc.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/inpc.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/inpc.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/inpc.ts diff --git a/frontend/src/lib/api/dashboard/a76/legends.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/legends.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/legends.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/legends.ts diff --git a/frontend/src/lib/api/dashboard/a76/multi-currency-types.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/multi-currency-types.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/multi-currency-types.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/multi-currency-types.ts diff --git a/frontend/src/lib/api/dashboard/a76/packages.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/packages.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/packages.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/packages.ts diff --git a/frontend/src/lib/api/dashboard/a76/ports.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/ports.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/ports.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/ports.ts diff --git a/frontend/src/lib/api/dashboard/a76/prevalidators.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/prevalidators.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/prevalidators.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/prevalidators.ts diff --git a/frontend/src/lib/api/dashboard/a76/seal.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/seal.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/seal.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/seal.ts diff --git a/frontend/src/lib/api/dashboard/a76/signatures.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/signatures.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/signatures.ts diff --git a/frontend/src/lib/api/dashboard/a76/unit-conversions.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/unit-conversions.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/unit-conversions.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/unit-conversions.ts diff --git a/frontend/src/lib/api/dashboard/a76/units-of-measure.ts b/frontend/src/lib/api/dashboard/a76/general_catalogs/units-of-measure.ts similarity index 100% rename from frontend/src/lib/api/dashboard/a76/units-of-measure.ts rename to frontend/src/lib/api/dashboard/a76/general_catalogs/units-of-measure.ts diff --git a/frontend/src/lib/api/dashboard/a76/index.ts b/frontend/src/lib/api/dashboard/a76/index.ts index 5b539085..5bc4da02 100644 --- a/frontend/src/lib/api/dashboard/a76/index.ts +++ b/frontend/src/lib/api/dashboard/a76/index.ts @@ -2,18 +2,18 @@ * Exportaciones de APIs para módulo A76 */ export * from './classes'; -export * from './packages'; -export * from './exchange-rate'; -export * from './concepts'; -export * from './customs-broker-concepts'; -export * from './classification-concepts'; -export * from './unit-conversions'; -export * from './equivalencies'; -export * from './multi-currency-types'; -export * from './inpc'; -export * from './legends'; -export * from './signatures'; -export * from './error-catalogs'; -export * from './doda'; -export * from './prevalidators'; -export * from './electronic-notices'; +export * from './general_catalogs/packages'; +export * from './general_catalogs/exchange-rate'; +export * from './general_catalogs/concepts'; +export * from './general_catalogs/customs-broker-concepts'; +export * from './general_catalogs/classification-concepts'; +export * from './general_catalogs/unit-conversions'; +export * from './general_catalogs/equivalencies'; +export * from './general_catalogs/multi-currency-types'; +export * from './general_catalogs/inpc'; +export * from './general_catalogs/legends'; +export * from './general_catalogs/signatures'; +export * from './general_catalogs/error-catalogs'; +export * from './general_catalogs/doda'; +export * from './general_catalogs/prevalidators'; +export * from './general_catalogs/electronic-notices'; diff --git a/frontend/src/lib/api/dashboard/public/countries.ts b/frontend/src/lib/api/dashboard/public/countries.ts deleted file mode 100644 index df2c61ea..00000000 --- a/frontend/src/lib/api/dashboard/public/countries.ts +++ /dev/null @@ -1,95 +0,0 @@ -/** - * API client for Countries operations - */ -import { api } from '$lib/api'; - -export interface Country { - m3_key: string; - mex_key: string; - ame_key: string; - description_es: string; - description_en: string; -} - -export interface CountryListResponse { - items: Country[]; - total: number; - page: number; - page_size: number; -} - -export interface CountryCreateRequest { - m3_key: string; - mex_key: string; - ame_key: string; - description_es: string; - description_en: string; -} - -export interface CountryUpdateRequest { - m3_key: string; - mex_key: string; - ame_key: string; - description_es: string; - description_en: string; -} - -/** - * Get all countries with pagination - */ -export async function getCountries( - filters?: { - page?: number; - page_size?: number; - } -): Promise<{ data: CountryListResponse; status: number }> { - const params = new URLSearchParams(); - - if (filters?.page) params.append('page', filters.page.toString()); - if (filters?.page_size) params.append('page_size', filters.page_size.toString()); - - const response = await api.get(`/v1/public/refrence_data/countries?${params.toString()}`); - - return response; -} - -/** - * Get a single country by m3_key - */ -export async function getCountry( - m3_key: string -): Promise<{ data: Country; status: number }> { - const response = await api.get(`/v1/public/refrence_data/countries/${m3_key}`); - return response; -} - -/** - * Create a new country - */ -export async function createCountry( - data: CountryCreateRequest -): Promise<{ data: Country; status: number }> { - const response = await api.post(`/v1/public/refrence_data/countries`, data); - return response; -} - -/** - * Update an existing country - */ -export async function updateCountry( - m3_key: string, - data: CountryUpdateRequest -): Promise<{ data: Country; status: number }> { - const response = await api.put(`/v1/public/refrence_data/countries/${m3_key}`, data); - return response; -} - -/** - * Delete a country - */ -export async function deleteCountry( - m3_key: string -): Promise<{ data: any; status: number }> { - const response = await api.delete(`/v1/public/refrence_data/countries/${m3_key}`); - return response; -} diff --git a/frontend/src/lib/components/dashboard/company/columns.ts b/frontend/src/lib/components/dashboard/company/columns.ts index 50294b21..aa9692c4 100644 --- a/frontend/src/lib/components/dashboard/company/columns.ts +++ b/frontend/src/lib/components/dashboard/company/columns.ts @@ -1,4 +1,4 @@ -import type { Company } from '$lib/api/dashboard/a76/company'; +import type { Company } from '$lib/api/dashboard/a76/general_catalogs/company'; import type { ColumnDef } from '@tanstack/table-core'; import { renderComponent } from '$lib/components/ui/data-table'; import DataTableActions from './data-table-actions.svelte'; diff --git a/frontend/src/lib/components/dashboard/company/create-edit-dialog.svelte b/frontend/src/lib/components/dashboard/company/create-edit-dialog.svelte index f1e5a5f3..96ed1222 100644 --- a/frontend/src/lib/components/dashboard/company/create-edit-dialog.svelte +++ b/frontend/src/lib/components/dashboard/company/create-edit-dialog.svelte @@ -3,7 +3,7 @@ import * as Dialog from "$lib/components/ui/dialog"; import { Input } from "$lib/components/ui/input"; import { Label } from "$lib/components/ui/label"; - import { createCompany, updateCompany, type Company } from "$lib/api/dashboard/a76/company"; + import { createCompany, updateCompany, type Company } from "$lib/api/dashboard/a76/general_catalogs/company"; let { open = $bindable(false), diff --git a/frontend/src/lib/components/dashboard/company/data-table-actions.svelte b/frontend/src/lib/components/dashboard/company/data-table-actions.svelte index 3ca37a3b..2440e100 100644 --- a/frontend/src/lib/components/dashboard/company/data-table-actions.svelte +++ b/frontend/src/lib/components/dashboard/company/data-table-actions.svelte @@ -1,7 +1,7 @@