Refine admin workflows and team access
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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([
|
||||
|
||||
Reference in New Issue
Block a user