@zestic/oauth-core
Version:
Framework-agnostic OAuth authentication library with support for multiple OAuth flows
81 lines • 2.13 kB
TypeScript
/**
* GraphQL Resolvers for OAuth Core
*/
import type { RegistrationInput, SendMagicLinkInput, RegistrationResponse, MagicLinkResponse, ExtendedOAuthAdapters, MagicLinkConfig } from '../types/ServiceTypes';
export interface ASTNode {
kind: string;
value?: string | number | boolean;
fields?: Array<{
name: {
value: string;
};
value: ASTNode;
}>;
values?: ASTNode[];
}
/**
* Context interface for GraphQL resolvers
*/
export interface GraphQLContext {
adapters: ExtendedOAuthAdapters;
magicLinkConfig: MagicLinkConfig;
}
/**
* GraphQL resolvers
*/
export declare const resolvers: {
Query: {
_empty: () => string;
};
Mutation: {
/**
* Register a new user
*/
register: (_parent: unknown, { input }: {
input: RegistrationInput;
}, context: GraphQLContext) => Promise<RegistrationResponse>;
/**
* Send a magic link to the specified email
*/
sendMagicLink: (_parent: unknown, { input }: {
input: SendMagicLinkInput;
}, context: GraphQLContext) => Promise<MagicLinkResponse>;
};
JSON: {
serialize: (value: unknown) => unknown;
parseValue: (value: unknown) => unknown;
parseLiteral: (ast: ASTNode) => unknown;
};
};
/**
* Type definitions for resolver arguments
*/
export interface ResolverArgs {
register: {
input: RegistrationInput;
};
sendMagicLink: {
input: SendMagicLinkInput;
};
}
/**
* Helper function to create GraphQL context
*/
export declare function createGraphQLContext(adapters: ExtendedOAuthAdapters, magicLinkConfig: MagicLinkConfig): GraphQLContext;
/**
* Validation helpers for resolvers
*/
export declare const validationHelpers: {
/**
* Validate that required context is present
*/
validateContext(context: GraphQLContext): void;
/**
* Sanitize error messages for client consumption
*/
sanitizeError(error: unknown): {
message: string;
code: string;
};
};
//# sourceMappingURL=resolvers.d.ts.map