feat: overhaul groups management, remove global team_admin and isolate group administration
MindSift CI & Docker Release / Build, Test in Container & Push (push) Successful in 1m2s

This commit is contained in:
sandrodach committed 2026-10-25 17:14:15 +01:00
1 parent 60c302e23e
commit e37302f73c
11 files changed
+936 -388

No files matched your search

+18
View File
@@ -723,6 +723,13 @@ export const api = {
});
},
async updateTeam(teamId: string, name: string, description = ''): Promise<Team> {
return request<Team>(`/api/v1/teams/${teamId}`, {
method: 'PUT',
body: JSON.stringify({ name, description }),
});
},
async deleteTeam(teamId: string): Promise<void> {
await request(`/api/v1/teams/${teamId}`, { method: 'DELETE' });
},
@@ -742,6 +749,17 @@ export const api = {
});
},
async updateTeamMemberRole(
teamId: string,
userId: string,
role: 'admin' | 'member'
): Promise<void> {
await request(`/api/v1/teams/${teamId}/members/${userId}`, {
method: 'PUT',
body: JSON.stringify({ role }),
});
},
async removeTeamMember(teamId: string, userId: string): Promise<void> {
await request(`/api/v1/teams/${teamId}/members/${userId}`, { method: 'DELETE' });
},
+3 -3
View File
@@ -1,6 +1,6 @@
export type ThoughtStatus = 'inbox' | 'kept' | 'discarded' | 'converted';
export type PriorityLevel = 'low' | 'normal' | 'high' | 'urgent';
export type UserRole = 'admin' | 'team_admin' | 'member';
export type UserRole = 'admin' | 'member';
export interface AuthStatus {
needsSetup: boolean;
@@ -119,7 +119,7 @@ export interface Organization {
export interface Team {
id: string;
orgId: string;
orgId?: string;
name: string;
description: string;
members?: TeamMember[];
@@ -131,7 +131,7 @@ export interface TeamMember {
userId: string;
displayName: string;
email: string;
role: 'owner' | 'team_admin' | 'editor' | 'member' | 'viewer';
role: 'admin' | 'member';
joinedAt: string;
}