forked from baron/baron-sso
feat: 테넌트 그룹(Tenant Group) 기능 구현 #239
This commit is contained in:
@@ -139,6 +139,7 @@ export async function approveTenant(tenantId: string) {
|
||||
return data;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
// Group Management
|
||||
export type GroupMember = {
|
||||
id: string;
|
||||
@@ -164,21 +165,66 @@ export type GroupCreateRequest = {
|
||||
export async function fetchGroups(tenantId: string) {
|
||||
const { data } = await apiClient.get<GroupSummary[]>(
|
||||
`/v1/admin/tenants/${tenantId}/groups`,
|
||||
=======
|
||||
// Tenant Group Management
|
||||
export type TenantGroupSummary = {
|
||||
id: string;
|
||||
name: string;
|
||||
slug: string;
|
||||
description: string;
|
||||
tenants?: TenantSummary[];
|
||||
config?: Record<string, any>;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
};
|
||||
|
||||
export type TenantGroupListResponse = {
|
||||
items: TenantGroupSummary[];
|
||||
total: number;
|
||||
limit: number;
|
||||
offset: number;
|
||||
};
|
||||
|
||||
export async function fetchTenantGroups(limit = 50, offset = 0) {
|
||||
const { data } = await apiClient.get<TenantGroupListResponse>(
|
||||
"/v1/admin/tenant-groups",
|
||||
{
|
||||
params: { limit, offset },
|
||||
},
|
||||
>>>>>>> d7d2e16 (feat: 테넌트 그룹(Tenant Group) 기능 구현 #239)
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
export async function createGroup(
|
||||
tenantId: string,
|
||||
payload: GroupCreateRequest,
|
||||
) {
|
||||
const { data } = await apiClient.post<GroupSummary>(
|
||||
`/v1/admin/tenants/${tenantId}/groups`,
|
||||
=======
|
||||
export async function fetchTenantGroup(id: string) {
|
||||
const { data } = await apiClient.get<TenantGroupSummary>(
|
||||
`/v1/admin/tenant-groups/${id}`,
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function createTenantGroup(payload: {
|
||||
name: string;
|
||||
slug: string;
|
||||
description?: string;
|
||||
}) {
|
||||
const { data } = await apiClient.post<TenantGroupSummary>(
|
||||
"/v1/admin/tenant-groups",
|
||||
>>>>>>> d7d2e16 (feat: 테넌트 그룹(Tenant Group) 기능 구현 #239)
|
||||
payload,
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
export async function deleteGroup(groupId: string) {
|
||||
await apiClient.delete(`/v1/admin/groups/${groupId}`);
|
||||
}
|
||||
@@ -189,6 +235,31 @@ export async function addGroupMember(groupId: string, userId: string) {
|
||||
|
||||
export async function removeGroupMember(groupId: string, userId: string) {
|
||||
await apiClient.delete(`/v1/admin/groups/${groupId}/members/${userId}`);
|
||||
=======
|
||||
export async function updateTenantGroup(
|
||||
id: string,
|
||||
payload: { name: string; description?: string },
|
||||
) {
|
||||
const { data } = await apiClient.put<TenantGroupSummary>(
|
||||
`/v1/admin/tenant-groups/${id}`,
|
||||
payload,
|
||||
);
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function deleteTenantGroup(id: string) {
|
||||
await apiClient.delete(`/v1/admin/tenant-groups/${id}`);
|
||||
}
|
||||
|
||||
export async function addTenantToGroup(groupId: string, tenantId: string) {
|
||||
await apiClient.post(`/v1/admin/tenant-groups/${groupId}/tenants/${tenantId}`);
|
||||
}
|
||||
|
||||
export async function removeTenantFromGroup(groupId: string, tenantId: string) {
|
||||
await apiClient.delete(
|
||||
`/v1/admin/tenant-groups/${groupId}/tenants/${tenantId}`,
|
||||
);
|
||||
>>>>>>> d7d2e16 (feat: 테넌트 그룹(Tenant Group) 기능 구현 #239)
|
||||
}
|
||||
|
||||
// API Key Management (M2M)
|
||||
|
||||
Reference in New Issue
Block a user