UNPKG

@openinc/parse-server-opendash

Version:
51 lines (50 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = init; const transformLogin_1 = require("../helper/transformLogin"); async function init(name) { Parse.Cloud.define(name, async function (request) { const username = (0, transformLogin_1.transformLogin)(request.params.login); const password = request.params.password; try { const user = await Parse.User.logIn(username, password); return { sessionToken: user.getSessionToken(), }; } catch (error) { if (error instanceof Parse.Error) { if (error.message.startsWith("t:")) { throw error; } } try { const user = await Parse.Cloud.run("ldap_login", { username, password, }); if (!user?.session) { throw new Error(); } return { sessionToken: user.session, }; } catch (error) { throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, "t:AUTH_INVALID"); } } }, { requireUser: false, fields: { login: { required: true, type: String, }, password: { required: true, type: String, }, }, }); }