mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-06 17:05:02 +00:00
- Implement ShippingLineCompaniesService for registering and managing shipping line companies. - Create ResendActivationAction component for resending activation links to shipping lines. - Develop ShippingLineCompaniesPage for listing and registering shipping lines with validation. - Introduce shippingLineCompanies.service for API interactions related to shipping lines. - Define types for shipping line companies, including registration and pagination. - Add placeholder pages for shipping line portal, including home, bookings, help, invoices, and settings.
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import { api as apiClient } from "@/auth/http";
|
|
import { URL_CONSTANTS } from "@/constants/URLS";
|
|
import type {
|
|
CreateShippingLineCompanyDto,
|
|
PaginatedShippingLineCompanies,
|
|
RegisterShippingLineCompanyResult,
|
|
ResetChannel,
|
|
ResetPasswordResult,
|
|
ShippingLineCompany,
|
|
} from "@/types/shippingLineCompany";
|
|
|
|
export const shippingLineCompaniesService = {
|
|
list(page = 1, limit = 20): Promise<PaginatedShippingLineCompanies> {
|
|
return apiClient
|
|
.get<PaginatedShippingLineCompanies>(
|
|
URL_CONSTANTS.SHIPPING_LINE_COMPANIES.BASE,
|
|
{ params: { page, limit } },
|
|
)
|
|
.then((r) => r.data);
|
|
},
|
|
|
|
getById(id: string): Promise<ShippingLineCompany> {
|
|
return apiClient
|
|
.get<ShippingLineCompany>(URL_CONSTANTS.SHIPPING_LINE_COMPANIES.BY_ID(id))
|
|
.then((r) => r.data);
|
|
},
|
|
|
|
/**
|
|
* Creates the carrier's account and record, then sends an activation link.
|
|
* Staff never set or see a password — the line chooses its own from the link.
|
|
*/
|
|
register(
|
|
dto: CreateShippingLineCompanyDto,
|
|
): Promise<RegisterShippingLineCompanyResult> {
|
|
return apiClient
|
|
.post<RegisterShippingLineCompanyResult>(
|
|
URL_CONSTANTS.SHIPPING_LINE_COMPANIES.BASE,
|
|
dto,
|
|
)
|
|
.then((r) => r.data);
|
|
},
|
|
|
|
resendActivation(
|
|
id: string,
|
|
channel: ResetChannel,
|
|
): Promise<ResetPasswordResult> {
|
|
return apiClient
|
|
.post<ResetPasswordResult>(
|
|
URL_CONSTANTS.SHIPPING_LINE_COMPANIES.RESEND_ACTIVATION(id),
|
|
{ channel },
|
|
)
|
|
.then((r) => r.data);
|
|
},
|
|
};
|