Refine admin workflows and team access

This commit is contained in:
AzuTear
2026-06-26 18:09:29 +02:00
parent b7804e10ea
commit 8b69dfbafb
71 changed files with 5066 additions and 751 deletions
-22
View File
@@ -4,12 +4,10 @@ import { AUTH_TOKEN_KEY, api } from '../lib/api'
import { ApiRequestError } from '../lib/http'
import type {
AuthSession,
BindTeamTwitchPayload,
ChangePasswordPayload,
DemoLoginPayload,
LoginPayload,
TeamLoginPayload,
TeamTwitchLoginPayload,
TwitchAuthorizePayload,
} from '../types/awards'
@@ -112,16 +110,6 @@ export const useAuthStore = defineStore('auth', {
this.loading = false
}
},
async teamTwitchLogin(payload: TeamTwitchLoginPayload) {
this.loading = true
try {
const session = await api.teamTwitchLogin(payload)
this.session = session
writeStoredToken(session.sessionToken)
} finally {
this.loading = false
}
},
async changePassword(payload: ChangePasswordPayload) {
this.loading = true
try {
@@ -132,16 +120,6 @@ export const useAuthStore = defineStore('auth', {
this.loading = false
}
},
async bindTeamTwitch(payload: BindTeamTwitchPayload) {
this.loading = true
try {
const session = await api.bindTeamTwitch(payload)
this.session = session
writeStoredToken(session.sessionToken)
} finally {
this.loading = false
}
},
async startTwitchAuthorization(payload: Omit<TwitchAuthorizePayload, 'frontendOrigin'>) {
this.loading = true
try {
+8
View File
@@ -264,6 +264,10 @@ export const useAwardsStore = defineStore('awards', {
await this.refreshAdminSeasonWorkspace(seasonId, { reloadAdmin: true })
return result
},
async bulkUpdateAdminClipStatus(clipIds: number[], seasonId: number, status: 'approved' | 'rejected', reviewNote?: string) {
await Promise.allSettled(clipIds.map((id) => api.updateAdminClipStatus(id, { status, reviewNote })))
await this.refreshAdminSeasonWorkspace(seasonId, { reloadAdmin: true })
},
async setAdminResult(seasonId: number, payload: SetAwardResultPayload) {
const result = await api.setAdminResult(seasonId, payload)
await this.refreshAdminSeasonWorkspace(seasonId, { reloadAdmin: true, reloadHome: true })
@@ -284,6 +288,10 @@ export const useAwardsStore = defineStore('awards', {
await this.refreshAdminSeasonWorkspace(seasonId, { reloadAdmin: true })
return result
},
async bulkRejectAdminNominations(nominationIds: number[], seasonId: number, reviewNote?: string) {
await Promise.allSettled(nominationIds.map((id) => api.rejectAdminNomination(id, { reviewNote })))
await this.refreshAdminSeasonWorkspace(seasonId, { reloadAdmin: true })
},
async resolveRiskFlag(riskFlagId: number, payload: ResolveRiskFlagPayload) {
const result = await api.resolveRiskFlag(riskFlagId, payload)
await Promise.all([