realm-object-server
Version:
118 lines • 4.63 kB
JavaScript
"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