refactor: implement project package segment lazy select

This commit is contained in:
2026-06-18 16:30:06 +05:30
parent 6cf363dce1
commit 9e76b8e6d0
31 changed files with 513 additions and 1076 deletions

View File

@@ -16,14 +16,14 @@ export const chainageService = {
* Fetch all chainages
*/
getChainages: async (
params?: PaginationParams,
params?: PaginationParams & { search_term?: string },
): Promise<PaginatedResponse<Chainage>> => {
const skip = params?.skip ?? 0;
const limit = params?.limit ?? 100;
const response = await axiosClient.get<PaginatedResponse<Chainage>>(
API_ROUTES.CHAINAGES.BASE,
{
params: { skip, limit },
params: { skip, limit, search_term: params?.search_term },
},
);
return response.data;
@@ -34,19 +34,34 @@ export const chainageService = {
*/
getChainagesByPackage: async (
packageId: string,
params?: PaginationParams,
params?: PaginationParams & { search_term?: string },
): Promise<PaginatedResponse<Chainage>> => {
const skip = params?.skip ?? 0;
const limit = params?.limit ?? 100;
const response = await axiosClient.get<PaginatedResponse<Chainage>>(
API_ROUTES.CHAINAGES.BASE,
{
params: { package_id: packageId, skip, limit },
params: {
package_id: packageId,
skip,
limit,
search_term: params?.search_term,
},
},
);
return response.data;
},
/**
* Fetch a chainage by ID
*/
getChainageById: async (chainageId: string): Promise<Chainage> => {
const response = await axiosClient.get<Chainage>(
API_ROUTES.CHAINAGES.DETAIL(chainageId),
);
return response.data;
},
/**
* Create a new chainage
*/