Add team roles and content management updates

This commit is contained in:
AzuTear
2026-06-25 19:52:46 +02:00
parent 54293f4c45
commit 693769e5a8
126 changed files with 6966 additions and 738 deletions
+20 -1
View File
@@ -9,17 +9,22 @@ import type {
AdminSeasonDetailResponse,
AdminSeasonListItem,
AdminSiteSettingsResponse,
AdminTeamResponse,
ApproveNominationPayload,
BulkResolveRiskFlagsPayload,
CreateTeamMemberPayload,
CreateSeasonPayload,
RejectNominationPayload,
ResolveRiskFlagPayload,
SetAwardResultPayload,
TeamMemberPasswordResponse,
UpdateClipStatusPayload,
UpdateOperationalSettingsPayload,
UpdateRiskRulesPayload,
UpdateSeasonPayload,
UpdateSiteSettingsPayload,
UpdateTeamMemberPayload,
UpdateTeamRolesPayload,
UpsertCandidatePayload,
UpsertCategoryPayload,
} from '../../types/awards'
@@ -83,6 +88,20 @@ export const adminApi = {
getAdminSiteSettings: () => requestJson<AdminSiteSettingsResponse>('/api/admin/site-settings'),
getAdminOperationalSettings: () =>
requestJson<AdminOperationalSettingsResponse>('/api/admin/operational-settings'),
getAdminTeam: () => requestJson<AdminTeamResponse>('/api/admin/team'),
createAdminTeamMember: (payload: CreateTeamMemberPayload) =>
requestJson<TeamMemberPasswordResponse>('/api/admin/team/members', jsonRequest('POST', payload)),
updateAdminTeamMember: (memberId: number, payload: UpdateTeamMemberPayload) =>
requestJson<{ saved: boolean; member: AdminTeamResponse['members'][number] }>(
`/api/admin/team/members/${memberId}`,
jsonRequest('PUT', payload),
),
resetAdminTeamMemberPassword: (memberId: number) =>
requestJson<TeamMemberPasswordResponse>(`/api/admin/team/members/${memberId}/reset-password`, jsonRequest('POST', {})),
deleteAdminTeamMember: (memberId: number) =>
requestJson<{ deleted: boolean; memberId: number }>(`/api/admin/team/members/${memberId}`, { method: 'DELETE' }),
updateAdminTeamRoles: (payload: UpdateTeamRolesPayload) =>
requestJson<{ saved: boolean; roles: AdminTeamResponse['roles'] }>('/api/admin/team/roles', jsonRequest('PUT', payload)),
createAdminSeason: (payload: CreateSeasonPayload) =>
requestJson<{ saved: boolean; seasonId: number }>('/api/admin/seasons', jsonRequest('POST', payload)),
updateAdminSeason: (seasonId: number, payload: UpdateSeasonPayload) =>
@@ -94,7 +113,7 @@ export const adminApi = {
updateAdminSiteSettings: (payload: UpdateSiteSettingsPayload) =>
requestJson<{ saved: boolean }>('/api/admin/site-settings', jsonRequest('PUT', payload)),
updateAdminOperationalSettings: (payload: UpdateOperationalSettingsPayload) =>
requestJson<{ saved: boolean; demoLoginPasswordSet: boolean }>('/api/admin/operational-settings', jsonRequest('PUT', payload)),
requestJson<{ saved: boolean; demoLoginPasswordSet: boolean; twitchClientSecretSet: boolean }>('/api/admin/operational-settings', jsonRequest('PUT', payload)),
createAdminCategory: (seasonId: number, payload: UpsertCategoryPayload) =>
requestJson<{ saved: boolean; categoryId: number }>(`/api/admin/seasons/${seasonId}/categories`, jsonRequest('POST', payload)),
updateAdminCategory: (categoryId: number, payload: UpsertCategoryPayload) =>