UNPKG

@accounts/module-mikro-orm

Version:

MikroORM Database Interface GraphQL Module

63 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAccountsMikroORMModule = void 0; const tslib_1 = require("tslib"); const graphql_modules_1 = require("graphql-modules"); const server_1 = require("@accounts/server"); const mikro_orm_1 = require("@accounts/mikro-orm"); const core_1 = require("@mikro-orm/core"); tslib_1.__exportStar(require("./types"), exports); tslib_1.__exportStar(require("./utils"), exports); const createAccountsMikroORMModule = ({ em, EmailEntity, SessionEntity, ServiceEntity, UserEntity, } = {}) => (0, graphql_modules_1.createModule)({ typeDefs: (0, graphql_modules_1.gql) ` extend type Query { _accounts_mikro_orm: String } `, id: 'accounts-mikro-orm', providers: () => { const providers = [ { provide: mikro_orm_1.EmailToken, useValue: EmailEntity, global: true, }, { provide: mikro_orm_1.SessionToken, useValue: SessionEntity, global: true, }, { provide: mikro_orm_1.ServiceToken, useValue: ServiceEntity, global: true, }, { provide: mikro_orm_1.UserToken, useValue: UserEntity, global: true, }, { provide: server_1.DatabaseInterfaceUserToken, useClass: mikro_orm_1.AccountsMikroOrm, global: true, }, { provide: server_1.DatabaseInterfaceSessionsToken, useValue: undefined, global: true, }, ]; if (em) { providers.push({ provide: core_1.EntityManager, scope: graphql_modules_1.Scope.Operation, useFactory: () => em.fork(), global: true, }); } return providers; }, }); exports.createAccountsMikroORMModule = createAccountsMikroORMModule; //# sourceMappingURL=index.js.map