Merge branch 'development' of https://git.aduanasoft.com/ADUANASOFT/anexo76 into feature/saldos_temporales
This commit is contained in:
@@ -1,57 +1,105 @@
|
||||
import { api, type ApiResponse } from '$lib/api';
|
||||
|
||||
export interface Driver {
|
||||
transporter_key: string;
|
||||
line: number;
|
||||
driver_name?: string;
|
||||
license_number?: string;
|
||||
express_line_id?: string;
|
||||
ace_id?: string;
|
||||
birth_date?: number;
|
||||
gender?: string;
|
||||
birth_country?: string;
|
||||
hazardous_material_auth?: string;
|
||||
hazardous_material_state?: string;
|
||||
first_name?: string;
|
||||
last_name?: string;
|
||||
badge_number?: string;
|
||||
class_type?: string;
|
||||
transporter_key: string;
|
||||
line: number;
|
||||
driver_name?: string;
|
||||
license_number?: string;
|
||||
express_line_id?: string;
|
||||
ace_id?: string;
|
||||
birth_date?: number;
|
||||
gender?: string;
|
||||
birth_country?: string;
|
||||
hazardous_material_auth?: string;
|
||||
hazardous_material_state?: string;
|
||||
first_name?: string;
|
||||
last_name?: string;
|
||||
id_key1?: string;
|
||||
id_number1?: string;
|
||||
id_state1?: string;
|
||||
id_country1?: string;
|
||||
id_key2?: string;
|
||||
id_number2?: string;
|
||||
id_state2?: string;
|
||||
id_country2?: string;
|
||||
badge_number?: string;
|
||||
class_type?: string;
|
||||
unique_badge_number?: string;
|
||||
company_id?: number;
|
||||
tenant_id?: number;
|
||||
}
|
||||
|
||||
export interface DriverResponse {
|
||||
items: Driver[];
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
items: Driver[];
|
||||
total: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
}
|
||||
|
||||
class DriversApi {
|
||||
private baseUrl = '/v1/a76/drivers';
|
||||
private baseUrl = '/v1/a76/drivers';
|
||||
|
||||
async list(
|
||||
companyId: string | number,
|
||||
page: number = 1,
|
||||
pageSize: number = 50
|
||||
): Promise<ApiResponse<DriverResponse>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString(),
|
||||
page: page.toString(),
|
||||
page_size: pageSize.toString()
|
||||
});
|
||||
async list(
|
||||
companyId: string | number,
|
||||
params?: Record<string, string | number | undefined>
|
||||
): Promise<ApiResponse<DriverResponse>> {
|
||||
const queryParams = new URLSearchParams({
|
||||
company_id: companyId.toString(),
|
||||
...(params as Record<string, string>)
|
||||
});
|
||||
return api.get<DriverResponse>(`${this.baseUrl}?${queryParams.toString()}`);
|
||||
}
|
||||
|
||||
return api.get<DriverResponse>(`${this.baseUrl}?${params.toString()}`);
|
||||
}
|
||||
async get(
|
||||
transporterKey: string,
|
||||
line: number,
|
||||
companyId: string | number
|
||||
): Promise<ApiResponse<Driver>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.get<Driver>(
|
||||
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`
|
||||
);
|
||||
}
|
||||
|
||||
async get(
|
||||
transporterKey: string,
|
||||
line: number,
|
||||
companyId: string | number
|
||||
): Promise<ApiResponse<Driver>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.get<Driver>(`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`);
|
||||
}
|
||||
async create(
|
||||
data: Omit<Driver, 'company_id' | 'tenant_id'> & { company_id: number; tenant_id: number },
|
||||
companyId: string | number
|
||||
): Promise<ApiResponse<Driver>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.post<Driver>(`${this.baseUrl}?${params.toString()}`, data);
|
||||
}
|
||||
|
||||
async update(
|
||||
transporterKey: string,
|
||||
line: number,
|
||||
data: Partial<Driver>,
|
||||
companyId: string | number
|
||||
): Promise<ApiResponse<Driver>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.put<Driver>(
|
||||
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`,
|
||||
data
|
||||
);
|
||||
}
|
||||
|
||||
async delete(
|
||||
transporterKey: string,
|
||||
line: number,
|
||||
companyId: string | number
|
||||
): Promise<ApiResponse<void>> {
|
||||
const params = new URLSearchParams({
|
||||
company_id: companyId.toString()
|
||||
});
|
||||
return api.delete<void>(
|
||||
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const driversApi = new DriversApi();
|
||||
|
||||
@@ -34,16 +34,22 @@ export interface TransporterResponse {
|
||||
class TransportersApi {
|
||||
private baseUrl = '/v1/a76/transporters';
|
||||
|
||||
async list(
|
||||
companyId: string | number,
|
||||
params?: Record<string, any>
|
||||
): Promise<ApiResponse<TransporterResponse>> {
|
||||
const queryParams = new URLSearchParams({
|
||||
company_id: companyId.toString(),
|
||||
...params
|
||||
});
|
||||
return api.get<TransporterResponse>(`${this.baseUrl}?${queryParams.toString()}`);
|
||||
}
|
||||
async list(
|
||||
companyId: string | number,
|
||||
params?: Record<string, string | number | undefined>
|
||||
): Promise<ApiResponse<TransporterResponse>> {
|
||||
const raw: Record<string, string | number> = {
|
||||
company_id: companyId.toString(),
|
||||
...params
|
||||
};
|
||||
const queryParams = new URLSearchParams();
|
||||
for (const [k, v] of Object.entries(raw)) {
|
||||
if (v != null && v !== '') {
|
||||
queryParams.set(k, String(v));
|
||||
}
|
||||
}
|
||||
return api.get<TransporterResponse>(`${this.baseUrl}?${queryParams.toString()}`);
|
||||
}
|
||||
|
||||
async get(id: string, companyId: string | number): Promise<ApiResponse<Transporter>> {
|
||||
const queryParams = new URLSearchParams({
|
||||
|
||||
Reference in New Issue
Block a user