@coko/server
Version:
Reusable server for use by Coko's projects
39 lines • 1.59 kB
JavaScript
;
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