feat(migration): frontend migration submissions -> opus-magnum
This commit is contained in:
@@ -7,7 +7,7 @@ import Results from "@/components/Results.vue";
|
||||
import Winners from "@/components/Winners.vue";
|
||||
import PuzzleResults from "@/components/PuzzleResults.vue";
|
||||
import TopUsersLeaderboard from "@/components/TopUsersLeaderboard.vue";
|
||||
import { polylanSubmitterApiGetUserInfo, submissionsApiGetCollection } from "@/api";
|
||||
import { polylanSubmitterApiGetUserInfo, opusMagnumApiGetCollection } from "@/api";
|
||||
import { errorHelpers } from "@/services/apiService";
|
||||
import { usePuzzlesStore } from "@/stores/puzzles";
|
||||
import { useSubmissionsStore } from "@/stores/submissions";
|
||||
@@ -77,7 +77,7 @@ async function initialize() {
|
||||
|
||||
// Load collection data
|
||||
console.log("Loading collection...");
|
||||
const collectionResponse = await submissionsApiGetCollection();
|
||||
const collectionResponse = await opusMagnumApiGetCollection();
|
||||
if (collectionResponse.data) {
|
||||
collection.value = collectionResponse.data as SteamCollection;
|
||||
console.log("Collection loaded:", collectionResponse.data);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// This file is auto-generated by @hey-api/openapi-ts
|
||||
|
||||
export { animationsApiPuzzleResults, animationsApiResults, animationsApiTopSubmissions, gamesApiListGames, marketApiCloseMarket, marketApiCreateBet, marketApiListMarkets, marketApiListUserBets, marketApiResolveMarket, noitaApiGetLeaderboard, noitaApiGetResults, noitaApiSubmitLogFile, type Options, polylanSubmitterApiClearCache, polylanSubmitterApiGetUserInfo, polylanSubmitterApiHealthCheck, submissionsApiCreateSubmission, submissionsApiDeleteSubmission, submissionsApiGetCollection, submissionsApiGetStats, submissionsApiGetSubmission, submissionsApiListPuzzles, submissionsApiListResponsesNeedingValidation, submissionsApiListSubmissions, submissionsApiValidateAuto, submissionsApiValidateResponse, submissionsApiValidateSubmission } from './sdk.gen';
|
||||
export type { AnimationsApiPuzzleResultsData, AnimationsApiPuzzleResultsResponse, AnimationsApiPuzzleResultsResponses, AnimationsApiResultsData, AnimationsApiResultsResponse, AnimationsApiResultsResponses, AnimationsApiTopSubmissionsData, AnimationsApiTopSubmissionsResponse, AnimationsApiTopSubmissionsResponses, ClientOptions, GameOut, GamesApiListGamesData, GamesApiListGamesResponse, GamesApiListGamesResponses, Input, LeaderboardEntryOut, LeaderboardOut, MarketApiCloseMarketData, MarketApiCloseMarketResponses, MarketApiCreateBetData, MarketApiCreateBetResponse, MarketApiCreateBetResponses, MarketApiListMarketsData, MarketApiListMarketsResponse, MarketApiListMarketsResponses, MarketApiListUserBetsData, MarketApiListUserBetsResponse, MarketApiListUserBetsResponses, MarketApiResolveMarketData, MarketApiResolveMarketResponse, MarketApiResolveMarketResponses, MarketListSchema, MarketOptionSchema, NoitaApiGetLeaderboardData, NoitaApiGetLeaderboardResponse, NoitaApiGetLeaderboardResponses, NoitaApiGetResultsData, NoitaApiGetResultsResponse, NoitaApiGetResultsResponses, NoitaApiSubmitLogFileData, NoitaApiSubmitLogFileError, NoitaApiSubmitLogFileErrors, NoitaApiSubmitLogFileResponse, NoitaApiSubmitLogFileResponses, NoitaSubmissionOut, ObjectivResultOut, PagedSubmissionOut, PolylanSubmitterApiClearCacheData, PolylanSubmitterApiClearCacheResponses, PolylanSubmitterApiGetUserInfoData, PolylanSubmitterApiGetUserInfoResponse, PolylanSubmitterApiGetUserInfoResponses, PolylanSubmitterApiHealthCheckData, PolylanSubmitterApiHealthCheckResponses, PuzzlePointsFactorOut, PuzzleResponseIn, PuzzleResponseOut, PuzzleResponseRankingOut, PuzzleResultsOut, PuzzleSubmissionsOut, PuzzleSubmissionWithRankOut, RankingSchema, ResolveMarketSchema, ResultsOut, SteamCollectionItemOut, SteamCollectionOut, SubmissionFileOut, SubmissionIn, SubmissionOut, SubmissionsApiCreateSubmissionData, SubmissionsApiCreateSubmissionResponse, SubmissionsApiCreateSubmissionResponses, SubmissionsApiDeleteSubmissionData, SubmissionsApiDeleteSubmissionResponses, SubmissionsApiGetCollectionData, SubmissionsApiGetCollectionResponse, SubmissionsApiGetCollectionResponses, SubmissionsApiGetStatsData, SubmissionsApiGetStatsResponses, SubmissionsApiGetSubmissionData, SubmissionsApiGetSubmissionResponse, SubmissionsApiGetSubmissionResponses, SubmissionsApiListPuzzlesData, SubmissionsApiListPuzzlesResponse, SubmissionsApiListPuzzlesResponses, SubmissionsApiListResponsesNeedingValidationData, SubmissionsApiListResponsesNeedingValidationResponse, SubmissionsApiListResponsesNeedingValidationResponses, SubmissionsApiListSubmissionsData, SubmissionsApiListSubmissionsResponse, SubmissionsApiListSubmissionsResponses, SubmissionsApiValidateAutoData, SubmissionsApiValidateAutoResponse, SubmissionsApiValidateAutoResponses, SubmissionsApiValidateResponseData, SubmissionsApiValidateResponseResponse, SubmissionsApiValidateResponseResponses, SubmissionsApiValidateSubmissionData, SubmissionsApiValidateSubmissionResponse, SubmissionsApiValidateSubmissionResponses, TournamentPuzzleResultsOut, TournamentSubmissionsOut, UserBetCreateSchema, UserBetSchema, UserDisplayOut, UserInfoOut, ValidationIn, WinnerFileOut, WinnerResponseOut } from './types.gen';
|
||||
export { animationsApiPuzzleResults, animationsApiResults, animationsApiTopSubmissions, gamesApiListGames, marketApiCloseMarket, marketApiCreateBet, marketApiListMarkets, marketApiListUserBets, marketApiResolveMarket, noitaApiGetLeaderboard, noitaApiGetResults, noitaApiSubmitLogFile, type Options, opusMagnumApiCreateSubmission, opusMagnumApiDeleteSubmission, opusMagnumApiGetCollection, opusMagnumApiGetStats, opusMagnumApiGetSubmission, opusMagnumApiListPuzzles, opusMagnumApiListResponsesNeedingValidation, opusMagnumApiListSubmissions, opusMagnumApiValidateAuto, opusMagnumApiValidateResponse, opusMagnumApiValidateSubmission, polylanSubmitterApiClearCache, polylanSubmitterApiGetUserInfo, polylanSubmitterApiHealthCheck } from './sdk.gen';
|
||||
export type { AnimationsApiPuzzleResultsData, AnimationsApiPuzzleResultsResponse, AnimationsApiPuzzleResultsResponses, AnimationsApiResultsData, AnimationsApiResultsResponse, AnimationsApiResultsResponses, AnimationsApiTopSubmissionsData, AnimationsApiTopSubmissionsResponse, AnimationsApiTopSubmissionsResponses, ClientOptions, GameOut, GamesApiListGamesData, GamesApiListGamesResponse, GamesApiListGamesResponses, Input, LeaderboardEntryOut, LeaderboardOut, MarketApiCloseMarketData, MarketApiCloseMarketResponses, MarketApiCreateBetData, MarketApiCreateBetResponse, MarketApiCreateBetResponses, MarketApiListMarketsData, MarketApiListMarketsResponse, MarketApiListMarketsResponses, MarketApiListUserBetsData, MarketApiListUserBetsResponse, MarketApiListUserBetsResponses, MarketApiResolveMarketData, MarketApiResolveMarketResponse, MarketApiResolveMarketResponses, MarketListSchema, MarketOptionSchema, NoitaApiGetLeaderboardData, NoitaApiGetLeaderboardResponse, NoitaApiGetLeaderboardResponses, NoitaApiGetResultsData, NoitaApiGetResultsResponse, NoitaApiGetResultsResponses, NoitaApiSubmitLogFileData, NoitaApiSubmitLogFileError, NoitaApiSubmitLogFileErrors, NoitaApiSubmitLogFileResponse, NoitaApiSubmitLogFileResponses, NoitaSubmissionOut, ObjectivResultOut, OpusMagnumApiCreateSubmissionData, OpusMagnumApiCreateSubmissionResponse, OpusMagnumApiCreateSubmissionResponses, OpusMagnumApiDeleteSubmissionData, OpusMagnumApiDeleteSubmissionResponses, OpusMagnumApiGetCollectionData, OpusMagnumApiGetCollectionResponse, OpusMagnumApiGetCollectionResponses, OpusMagnumApiGetStatsData, OpusMagnumApiGetStatsResponses, OpusMagnumApiGetSubmissionData, OpusMagnumApiGetSubmissionResponse, OpusMagnumApiGetSubmissionResponses, OpusMagnumApiListPuzzlesData, OpusMagnumApiListPuzzlesResponse, OpusMagnumApiListPuzzlesResponses, OpusMagnumApiListResponsesNeedingValidationData, OpusMagnumApiListResponsesNeedingValidationResponse, OpusMagnumApiListResponsesNeedingValidationResponses, OpusMagnumApiListSubmissionsData, OpusMagnumApiListSubmissionsResponse, OpusMagnumApiListSubmissionsResponses, OpusMagnumApiValidateAutoData, OpusMagnumApiValidateAutoResponse, OpusMagnumApiValidateAutoResponses, OpusMagnumApiValidateResponseData, OpusMagnumApiValidateResponseResponse, OpusMagnumApiValidateResponseResponses, OpusMagnumApiValidateSubmissionData, OpusMagnumApiValidateSubmissionResponse, OpusMagnumApiValidateSubmissionResponses, PagedSubmissionOut, PolylanSubmitterApiClearCacheData, PolylanSubmitterApiClearCacheResponses, PolylanSubmitterApiGetUserInfoData, PolylanSubmitterApiGetUserInfoResponse, PolylanSubmitterApiGetUserInfoResponses, PolylanSubmitterApiHealthCheckData, PolylanSubmitterApiHealthCheckResponses, PuzzlePointsFactorOut, PuzzleResponseIn, PuzzleResponseOut, PuzzleResponseRankingOut, PuzzleResultsOut, PuzzleSubmissionsOut, PuzzleSubmissionWithRankOut, RankingSchema, ResolveMarketSchema, ResultsOut, SteamCollectionItemOut, SteamCollectionOut, SubmissionFileOut, SubmissionIn, SubmissionOut, TournamentPuzzleResultsOut, TournamentSubmissionsOut, UserBetCreateSchema, UserBetSchema, UserDisplayOut, UserInfoOut, ValidationIn, WinnerFileOut, WinnerResponseOut } from './types.gen';
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { type Client, formDataBodySerializer, type Options as Options2, type TDataShape } from './client';
|
||||
import { client } from './client.gen';
|
||||
import type { AnimationsApiPuzzleResultsData, AnimationsApiPuzzleResultsResponses, AnimationsApiResultsData, AnimationsApiResultsResponses, AnimationsApiTopSubmissionsData, AnimationsApiTopSubmissionsResponses, GamesApiListGamesData, GamesApiListGamesResponses, MarketApiCloseMarketData, MarketApiCloseMarketResponses, MarketApiCreateBetData, MarketApiCreateBetResponses, MarketApiListMarketsData, MarketApiListMarketsResponses, MarketApiListUserBetsData, MarketApiListUserBetsResponses, MarketApiResolveMarketData, MarketApiResolveMarketResponses, NoitaApiGetLeaderboardData, NoitaApiGetLeaderboardResponses, NoitaApiGetResultsData, NoitaApiGetResultsResponses, NoitaApiSubmitLogFileData, NoitaApiSubmitLogFileErrors, NoitaApiSubmitLogFileResponses, PolylanSubmitterApiClearCacheData, PolylanSubmitterApiClearCacheResponses, PolylanSubmitterApiGetUserInfoData, PolylanSubmitterApiGetUserInfoResponses, PolylanSubmitterApiHealthCheckData, PolylanSubmitterApiHealthCheckResponses, SubmissionsApiCreateSubmissionData, SubmissionsApiCreateSubmissionResponses, SubmissionsApiDeleteSubmissionData, SubmissionsApiDeleteSubmissionResponses, SubmissionsApiGetCollectionData, SubmissionsApiGetCollectionResponses, SubmissionsApiGetStatsData, SubmissionsApiGetStatsResponses, SubmissionsApiGetSubmissionData, SubmissionsApiGetSubmissionResponses, SubmissionsApiListPuzzlesData, SubmissionsApiListPuzzlesResponses, SubmissionsApiListResponsesNeedingValidationData, SubmissionsApiListResponsesNeedingValidationResponses, SubmissionsApiListSubmissionsData, SubmissionsApiListSubmissionsResponses, SubmissionsApiValidateAutoData, SubmissionsApiValidateAutoResponses, SubmissionsApiValidateResponseData, SubmissionsApiValidateResponseResponses, SubmissionsApiValidateSubmissionData, SubmissionsApiValidateSubmissionResponses } from './types.gen';
|
||||
import type { AnimationsApiPuzzleResultsData, AnimationsApiPuzzleResultsResponses, AnimationsApiResultsData, AnimationsApiResultsResponses, AnimationsApiTopSubmissionsData, AnimationsApiTopSubmissionsResponses, GamesApiListGamesData, GamesApiListGamesResponses, MarketApiCloseMarketData, MarketApiCloseMarketResponses, MarketApiCreateBetData, MarketApiCreateBetResponses, MarketApiListMarketsData, MarketApiListMarketsResponses, MarketApiListUserBetsData, MarketApiListUserBetsResponses, MarketApiResolveMarketData, MarketApiResolveMarketResponses, NoitaApiGetLeaderboardData, NoitaApiGetLeaderboardResponses, NoitaApiGetResultsData, NoitaApiGetResultsResponses, NoitaApiSubmitLogFileData, NoitaApiSubmitLogFileErrors, NoitaApiSubmitLogFileResponses, OpusMagnumApiCreateSubmissionData, OpusMagnumApiCreateSubmissionResponses, OpusMagnumApiDeleteSubmissionData, OpusMagnumApiDeleteSubmissionResponses, OpusMagnumApiGetCollectionData, OpusMagnumApiGetCollectionResponses, OpusMagnumApiGetStatsData, OpusMagnumApiGetStatsResponses, OpusMagnumApiGetSubmissionData, OpusMagnumApiGetSubmissionResponses, OpusMagnumApiListPuzzlesData, OpusMagnumApiListPuzzlesResponses, OpusMagnumApiListResponsesNeedingValidationData, OpusMagnumApiListResponsesNeedingValidationResponses, OpusMagnumApiListSubmissionsData, OpusMagnumApiListSubmissionsResponses, OpusMagnumApiValidateAutoData, OpusMagnumApiValidateAutoResponses, OpusMagnumApiValidateResponseData, OpusMagnumApiValidateResponseResponses, OpusMagnumApiValidateSubmissionData, OpusMagnumApiValidateSubmissionResponses, PolylanSubmitterApiClearCacheData, PolylanSubmitterApiClearCacheResponses, PolylanSubmitterApiGetUserInfoData, PolylanSubmitterApiGetUserInfoResponses, PolylanSubmitterApiHealthCheckData, PolylanSubmitterApiHealthCheckResponses } from './types.gen';
|
||||
|
||||
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown> = Options2<TData, ThrowOnError, TResponse> & {
|
||||
/**
|
||||
@@ -44,30 +44,30 @@ export const polylanSubmitterApiGetUserInfo = <ThrowOnError extends boolean = fa
|
||||
*
|
||||
* Get list of available puzzles
|
||||
*/
|
||||
export const submissionsApiListPuzzles = <ThrowOnError extends boolean = false>(options?: Options<SubmissionsApiListPuzzlesData, ThrowOnError>) => (options?.client ?? client).get<SubmissionsApiListPuzzlesResponses, unknown, ThrowOnError>({ url: '/api/submissions/puzzles', ...options });
|
||||
export const opusMagnumApiListPuzzles = <ThrowOnError extends boolean = false>(options?: Options<OpusMagnumApiListPuzzlesData, ThrowOnError>) => (options?.client ?? client).get<OpusMagnumApiListPuzzlesResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/puzzles', ...options });
|
||||
|
||||
/**
|
||||
* Get Collection
|
||||
*
|
||||
* Get the active collection details
|
||||
*/
|
||||
export const submissionsApiGetCollection = <ThrowOnError extends boolean = false>(options?: Options<SubmissionsApiGetCollectionData, ThrowOnError>) => (options?.client ?? client).get<SubmissionsApiGetCollectionResponses, unknown, ThrowOnError>({ url: '/api/submissions/collection', ...options });
|
||||
export const opusMagnumApiGetCollection = <ThrowOnError extends boolean = false>(options?: Options<OpusMagnumApiGetCollectionData, ThrowOnError>) => (options?.client ?? client).get<OpusMagnumApiGetCollectionResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/collection', ...options });
|
||||
|
||||
/**
|
||||
* List Submissions
|
||||
*
|
||||
* Get paginated list of submissions
|
||||
*/
|
||||
export const submissionsApiListSubmissions = <ThrowOnError extends boolean = false>(options?: Options<SubmissionsApiListSubmissionsData, ThrowOnError>) => (options?.client ?? client).get<SubmissionsApiListSubmissionsResponses, unknown, ThrowOnError>({ url: '/api/submissions/submissions', ...options });
|
||||
export const opusMagnumApiListSubmissions = <ThrowOnError extends boolean = false>(options?: Options<OpusMagnumApiListSubmissionsData, ThrowOnError>) => (options?.client ?? client).get<OpusMagnumApiListSubmissionsResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/submissions', ...options });
|
||||
|
||||
/**
|
||||
* Create Submission
|
||||
*
|
||||
* Create a new submission with multiple puzzle responses
|
||||
*/
|
||||
export const submissionsApiCreateSubmission = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiCreateSubmissionData, ThrowOnError>) => (options.client ?? client).post<SubmissionsApiCreateSubmissionResponses, unknown, ThrowOnError>({
|
||||
export const opusMagnumApiCreateSubmission = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiCreateSubmissionData, ThrowOnError>) => (options.client ?? client).post<OpusMagnumApiCreateSubmissionResponses, unknown, ThrowOnError>({
|
||||
...formDataBodySerializer,
|
||||
url: '/api/submissions/submissions',
|
||||
url: '/api/opus-magnum/submissions',
|
||||
...options,
|
||||
headers: {
|
||||
'Content-Type': null,
|
||||
@@ -80,22 +80,22 @@ export const submissionsApiCreateSubmission = <ThrowOnError extends boolean = fa
|
||||
*
|
||||
* Delete a submission (admin only)
|
||||
*/
|
||||
export const submissionsApiDeleteSubmission = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiDeleteSubmissionData, ThrowOnError>) => (options.client ?? client).delete<SubmissionsApiDeleteSubmissionResponses, unknown, ThrowOnError>({ url: '/api/submissions/submissions/{submission_id}', ...options });
|
||||
export const opusMagnumApiDeleteSubmission = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiDeleteSubmissionData, ThrowOnError>) => (options.client ?? client).delete<OpusMagnumApiDeleteSubmissionResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/submissions/{submission_id}', ...options });
|
||||
|
||||
/**
|
||||
* Get Submission
|
||||
*
|
||||
* Get detailed submission by ID
|
||||
*/
|
||||
export const submissionsApiGetSubmission = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiGetSubmissionData, ThrowOnError>) => (options.client ?? client).get<SubmissionsApiGetSubmissionResponses, unknown, ThrowOnError>({ url: '/api/submissions/submissions/{submission_id}', ...options });
|
||||
export const opusMagnumApiGetSubmission = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiGetSubmissionData, ThrowOnError>) => (options.client ?? client).get<OpusMagnumApiGetSubmissionResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/submissions/{submission_id}', ...options });
|
||||
|
||||
/**
|
||||
* Validate Response
|
||||
*
|
||||
* Manually validate a puzzle response
|
||||
*/
|
||||
export const submissionsApiValidateResponse = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiValidateResponseData, ThrowOnError>) => (options.client ?? client).put<SubmissionsApiValidateResponseResponses, unknown, ThrowOnError>({
|
||||
url: '/api/submissions/responses/{response_id}/validate',
|
||||
export const opusMagnumApiValidateResponse = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiValidateResponseData, ThrowOnError>) => (options.client ?? client).put<OpusMagnumApiValidateResponseResponses, unknown, ThrowOnError>({
|
||||
url: '/api/opus-magnum/responses/{response_id}/validate',
|
||||
...options,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -108,28 +108,28 @@ export const submissionsApiValidateResponse = <ThrowOnError extends boolean = fa
|
||||
*
|
||||
* Try to auto validate a puzzle response
|
||||
*/
|
||||
export const submissionsApiValidateAuto = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiValidateAutoData, ThrowOnError>) => (options.client ?? client).put<SubmissionsApiValidateAutoResponses, unknown, ThrowOnError>({ url: '/api/submissions/responses/{response_id}/validate/auto', ...options });
|
||||
export const opusMagnumApiValidateAuto = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiValidateAutoData, ThrowOnError>) => (options.client ?? client).put<OpusMagnumApiValidateAutoResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/responses/{response_id}/validate/auto', ...options });
|
||||
|
||||
/**
|
||||
* List Responses Needing Validation
|
||||
*
|
||||
* Get all responses that need manual validation
|
||||
*/
|
||||
export const submissionsApiListResponsesNeedingValidation = <ThrowOnError extends boolean = false>(options?: Options<SubmissionsApiListResponsesNeedingValidationData, ThrowOnError>) => (options?.client ?? client).get<SubmissionsApiListResponsesNeedingValidationResponses, unknown, ThrowOnError>({ url: '/api/submissions/responses/needs-validation', ...options });
|
||||
export const opusMagnumApiListResponsesNeedingValidation = <ThrowOnError extends boolean = false>(options?: Options<OpusMagnumApiListResponsesNeedingValidationData, ThrowOnError>) => (options?.client ?? client).get<OpusMagnumApiListResponsesNeedingValidationResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/responses/needs-validation', ...options });
|
||||
|
||||
/**
|
||||
* Validate Submission
|
||||
*
|
||||
* Mark entire submission as validated
|
||||
*/
|
||||
export const submissionsApiValidateSubmission = <ThrowOnError extends boolean = false>(options: Options<SubmissionsApiValidateSubmissionData, ThrowOnError>) => (options.client ?? client).post<SubmissionsApiValidateSubmissionResponses, unknown, ThrowOnError>({ url: '/api/submissions/submissions/{submission_id}/validate', ...options });
|
||||
export const opusMagnumApiValidateSubmission = <ThrowOnError extends boolean = false>(options: Options<OpusMagnumApiValidateSubmissionData, ThrowOnError>) => (options.client ?? client).post<OpusMagnumApiValidateSubmissionResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/submissions/{submission_id}/validate', ...options });
|
||||
|
||||
/**
|
||||
* Get Stats
|
||||
*
|
||||
* Get submission statistics
|
||||
*/
|
||||
export const submissionsApiGetStats = <ThrowOnError extends boolean = false>(options?: Options<SubmissionsApiGetStatsData, ThrowOnError>) => (options?.client ?? client).get<SubmissionsApiGetStatsResponses, unknown, ThrowOnError>({ url: '/api/submissions/stats', ...options });
|
||||
export const opusMagnumApiGetStats = <ThrowOnError extends boolean = false>(options?: Options<OpusMagnumApiGetStatsData, ThrowOnError>) => (options?.client ?? client).get<OpusMagnumApiGetStatsResponses, unknown, ThrowOnError>({ url: '/api/opus-magnum/stats', ...options });
|
||||
|
||||
/**
|
||||
* Results
|
||||
|
||||
@@ -1111,14 +1111,14 @@ export type PolylanSubmitterApiGetUserInfoResponses = {
|
||||
|
||||
export type PolylanSubmitterApiGetUserInfoResponse = PolylanSubmitterApiGetUserInfoResponses[keyof PolylanSubmitterApiGetUserInfoResponses];
|
||||
|
||||
export type SubmissionsApiListPuzzlesData = {
|
||||
export type OpusMagnumApiListPuzzlesData = {
|
||||
body?: never;
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/submissions/puzzles';
|
||||
url: '/api/opus-magnum/puzzles';
|
||||
};
|
||||
|
||||
export type SubmissionsApiListPuzzlesResponses = {
|
||||
export type OpusMagnumApiListPuzzlesResponses = {
|
||||
/**
|
||||
* Response
|
||||
*
|
||||
@@ -1127,25 +1127,25 @@ export type SubmissionsApiListPuzzlesResponses = {
|
||||
200: Array<SteamCollectionItemOut>;
|
||||
};
|
||||
|
||||
export type SubmissionsApiListPuzzlesResponse = SubmissionsApiListPuzzlesResponses[keyof SubmissionsApiListPuzzlesResponses];
|
||||
export type OpusMagnumApiListPuzzlesResponse = OpusMagnumApiListPuzzlesResponses[keyof OpusMagnumApiListPuzzlesResponses];
|
||||
|
||||
export type SubmissionsApiGetCollectionData = {
|
||||
export type OpusMagnumApiGetCollectionData = {
|
||||
body?: never;
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/submissions/collection';
|
||||
url: '/api/opus-magnum/collection';
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetCollectionResponses = {
|
||||
export type OpusMagnumApiGetCollectionResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: SteamCollectionOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetCollectionResponse = SubmissionsApiGetCollectionResponses[keyof SubmissionsApiGetCollectionResponses];
|
||||
export type OpusMagnumApiGetCollectionResponse = OpusMagnumApiGetCollectionResponses[keyof OpusMagnumApiGetCollectionResponses];
|
||||
|
||||
export type SubmissionsApiListSubmissionsData = {
|
||||
export type OpusMagnumApiListSubmissionsData = {
|
||||
body?: never;
|
||||
path?: never;
|
||||
query?: {
|
||||
@@ -1158,19 +1158,19 @@ export type SubmissionsApiListSubmissionsData = {
|
||||
*/
|
||||
offset?: number;
|
||||
};
|
||||
url: '/api/submissions/submissions';
|
||||
url: '/api/opus-magnum/submissions';
|
||||
};
|
||||
|
||||
export type SubmissionsApiListSubmissionsResponses = {
|
||||
export type OpusMagnumApiListSubmissionsResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: PagedSubmissionOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiListSubmissionsResponse = SubmissionsApiListSubmissionsResponses[keyof SubmissionsApiListSubmissionsResponses];
|
||||
export type OpusMagnumApiListSubmissionsResponse = OpusMagnumApiListSubmissionsResponses[keyof OpusMagnumApiListSubmissionsResponses];
|
||||
|
||||
export type SubmissionsApiCreateSubmissionData = {
|
||||
export type OpusMagnumApiCreateSubmissionData = {
|
||||
/**
|
||||
* MultiPartBodyParams
|
||||
*/
|
||||
@@ -1183,19 +1183,19 @@ export type SubmissionsApiCreateSubmissionData = {
|
||||
};
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/submissions/submissions';
|
||||
url: '/api/opus-magnum/submissions';
|
||||
};
|
||||
|
||||
export type SubmissionsApiCreateSubmissionResponses = {
|
||||
export type OpusMagnumApiCreateSubmissionResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: SubmissionOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiCreateSubmissionResponse = SubmissionsApiCreateSubmissionResponses[keyof SubmissionsApiCreateSubmissionResponses];
|
||||
export type OpusMagnumApiCreateSubmissionResponse = OpusMagnumApiCreateSubmissionResponses[keyof OpusMagnumApiCreateSubmissionResponses];
|
||||
|
||||
export type SubmissionsApiDeleteSubmissionData = {
|
||||
export type OpusMagnumApiDeleteSubmissionData = {
|
||||
body?: never;
|
||||
path: {
|
||||
/**
|
||||
@@ -1204,17 +1204,17 @@ export type SubmissionsApiDeleteSubmissionData = {
|
||||
submission_id: string;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/submissions/submissions/{submission_id}';
|
||||
url: '/api/opus-magnum/submissions/{submission_id}';
|
||||
};
|
||||
|
||||
export type SubmissionsApiDeleteSubmissionResponses = {
|
||||
export type OpusMagnumApiDeleteSubmissionResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: unknown;
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetSubmissionData = {
|
||||
export type OpusMagnumApiGetSubmissionData = {
|
||||
body?: never;
|
||||
path: {
|
||||
/**
|
||||
@@ -1223,19 +1223,19 @@ export type SubmissionsApiGetSubmissionData = {
|
||||
submission_id: string;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/submissions/submissions/{submission_id}';
|
||||
url: '/api/opus-magnum/submissions/{submission_id}';
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetSubmissionResponses = {
|
||||
export type OpusMagnumApiGetSubmissionResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: SubmissionOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetSubmissionResponse = SubmissionsApiGetSubmissionResponses[keyof SubmissionsApiGetSubmissionResponses];
|
||||
export type OpusMagnumApiGetSubmissionResponse = OpusMagnumApiGetSubmissionResponses[keyof OpusMagnumApiGetSubmissionResponses];
|
||||
|
||||
export type SubmissionsApiValidateResponseData = {
|
||||
export type OpusMagnumApiValidateResponseData = {
|
||||
body: ValidationIn;
|
||||
path: {
|
||||
/**
|
||||
@@ -1244,19 +1244,19 @@ export type SubmissionsApiValidateResponseData = {
|
||||
response_id: number;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/submissions/responses/{response_id}/validate';
|
||||
url: '/api/opus-magnum/responses/{response_id}/validate';
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateResponseResponses = {
|
||||
export type OpusMagnumApiValidateResponseResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: PuzzleResponseOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateResponseResponse = SubmissionsApiValidateResponseResponses[keyof SubmissionsApiValidateResponseResponses];
|
||||
export type OpusMagnumApiValidateResponseResponse = OpusMagnumApiValidateResponseResponses[keyof OpusMagnumApiValidateResponseResponses];
|
||||
|
||||
export type SubmissionsApiValidateAutoData = {
|
||||
export type OpusMagnumApiValidateAutoData = {
|
||||
body?: never;
|
||||
path: {
|
||||
/**
|
||||
@@ -1265,26 +1265,26 @@ export type SubmissionsApiValidateAutoData = {
|
||||
response_id: number;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/submissions/responses/{response_id}/validate/auto';
|
||||
url: '/api/opus-magnum/responses/{response_id}/validate/auto';
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateAutoResponses = {
|
||||
export type OpusMagnumApiValidateAutoResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: PuzzleResponseOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateAutoResponse = SubmissionsApiValidateAutoResponses[keyof SubmissionsApiValidateAutoResponses];
|
||||
export type OpusMagnumApiValidateAutoResponse = OpusMagnumApiValidateAutoResponses[keyof OpusMagnumApiValidateAutoResponses];
|
||||
|
||||
export type SubmissionsApiListResponsesNeedingValidationData = {
|
||||
export type OpusMagnumApiListResponsesNeedingValidationData = {
|
||||
body?: never;
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/submissions/responses/needs-validation';
|
||||
url: '/api/opus-magnum/responses/needs-validation';
|
||||
};
|
||||
|
||||
export type SubmissionsApiListResponsesNeedingValidationResponses = {
|
||||
export type OpusMagnumApiListResponsesNeedingValidationResponses = {
|
||||
/**
|
||||
* Response
|
||||
*
|
||||
@@ -1293,9 +1293,9 @@ export type SubmissionsApiListResponsesNeedingValidationResponses = {
|
||||
200: Array<PuzzleResponseOut>;
|
||||
};
|
||||
|
||||
export type SubmissionsApiListResponsesNeedingValidationResponse = SubmissionsApiListResponsesNeedingValidationResponses[keyof SubmissionsApiListResponsesNeedingValidationResponses];
|
||||
export type OpusMagnumApiListResponsesNeedingValidationResponse = OpusMagnumApiListResponsesNeedingValidationResponses[keyof OpusMagnumApiListResponsesNeedingValidationResponses];
|
||||
|
||||
export type SubmissionsApiValidateSubmissionData = {
|
||||
export type OpusMagnumApiValidateSubmissionData = {
|
||||
body?: never;
|
||||
path: {
|
||||
/**
|
||||
@@ -1304,26 +1304,26 @@ export type SubmissionsApiValidateSubmissionData = {
|
||||
submission_id: string;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/submissions/submissions/{submission_id}/validate';
|
||||
url: '/api/opus-magnum/submissions/{submission_id}/validate';
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateSubmissionResponses = {
|
||||
export type OpusMagnumApiValidateSubmissionResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
200: SubmissionOut;
|
||||
};
|
||||
|
||||
export type SubmissionsApiValidateSubmissionResponse = SubmissionsApiValidateSubmissionResponses[keyof SubmissionsApiValidateSubmissionResponses];
|
||||
export type OpusMagnumApiValidateSubmissionResponse = OpusMagnumApiValidateSubmissionResponses[keyof OpusMagnumApiValidateSubmissionResponses];
|
||||
|
||||
export type SubmissionsApiGetStatsData = {
|
||||
export type OpusMagnumApiGetStatsData = {
|
||||
body?: never;
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/submissions/stats';
|
||||
url: '/api/opus-magnum/stats';
|
||||
};
|
||||
|
||||
export type SubmissionsApiGetStatsResponses = {
|
||||
export type OpusMagnumApiGetStatsResponses = {
|
||||
/**
|
||||
* OK
|
||||
*/
|
||||
|
||||
@@ -109,11 +109,11 @@ export class ApiService {
|
||||
|
||||
// Puzzle endpoints
|
||||
async getPuzzles(): Promise<ApiResponse<SteamCollectionItem[]>> {
|
||||
return this.request<SteamCollectionItem[]>('/submissions/puzzles')
|
||||
return this.request<SteamCollectionItem[]>('/opus-magnum/puzzles')
|
||||
}
|
||||
|
||||
async getCollection(): Promise<ApiResponse<SteamCollection>> {
|
||||
return this.request<SteamCollection>('/submissions/collection')
|
||||
return this.request<SteamCollection>('/opus-magnum/collection')
|
||||
}
|
||||
|
||||
async getTopSubmissions(limit = 5): Promise<ApiResponse<TournamentSubmissions>> {
|
||||
@@ -127,12 +127,12 @@ export class ApiService {
|
||||
// Submission endpoints
|
||||
async getSubmissions(limit = 20, offset = 0): Promise<ApiResponse<PaginatedResponse<Submission>>> {
|
||||
return this.request<PaginatedResponse<Submission>>(
|
||||
`/submissions/submissions?limit=${limit}&offset=${offset}`
|
||||
`/opus-magnum/submissions?limit=${limit}&offset=${offset}`
|
||||
)
|
||||
}
|
||||
|
||||
async getSubmission(id: string): Promise<ApiResponse<Submission>> {
|
||||
return this.request<Submission>(`/submissions/submissions/${id}`)
|
||||
return this.request<Submission>(`/opus-magnum/submissions/${id}`)
|
||||
}
|
||||
|
||||
async createSubmission(
|
||||
@@ -163,7 +163,7 @@ export class ApiService {
|
||||
formData.append('files', file)
|
||||
})
|
||||
|
||||
return this.uploadRequest<Submission>('/submissions/submissions', formData)
|
||||
return this.uploadRequest<Submission>('/opus-magnum/submissions', formData)
|
||||
}
|
||||
|
||||
// Admin endpoints (require staff permissions)
|
||||
@@ -175,37 +175,37 @@ export class ApiService {
|
||||
validated_area?: number
|
||||
}
|
||||
): Promise<ApiResponse<PuzzleResponse>> {
|
||||
return this.request<PuzzleResponse>(`/submissions/responses/${responseId}/validate`, {
|
||||
return this.request<PuzzleResponse>(`/opus-magnum/responses/${responseId}/validate`, {
|
||||
method: 'PUT',
|
||||
body: JSON.stringify(validationData),
|
||||
})
|
||||
}
|
||||
|
||||
async autoValidateResponses(responseId: number): Promise<ApiResponse<PuzzleResponse>> {
|
||||
return this.request<PuzzleResponse>(`/submissions/responses/${responseId}/validate/auto`, {
|
||||
return this.request<PuzzleResponse>(`/opus-magnum/responses/${responseId}/validate/auto`, {
|
||||
method: 'PUT',
|
||||
})
|
||||
}
|
||||
|
||||
async getResponsesNeedingValidation(): Promise<ApiResponse<PuzzleResponse[]>> {
|
||||
return this.request<PuzzleResponse[]>('/submissions/responses/needs-validation')
|
||||
return this.request<PuzzleResponse[]>('/opus-magnum/responses/needs-validation')
|
||||
}
|
||||
|
||||
async validateSubmission(submissionId: string): Promise<ApiResponse<Submission>> {
|
||||
return this.request<Submission>(`/submissions/submissions/${submissionId}/validate`, {
|
||||
return this.request<Submission>(`/opus-magnum/submissions/${submissionId}/validate`, {
|
||||
method: 'POST',
|
||||
})
|
||||
}
|
||||
|
||||
async deleteSubmission(submissionId: string): Promise<ApiResponse<{ detail: string }>> {
|
||||
return this.request<{ detail: string }>(`/submissions/submissions/${submissionId}`, {
|
||||
return this.request<{ detail: string }>(`/opus-magnum/submissions/${submissionId}`, {
|
||||
method: 'DELETE',
|
||||
})
|
||||
}
|
||||
|
||||
// Statistics endpoint
|
||||
async getStats(): Promise<ApiResponse<SubmissionStats>> {
|
||||
return this.request<SubmissionStats>('/submissions/stats')
|
||||
return this.request<SubmissionStats>('/opus-magnum/stats')
|
||||
}
|
||||
|
||||
// Health check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, computed } from 'vue'
|
||||
import { submissionsApiListPuzzles } from '@/api'
|
||||
import { opusMagnumApiListPuzzles } from '@/api'
|
||||
import type { SteamCollectionItem } from '@/types'
|
||||
|
||||
export const usePuzzlesStore = defineStore('puzzles', () => {
|
||||
@@ -38,7 +38,7 @@ export const usePuzzlesStore = defineStore('puzzles', () => {
|
||||
isLoading.value = true
|
||||
error.value = ''
|
||||
|
||||
const response = await submissionsApiListPuzzles()
|
||||
const response = await opusMagnumApiListPuzzles()
|
||||
if (response.error) {
|
||||
error.value = String(response.error)
|
||||
console.error('Failed to load puzzles:', response.error)
|
||||
|
||||
Reference in New Issue
Block a user