UNPKG

realm-object-server

Version:

Realm Object Server

118 lines 4.63 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const superagent = require("superagent"); const realms_1 = require("../realms"); const ServiceClientBase_1 = require("./ServiceClientBase"); class AuthClient extends ServiceClientBase_1.ServiceClientBase { constructor() { super(...arguments); this.serviceName = "auth"; this.baseRoute = "auth"; } revokeToken(token) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("revoke"); const request = superagent.post(route) .send({ token }); return this.executeRequest(request); }); } getUserById(userId) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("users", userId); const request = superagent.get(route); const jsonUser = yield this.executeRequest(request, { retryOn404: false }); return realms_1.User.fromJSON(jsonUser); }); } updateProviderData(provider, userId, data) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute(provider); const request = superagent.put(route) .send({ "user_id": userId, data }); return this.executeRequest(request, { retryOn404: false }); }); } deleteUser(userId) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("users", userId); const request = superagent.delete(route); return this.executeRequest(request, { retryOn404: false }); }); } requestPasswordReset(username) { const data = { action: "reset_password" }; return this.updateProviderAccount("password", data, username); } completePasswordReset(token, newPassword) { const data = { action: "complete_reset", token, new_password: newPassword }; return this.updateProviderAccount("password", data); } requestEmailConfirmation(username) { const data = { action: "request_email_confirmation" }; return this.updateProviderAccount("password", data, username); } completeEmailConfirmation(token) { const data = { action: "confirm_email", token, }; return this.updateProviderAccount("password", data); } updateProviderAccount(provider, data, providerId, token = null) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute(provider, "updateAccount"); const request = superagent.post(route).send({ data, provider_id: providerId }); return this.executeRequest(request, { token, retryOn404: false }); }); } getProviders() { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("providers"); const request = superagent.get(route); return this.executeRequest(request); }); } removeProvider(name) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("providers", name); const request = superagent.delete(route); return this.executeRequest(request, { retryOn404: false }); }); } addProvider(type, config, name) { return __awaiter(this, void 0, void 0, function* () { const route = yield this.getRoute("providers"); const request = superagent.post(route).send({ type, config, name }); return this.executeRequest(request); }); } } exports.AuthClient = AuthClient; //# sourceMappingURL=AuthClient.js.map