@accounts/module-password
Version:
Password module
36 lines (32 loc) • 1.09 kB
text/typescript
import { createModule } from 'graphql-modules';
import TypesTypeDefs from './schema/types';
import getQueryTypeDefs from './schema/query';
import getMutationTypeDefs from './schema/mutation';
import { Query } from './resolvers/query';
import { Mutation } from './resolvers/mutation';
import AccountsPassword, {
AccountsPasswordConfigToken,
type AccountsPasswordOptions,
} from '@accounts/password';
export * from './models';
export interface AccountsPasswordModuleConfig extends AccountsPasswordOptions {
rootQueryName?: string;
rootMutationName?: string;
extendTypeDefs?: boolean;
}
export const createAccountsPasswordModule = (config: AccountsPasswordModuleConfig = {}) =>
createModule({
id: 'accounts-password',
typeDefs: [TypesTypeDefs, getQueryTypeDefs(config), getMutationTypeDefs(config)],
resolvers: {
[config.rootQueryName || 'Query']: Query,
[config.rootMutationName || 'Mutation']: Mutation,
},
providers: [
{
provide: AccountsPasswordConfigToken,
useValue: config,
},
AccountsPassword,
],
});