@accounts/module-typeorm
Version:
TypeORM Database Interface GraphQL Module
62 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAccountsTypeORMModule = void 0;
const graphql_modules_1 = require("graphql-modules");
const server_1 = require("@accounts/server");
const typeorm_1 = require("@accounts/typeorm");
const typeorm_2 = require("typeorm");
const createAccountsTypeORMModule = ({ connection, UserEmailEntity = typeorm_1.UserEmail, UserSessionEntity = typeorm_1.UserSession, UserServiceEntity = typeorm_1.UserService, UserEntity = typeorm_1.User, ...options } = {}) => (0, graphql_modules_1.createModule)({
typeDefs: (0, graphql_modules_1.gql) `
extend type Query {
_accounts_typeorm: String
}
`,
id: 'accounts-typeorm',
providers: () => {
const providers = [
{
provide: typeorm_1.UserEmailToken,
useValue: UserEmailEntity,
global: true,
},
{
provide: typeorm_1.UserSessionToken,
useValue: UserSessionEntity,
global: true,
},
{
provide: typeorm_1.UserServiceToken,
useValue: UserServiceEntity,
global: true,
},
{
provide: typeorm_1.UserToken,
useValue: UserEntity,
global: true,
},
{
provide: server_1.DatabaseInterfaceUserToken,
useClass: typeorm_1.AccountsTypeorm,
global: true,
},
{
provide: server_1.DatabaseInterfaceSessionsToken,
useValue: undefined,
global: true,
},
{
provide: typeorm_1.AccountsTypeORMConfigToken,
useValue: options,
global: true,
},
{
provide: typeorm_2.Connection,
useValue: connection,
global: true,
},
];
return providers;
},
});
exports.createAccountsTypeORMModule = createAccountsTypeORMModule;
//# sourceMappingURL=index.js.map