feat: expose effective function incumbency contracts
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
"lucide-react": "^1.23.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-router-dom": "^7.1.1",
|
||||
"react-router-dom": ">=7.18.2 <8",
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^6.0.6"
|
||||
},
|
||||
|
||||
@@ -70,6 +70,10 @@ export type OrganizationFunctionAssignmentItem = {
|
||||
|
||||
export type OrganizationFunctionAssignmentList = {
|
||||
assignments: OrganizationFunctionAssignmentItem[];
|
||||
total?: number;
|
||||
page?: number;
|
||||
page_size?: number;
|
||||
pages?: number;
|
||||
};
|
||||
|
||||
export type IdmSettings = {
|
||||
@@ -111,8 +115,27 @@ export function getOrganizationModel(settings: ApiSettings): Promise<Organizatio
|
||||
return apiFetch<OrganizationModel>(settings, "/api/v1/organizations/model");
|
||||
}
|
||||
|
||||
export function getOrganizationFunctionAssignments(settings: ApiSettings): Promise<OrganizationFunctionAssignmentList> {
|
||||
return apiFetch<OrganizationFunctionAssignmentList>(settings, "/api/v1/idm/organization-function-assignments");
|
||||
export async function getOrganizationFunctionAssignments(settings: ApiSettings): Promise<OrganizationFunctionAssignmentList> {
|
||||
const pageSize = 500;
|
||||
const assignments: OrganizationFunctionAssignmentItem[] = [];
|
||||
let total = 0;
|
||||
for (let page = 1; ; page += 1) {
|
||||
const response = await apiFetch<OrganizationFunctionAssignmentList>(
|
||||
settings,
|
||||
`/api/v1/idm/organization-function-assignments?page=${page}&page_size=${pageSize}`
|
||||
);
|
||||
assignments.push(...response.assignments);
|
||||
total = response.total ?? assignments.length;
|
||||
if (page >= (response.pages ?? 1)) {
|
||||
return {
|
||||
assignments,
|
||||
total,
|
||||
page: 1,
|
||||
page_size: assignments.length,
|
||||
pages: 1
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function getIdmSettings(settings: ApiSettings): Promise<IdmSettings> {
|
||||
|
||||
Reference in New Issue
Block a user