Added generated REST (orval) and GraphQL (codegen) API clients.

This commit is contained in:
Kayori
2026-08-09 17:59:22 +02:00
parent f48fc45820
commit 75cb329cf0
29 changed files with 2315 additions and 0 deletions
File diff suppressed because it is too large Load Diff
+100
View File
@@ -0,0 +1,100 @@
import {
ApolloClient,
HttpLink,
InMemoryCache,
type InteropApolloQueryResult,
type OperationVariables,
type QueryOptions,
} from '@apollo/client/core';
import { setContext } from '@apollo/client/link/context';
import { useUserStore } from '@/store/userStore';
import type { PageInfo } from '@/gql/graphql';
export class GraphQLClient {
public client: ApolloClient;
constructor(baseUrl?: string) {
// Read the store fresh on every request rather than once at construction time —
// this client is built as a module-level singleton (see `graphqlClient` below),
// which runs before Pinia is installed, so `useUserStore()` can't be called here.
const authLink = setContext((_operation, prevContext) => {
const token = useUserStore().accessToken;
return {
headers: {
...prevContext.headers,
Authorization: token ? `Bearer ${token}` : '',
},
};
});
const httpLink = new HttpLink({
// Relative path, proxied to the backend by vite's dev server (see vite.config.ts)
// the same way the REST client's `/api` calls are — matches that pattern instead
// of relying on a VITE_API_URL env var that isn't defined anywhere in this project.
uri: baseUrl ?? '/graphql',
});
this.client = new ApolloClient({
link: authLink.concat(httpLink),
cache: new InMemoryCache(),
});
}
public async fetchAllPaginated<
TQuery extends Record<string, unknown>,
TQueryVariables extends OperationVariables = OperationVariables,
>(options: QueryOptions<TQueryVariables, TQuery>): Promise<ExtractNode<TQuery>[]> {
const nodes: ExtractNode<TQuery>[] = [];
let hasNextPage = true;
let endCursor: PageInfo['endCursor'] | null = null;
while (hasNextPage) {
const variables = {
...options.variables,
...(endCursor ? { after: endCursor } : {}),
};
const result: InteropApolloQueryResult<TQuery> = await this.client.query<TQuery, TQueryVariables>({
...options,
variables: variables as TQueryVariables,
});
const connection = GraphQLClient.extractConnection<ExtractNode<TQuery>>(result.data as Record<string, unknown>);
nodes.push(...connection.edges.map((edge) => edge.node));
hasNextPage = connection.pageInfo.hasNextPage;
endCursor = connection.pageInfo.endCursor;
}
return nodes;
}
private static extractConnection<TNode>(data: Record<string, unknown>): {
edges: Array<{ node: TNode }>;
pageInfo: PageInfo;
} {
const connection = Object.values(data).find(
(value): value is { edges: Array<{ node: TNode }>; pageInfo: PageInfo } =>
value !== null &&
typeof value === 'object' &&
'edges' in value &&
Array.isArray((value as Record<string, unknown>)['edges']),
);
if (!connection) throw new Error('No connection field found in query result');
return connection;
}
}
type ExtractNode<TQuery> = {
[K in keyof TQuery]: TQuery[K] extends { edges?: Array<{ node: infer TNode }> | null } | null | undefined
? TNode
: never;
}[keyof TQuery];
// Single shared instance for the whole app. Anything that needs the Apollo client
// outside of a component's `setup()` (main.ts's `provide` call, the one-off helpers in
// useGraphqlOnce.ts) imports this directly instead of going through Vue's `inject()`,
// which only resolves synchronously during setup.
export const graphqlClient = new GraphQLClient();
+327
View File
@@ -0,0 +1,327 @@
/** Internal type. DO NOT USE DIRECTLY. */
type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
/** Internal type. DO NOT USE DIRECTLY. */
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
import gql from 'graphql-tag';
import * as VueApolloComposable from '@vue/apollo-composable';
import * as VueCompositionApi from 'vue';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type ReactiveFunction<TParam> = () => TParam;
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
ID: { input: string; output: string; }
String: { input: string; output: string; }
Boolean: { input: boolean; output: boolean; }
Int: { input: number; output: number; }
Float: { input: number; output: number; }
DateTime: { input: Date; output: Date; }
};
/** Defines when a policy shall be executed. */
export enum ApplyPolicy {
/** After the resolver was executed. */
AFTER_RESOLVER = 'AFTER_RESOLVER',
/** Before the resolver was executed. */
BEFORE_RESOLVER = 'BEFORE_RESOLVER',
/** The policy is applied in the validation step before the execution. */
VALIDATION = 'VALIDATION'
}
export type BooleanOperationFilterInput = {
eq?: InputMaybe<Scalars['Boolean']['input']>;
neq?: InputMaybe<Scalars['Boolean']['input']>;
};
/** The scope of a cache hint. */
export enum CacheControlScope {
/** The value to cache is specific to a single user. */
PRIVATE = 'PRIVATE',
/** The value to cache is not tied to a single user. */
PUBLIC = 'PUBLIC'
}
export type Card = {
__typename?: 'Card';
id: Scalars['Int']['output'];
konamiId: Scalars['String']['output'];
rawId: Scalars['String']['output'];
user: User;
userId: Scalars['Int']['output'];
};
export type CardFilterInput = {
and?: InputMaybe<Array<CardFilterInput>>;
id?: InputMaybe<IntOperationFilterInput>;
konamiId?: InputMaybe<StringOperationFilterInput>;
or?: InputMaybe<Array<CardFilterInput>>;
rawId?: InputMaybe<StringOperationFilterInput>;
user?: InputMaybe<UserFilterInput>;
userId?: InputMaybe<IntOperationFilterInput>;
};
export type CardSortInput = {
id?: InputMaybe<SortEnumType>;
konamiId?: InputMaybe<SortEnumType>;
rawId?: InputMaybe<SortEnumType>;
user?: InputMaybe<UserSortInput>;
userId?: InputMaybe<SortEnumType>;
};
export type DateTimeOperationFilterInput = {
eq?: InputMaybe<Scalars['DateTime']['input']>;
gt?: InputMaybe<Scalars['DateTime']['input']>;
gte?: InputMaybe<Scalars['DateTime']['input']>;
in?: InputMaybe<Array<InputMaybe<Scalars['DateTime']['input']>>>;
lt?: InputMaybe<Scalars['DateTime']['input']>;
lte?: InputMaybe<Scalars['DateTime']['input']>;
neq?: InputMaybe<Scalars['DateTime']['input']>;
ngt?: InputMaybe<Scalars['DateTime']['input']>;
ngte?: InputMaybe<Scalars['DateTime']['input']>;
nin?: InputMaybe<Array<InputMaybe<Scalars['DateTime']['input']>>>;
nlt?: InputMaybe<Scalars['DateTime']['input']>;
nlte?: InputMaybe<Scalars['DateTime']['input']>;
};
export type IntOperationFilterInput = {
eq?: InputMaybe<Scalars['Int']['input']>;
gt?: InputMaybe<Scalars['Int']['input']>;
gte?: InputMaybe<Scalars['Int']['input']>;
in?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;
lt?: InputMaybe<Scalars['Int']['input']>;
lte?: InputMaybe<Scalars['Int']['input']>;
neq?: InputMaybe<Scalars['Int']['input']>;
ngt?: InputMaybe<Scalars['Int']['input']>;
ngte?: InputMaybe<Scalars['Int']['input']>;
nin?: InputMaybe<Array<InputMaybe<Scalars['Int']['input']>>>;
nlt?: InputMaybe<Scalars['Int']['input']>;
nlte?: InputMaybe<Scalars['Int']['input']>;
};
export type ListFilterInputTypeOfCardFilterInput = {
all?: InputMaybe<CardFilterInput>;
any?: InputMaybe<Scalars['Boolean']['input']>;
none?: InputMaybe<CardFilterInput>;
some?: InputMaybe<CardFilterInput>;
};
export type Mutation = {
__typename?: 'Mutation';
addCard: Array<Card>;
};
export type MutationAddCardArgs = {
cardNumber: Scalars['String']['input'];
};
/** A connection to a list of items. */
export type MyCardsConnection = {
__typename?: 'MyCardsConnection';
/** A list of edges. */
edges?: Maybe<Array<MyCardsEdge>>;
/** A flattened list of the nodes. */
nodes?: Maybe<Array<Card>>;
/** Information to aid in pagination. */
pageInfo: PageInfo;
/** Identifies the total count of items in the connection. */
totalCount: Scalars['Int']['output'];
};
/** An edge in a connection. */
export type MyCardsEdge = {
__typename?: 'MyCardsEdge';
/** A cursor for use in pagination. */
cursor: Scalars['String']['output'];
/** The item at the end of the edge. */
node: Card;
};
/** Information about pagination in a connection. */
export type PageInfo = {
__typename?: 'PageInfo';
/** When paginating forwards, the cursor to continue. */
endCursor?: Maybe<Scalars['String']['output']>;
/** Indicates whether more edges exist following the set defined by the clients arguments. */
hasNextPage: Scalars['Boolean']['output'];
/** Indicates whether more edges exist prior the set defined by the clients arguments. */
hasPreviousPage: Scalars['Boolean']['output'];
/** When paginating backwards, the cursor to continue. */
startCursor?: Maybe<Scalars['String']['output']>;
};
export type Query = {
__typename?: 'Query';
myCards?: Maybe<MyCardsConnection>;
};
export type QueryMyCardsArgs = {
after?: InputMaybe<Scalars['String']['input']>;
before?: InputMaybe<Scalars['String']['input']>;
first?: InputMaybe<Scalars['Int']['input']>;
last?: InputMaybe<Scalars['Int']['input']>;
order?: InputMaybe<Array<CardSortInput>>;
where?: InputMaybe<CardFilterInput>;
};
export enum SortEnumType {
ASC = 'ASC',
DESC = 'DESC'
}
export type StringOperationFilterInput = {
and?: InputMaybe<Array<StringOperationFilterInput>>;
contains?: InputMaybe<Scalars['String']['input']>;
endsWith?: InputMaybe<Scalars['String']['input']>;
eq?: InputMaybe<Scalars['String']['input']>;
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
ncontains?: InputMaybe<Scalars['String']['input']>;
nendsWith?: InputMaybe<Scalars['String']['input']>;
neq?: InputMaybe<Scalars['String']['input']>;
nin?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
nstartsWith?: InputMaybe<Scalars['String']['input']>;
or?: InputMaybe<Array<StringOperationFilterInput>>;
startsWith?: InputMaybe<Scalars['String']['input']>;
};
export type User = {
__typename?: 'User';
accessFailedCount: Scalars['Int']['output'];
cards: Array<Card>;
concurrencyStamp?: Maybe<Scalars['String']['output']>;
email?: Maybe<Scalars['String']['output']>;
emailConfirmed: Scalars['Boolean']['output'];
id: Scalars['Int']['output'];
lockoutEnabled: Scalars['Boolean']['output'];
lockoutEnd?: Maybe<Scalars['DateTime']['output']>;
normalizedEmail?: Maybe<Scalars['String']['output']>;
normalizedUserName?: Maybe<Scalars['String']['output']>;
paseliAmount: Scalars['Int']['output'];
passwordHash?: Maybe<Scalars['String']['output']>;
phoneNumber?: Maybe<Scalars['String']['output']>;
phoneNumberConfirmed: Scalars['Boolean']['output'];
pin: Scalars['String']['output'];
securityStamp?: Maybe<Scalars['String']['output']>;
twoFactorEnabled: Scalars['Boolean']['output'];
userName?: Maybe<Scalars['String']['output']>;
};
export type UserFilterInput = {
accessFailedCount?: InputMaybe<IntOperationFilterInput>;
and?: InputMaybe<Array<UserFilterInput>>;
cards?: InputMaybe<ListFilterInputTypeOfCardFilterInput>;
concurrencyStamp?: InputMaybe<StringOperationFilterInput>;
email?: InputMaybe<StringOperationFilterInput>;
emailConfirmed?: InputMaybe<BooleanOperationFilterInput>;
id?: InputMaybe<IntOperationFilterInput>;
lockoutEnabled?: InputMaybe<BooleanOperationFilterInput>;
lockoutEnd?: InputMaybe<DateTimeOperationFilterInput>;
normalizedEmail?: InputMaybe<StringOperationFilterInput>;
normalizedUserName?: InputMaybe<StringOperationFilterInput>;
or?: InputMaybe<Array<UserFilterInput>>;
paseliAmount?: InputMaybe<IntOperationFilterInput>;
passwordHash?: InputMaybe<StringOperationFilterInput>;
phoneNumber?: InputMaybe<StringOperationFilterInput>;
phoneNumberConfirmed?: InputMaybe<BooleanOperationFilterInput>;
pin?: InputMaybe<StringOperationFilterInput>;
securityStamp?: InputMaybe<StringOperationFilterInput>;
twoFactorEnabled?: InputMaybe<BooleanOperationFilterInput>;
userName?: InputMaybe<StringOperationFilterInput>;
};
export type UserSortInput = {
accessFailedCount?: InputMaybe<SortEnumType>;
concurrencyStamp?: InputMaybe<SortEnumType>;
email?: InputMaybe<SortEnumType>;
emailConfirmed?: InputMaybe<SortEnumType>;
id?: InputMaybe<SortEnumType>;
lockoutEnabled?: InputMaybe<SortEnumType>;
lockoutEnd?: InputMaybe<SortEnumType>;
normalizedEmail?: InputMaybe<SortEnumType>;
normalizedUserName?: InputMaybe<SortEnumType>;
paseliAmount?: InputMaybe<SortEnumType>;
passwordHash?: InputMaybe<SortEnumType>;
phoneNumber?: InputMaybe<SortEnumType>;
phoneNumberConfirmed?: InputMaybe<SortEnumType>;
pin?: InputMaybe<SortEnumType>;
securityStamp?: InputMaybe<SortEnumType>;
twoFactorEnabled?: InputMaybe<SortEnumType>;
userName?: InputMaybe<SortEnumType>;
};
export type AddCardMutationVariables = Exact<{
cardNumber: string;
}>;
export type AddCardMutation = { addCard: Array<{ konamiId: string, rawId: string }> };
export type GetMyCardsQueryVariables = Exact<{ [key: string]: never; }>;
export type GetMyCardsQuery = { myCards: { edges: Array<{ node: { konamiId: string, rawId: string } }> | null } | null };
export const AddCardDocument = gql`
mutation AddCard($cardNumber: String!) {
addCard(cardNumber: $cardNumber) {
konamiId
rawId
}
}
`;
/**
* __useAddCardMutation__
*
* To run a mutation, you first call `useAddCardMutation` within a Vue component and pass it any options that fit your needs.
* When your component renders, `useAddCardMutation` returns an object that includes:
* - A mutate function that you can call at any time to execute the mutation
* - Several other properties: https://v4.apollo.vuejs.org/api/use-mutation.html#return
*
* @param options that will be passed into the mutation, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/mutation.html#options;
*
* @example
* const { mutate, loading, error, onDone } = useAddCardMutation({
* variables: {
* cardNumber: // value for 'cardNumber'
* },
* });
*/
export function useAddCardMutation(options: VueApolloComposable.UseMutationOptions<AddCardMutation, AddCardMutationVariables> | ReactiveFunction<VueApolloComposable.UseMutationOptions<AddCardMutation, AddCardMutationVariables>> = {}) {
return VueApolloComposable.useMutation<AddCardMutation, AddCardMutationVariables>(AddCardDocument, options);
}
export type AddCardMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn<AddCardMutation, AddCardMutationVariables>;
export const GetMyCardsDocument = gql`
query GetMyCards {
myCards {
edges {
node {
konamiId
rawId
}
}
}
}
`;
/**
* __useGetMyCardsQuery__
*
* To run a query within a Vue component, call `useGetMyCardsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetMyCardsQuery` returns an object from Apollo Client that contains result, loading and error properties
* you can use to render your UI.
*
* @param options that will be passed into the query, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/query.html#options;
*
* @example
* const { result, loading, error } = useGetMyCardsQuery();
*/
export function useGetMyCardsQuery(options: VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables>> = {}) {
return VueApolloComposable.useQuery<GetMyCardsQuery, GetMyCardsQueryVariables>(GetMyCardsDocument, {}, options);
}
export function useGetMyCardsLazyQuery(options: VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables> | VueCompositionApi.Ref<VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables>> | ReactiveFunction<VueApolloComposable.UseQueryOptions<GetMyCardsQuery, GetMyCardsQueryVariables>> = {}) {
return VueApolloComposable.useLazyQuery<GetMyCardsQuery, GetMyCardsQueryVariables>(GetMyCardsDocument, {}, options);
}
export type GetMyCardsQueryCompositionFunctionResult = VueApolloComposable.UseQueryReturn<GetMyCardsQuery, GetMyCardsQueryVariables>;
@@ -0,0 +1,6 @@
mutation AddCard($cardNumber: String!) {
addCard(cardNumber: $cardNumber) {
konamiId
rawId
}
}
@@ -0,0 +1,10 @@
query GetMyCards {
myCards {
edges {
node {
konamiId
rawId
}
}
}
}
@@ -0,0 +1,15 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface AccessTokenResponse {
/** @nullable */
tokenType?: string | null;
accessToken: string;
/** @pattern ^-?(?:0|[1-9]\d*)$ */
expiresIn: number | string;
refreshToken: string;
}
+15
View File
@@ -0,0 +1,15 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface CardDto {
/** @pattern ^-?(?:0|[1-9]\d*)$ */
id?: number | string;
konamiId?: string;
rawId?: string;
/** @pattern ^-?(?:0|[1-9]\d*)$ */
userId?: number | string;
}
+24
View File
@@ -0,0 +1,24 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
import type { ClaimProperties } from './claimProperties';
import type { ClaimsIdentity } from './claimsIdentity';
export interface Claim {
/** @nullable */
issuer?: string | null;
/** @nullable */
originalIssuer?: string | null;
/** @nullable */
properties?: ClaimProperties;
subject?: ClaimsIdentity;
/** @nullable */
type?: string | null;
/** @nullable */
value?: string | null;
/** @nullable */
valueType?: string | null;
}
@@ -0,0 +1,11 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
/**
* @nullable
*/
export type ClaimProperties = null | {[key: string]: string};
@@ -0,0 +1,25 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
import type { Claim } from './claim';
export interface ClaimsIdentity {
/** @nullable */
authenticationType?: string | null;
isAuthenticated?: boolean;
actor?: null | ClaimsIdentity;
bootstrapContext?: unknown;
/** @nullable */
claims?: Claim[] | null;
/** @nullable */
label?: string | null;
/** @nullable */
name?: string | null;
/** @nullable */
nameClaimType?: string | null;
/** @nullable */
roleClaimType?: string | null;
}
@@ -0,0 +1,10 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface ForgotPasswordRequest {
email: string;
}
@@ -0,0 +1,24 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
import type { HttpValidationProblemDetailsErrors } from './httpValidationProblemDetailsErrors';
export interface HttpValidationProblemDetails {
/** @nullable */
type?: string | null;
/** @nullable */
title?: string | null;
/**
* @nullable
* @pattern ^-?(?:0|[1-9]\d*)$
*/
status?: number | string | null;
/** @nullable */
detail?: string | null;
/** @nullable */
instance?: string | null;
errors?: HttpValidationProblemDetailsErrors;
}
@@ -0,0 +1,8 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export type HttpValidationProblemDetailsErrors = {[key: string]: string[]};
+30
View File
@@ -0,0 +1,30 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export * from './accessTokenResponse';
export * from './cardDto';
export * from './claim';
export * from './claimProperties';
export * from './claimsIdentity';
export * from './forgotPasswordRequest';
export * from './httpValidationProblemDetails';
export * from './httpValidationProblemDetailsErrors';
export * from './infoRequest';
export * from './infoResponse';
export * from './loginRequest';
export * from './mapIdentityApiApiAuthConfirmEmailParams';
export * from './postApiAuthLoginParams';
export * from './postEamuseMParams';
export * from './postEamuseParams';
export * from './refreshRequest';
export * from './registerRequest';
export * from './resendConfirmationEmailRequest';
export * from './resetPasswordRequest';
export * from './twoFactorRequest';
export * from './twoFactorResponse';
export * from './validateCardRequest';
export * from './validateCardResponse';
+15
View File
@@ -0,0 +1,15 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface InfoRequest {
/** @nullable */
newEmail?: string | null;
/** @nullable */
newPassword?: string | null;
/** @nullable */
oldPassword?: string | null;
}
+11
View File
@@ -0,0 +1,11 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface InfoResponse {
email: string;
isEmailConfirmed: boolean;
}
+15
View File
@@ -0,0 +1,15 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface LoginRequest {
email: string;
password: string;
/** @nullable */
twoFactorCode?: string | null;
/** @nullable */
twoFactorRecoveryCode?: string | null;
}
@@ -0,0 +1,12 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export type MapIdentityApiApiAuthConfirmEmailParams = {
userId: string;
code: string;
changedEmail?: string;
};
@@ -0,0 +1,11 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export type PostApiAuthLoginParams = {
useCookies?: boolean;
useSessionCookies?: boolean;
};
@@ -0,0 +1,13 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export type PostEamuseMParams = {
model: string;
module?: string;
method?: string;
f?: string;
};
@@ -0,0 +1,13 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export type PostEamuseParams = {
model: string;
module?: string;
method?: string;
f?: string;
};
@@ -0,0 +1,10 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface RefreshRequest {
refreshToken: string;
}
@@ -0,0 +1,14 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface RegisterRequest {
konamiId: string;
pin: string;
username: string;
email: string;
password: string;
}
@@ -0,0 +1,10 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface ResendConfirmationEmailRequest {
email: string;
}
@@ -0,0 +1,12 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface ResetPasswordRequest {
email: string;
resetCode: string;
newPassword: string;
}
@@ -0,0 +1,16 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface TwoFactorRequest {
/** @nullable */
enable?: boolean | null;
/** @nullable */
twoFactorCode?: string | null;
resetSharedKey?: boolean;
resetRecoveryCodes?: boolean;
forgetMachine?: boolean;
}
@@ -0,0 +1,16 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface TwoFactorResponse {
sharedKey: string;
/** @pattern ^-?(?:0|[1-9]\d*)$ */
recoveryCodesLeft: number | string;
/** @nullable */
recoveryCodes?: string[] | null;
isTwoFactorEnabled: boolean;
isMachineRemembered: boolean;
}
@@ -0,0 +1,11 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface ValidateCardRequest {
cardId: string;
pin: string;
}
@@ -0,0 +1,11 @@
/**
* Generated by orval v8.23.0 🍺
* Do not edit manually.
* Server | v1
* OpenAPI spec version: 1.0.0
*/
export interface ValidateCardResponse {
message: string;
success?: boolean;
}