1
0
forked from baron/baron-sso

i18n refresh and frontend fixes

This commit is contained in:
Lectom C Han
2026-02-10 19:15:51 +09:00
parent 2441c64598
commit b6d3b69cda
44 changed files with 8603 additions and 1760 deletions

View File

@@ -26,7 +26,7 @@ export type TenantSummary = {
description: string;
status: string;
domains?: string[];
config?: Record<string, any>;
config?: Record<string, unknown>;
createdAt: string;
updatedAt: string;
};
@@ -37,7 +37,7 @@ export type TenantCreateRequest = {
description?: string;
status?: string;
domains?: string[];
config?: Record<string, any>;
config?: Record<string, unknown>;
};
export type TenantListResponse = {
@@ -53,7 +53,7 @@ export type TenantUpdateRequest = {
description?: string;
status?: string;
domains?: string[];
config?: Record<string, any>;
config?: Record<string, unknown>;
};
export type ApiKeySummary = {
@@ -92,11 +92,11 @@ export async function fetchAuditLogs(limit = 50, cursor?: string) {
return data;
}
export async function fetchTenants(limit = 50, offset = 0) {
export async function fetchTenants(limit = 50, offset = 0, parentId?: string) {
const { data } = await apiClient.get<TenantListResponse>(
"/v1/admin/tenants",
{
params: { limit, offset },
params: { limit, offset, parentId },
},
);
return data;
@@ -139,6 +139,58 @@ export async function approveTenant(tenantId: string) {
return data;
}
// Group Management
export type GroupMember = {
id: string;
name: string;
email: string;
};
export type GroupSummary = {
id: string;
tenantId: string;
name: string;
description?: string;
members?: GroupMember[];
createdAt?: string;
updatedAt?: string;
};
export type GroupCreateRequest = {
name: string;
description?: string;
};
export async function fetchGroups(tenantId: string) {
const { data } = await apiClient.get<GroupSummary[]>(
`/v1/admin/tenants/${tenantId}/groups`,
);
return data;
}
export async function createGroup(
tenantId: string,
payload: GroupCreateRequest,
) {
const { data } = await apiClient.post<GroupSummary>(
`/v1/admin/tenants/${tenantId}/groups`,
payload,
);
return data;
}
export async function deleteGroup(groupId: string) {
await apiClient.delete(`/v1/admin/groups/${groupId}`);
}
export async function addGroupMember(groupId: string, userId: string) {
await apiClient.post(`/v1/admin/groups/${groupId}/members`, { userId });
}
export async function removeGroupMember(groupId: string, userId: string) {
await apiClient.delete(`/v1/admin/groups/${groupId}/members/${userId}`);
}
// API Key Management (M2M)
export type ApiKeyCreateRequest = {
name: string;
@@ -182,7 +234,7 @@ export type UserSummary = {
status: string;
companyCode?: string;
tenant?: TenantSummary;
metadata?: Record<string, any>;
metadata?: Record<string, unknown>;
department?: string;
createdAt: string;
updatedAt: string;
@@ -272,7 +324,7 @@ export type HydraClientReq = {
token_endpoint_auth_method?: string;
grant_types?: string[];
response_types?: string[];
metadata?: Record<string, any>;
metadata?: Record<string, unknown>;
};
export async function fetchRelyingParties(tenantId: string) {