UNPKG

@coko/server

Version:

Reusable server for use by Coko's projects

39 lines 1.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = __importDefault(require("../../logger")); const pubsub_1 = __importDefault(require("../../graphql/pubsub")); const identity_controller_1 = require("./identity.controller"); const user_controller_1 = require("../user/user.controller"); const constants_1 = require("./constants"); const constants_2 = require("../user/constants"); const { IDENTITY_RESOLVER } = constants_1.labels; const { USER_UPDATED } = constants_2.subscriptions; const createOAuthIdentityResolver = async (_, { provider, sessionState, code }, ctx) => { try { logger_1.default.info(`${IDENTITY_RESOLVER} createOAuthIdentity`); const { userId } = ctx; const identity = await (0, identity_controller_1.createOAuthIdentity)(userId, provider, sessionState, code); const user = await (0, user_controller_1.getUser)(userId); pubsub_1.default.publish(USER_UPDATED, { userUpdated: user, }); return identity; } catch (e) { logger_1.default.error(`${IDENTITY_RESOLVER} createOAuthIdentity: ${e.message}`); throw e; } }; const resolvers = { Mutation: { createOAuthIdentity: createOAuthIdentityResolver, }, Identity: { hasValidRefreshToken: identity_controller_1.hasValidRefreshToken, }, }; exports.default = resolvers; //# sourceMappingURL=identity.resolvers.js.map