1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const tslib_1 = require("tslib");
|
4 | const provider_callback_1 = require("./endpoints/oauth/provider-callback");
|
5 | const reset_1 = require("./endpoints/password/reset");
|
6 | const verify_email_1 = require("./endpoints/password/verify-email");
|
7 | const express = tslib_1.__importStar(require("express"));
|
8 | const requestIp = tslib_1.__importStar(require("request-ip"));
|
9 | const refresh_access_token_1 = require("./endpoints/refresh-access-token");
|
10 | const get_user_1 = require("./endpoints/get-user");
|
11 | const impersonate_1 = require("./endpoints/impersonate");
|
12 | const logout_1 = require("./endpoints/logout");
|
13 | const service_authenticate_1 = require("./endpoints/service-authenticate");
|
14 | const verify_authentication_1 = require("./endpoints/verify-authentication");
|
15 | const register_1 = require("./endpoints/password/register");
|
16 | const two_factor_1 = require("./endpoints/password/two-factor");
|
17 | const change_password_1 = require("./endpoints/password/change-password");
|
18 | const add_email_1 = require("./endpoints/password/add-email");
|
19 | const user_loader_1 = require("./user-loader");
|
20 | const get_user_agent_1 = require("./utils/get-user-agent");
|
21 | const defaultOptions = {
|
22 | path: '/accounts',
|
23 | };
|
24 | const accountsExpress = (accountsServer, options = {}) => {
|
25 | options = { ...defaultOptions, ...options };
|
26 | let { path } = options;
|
27 |
|
28 | if (path === '/') {
|
29 | path = '';
|
30 | }
|
31 | const router = express.Router();
|
32 | |
33 |
|
34 |
|
35 | router.use((req, _, next) => {
|
36 | const userAgent = get_user_agent_1.getUserAgent(req);
|
37 | const ip = requestIp.getClientIp(req);
|
38 | req.infos = {
|
39 | userAgent,
|
40 | ip,
|
41 | };
|
42 | next();
|
43 | });
|
44 | router.post(`${path}/impersonate`, impersonate_1.impersonate(accountsServer));
|
45 | router.get(`${path}/user`, user_loader_1.userLoader(accountsServer), get_user_1.getUser());
|
46 | router.post(`${path}/user`, user_loader_1.userLoader(accountsServer), get_user_1.getUser());
|
47 | router.post(`${path}/refreshTokens`, refresh_access_token_1.refreshAccessToken(accountsServer));
|
48 | router.post(`${path}/logout`, user_loader_1.userLoader(accountsServer), logout_1.logout(accountsServer));
|
49 | router.post(`${path}/:service/verifyAuthentication`, verify_authentication_1.serviceVerifyAuthentication(accountsServer));
|
50 | router.post(`${path}/:service/authenticate`, service_authenticate_1.serviceAuthenticate(accountsServer));
|
51 | const services = accountsServer.getServices();
|
52 |
|
53 | if (services.password) {
|
54 | router.post(`${path}/password/register`, register_1.registerPassword(accountsServer));
|
55 | router.post(`${path}/password/verifyEmail`, verify_email_1.verifyEmail(accountsServer));
|
56 | router.post(`${path}/password/resetPassword`, reset_1.resetPassword(accountsServer));
|
57 | router.post(`${path}/password/sendVerificationEmail`, verify_email_1.sendVerificationEmail(accountsServer));
|
58 | router.post(`${path}/password/sendResetPasswordEmail`, reset_1.sendResetPasswordEmail(accountsServer));
|
59 | router.post(`${path}/password/addEmail`, user_loader_1.userLoader(accountsServer), add_email_1.addEmail(accountsServer));
|
60 | router.post(`${path}/password/changePassword`, user_loader_1.userLoader(accountsServer), change_password_1.changePassword(accountsServer));
|
61 | router.post(`${path}/password/twoFactorSecret`, user_loader_1.userLoader(accountsServer), two_factor_1.twoFactorSecret(accountsServer));
|
62 | router.post(`${path}/password/twoFactorSet`, user_loader_1.userLoader(accountsServer), two_factor_1.twoFactorSet(accountsServer));
|
63 | router.post(`${path}/password/twoFactorUnset`, user_loader_1.userLoader(accountsServer), two_factor_1.twoFactorUnset(accountsServer));
|
64 | }
|
65 |
|
66 | if (services.oauth) {
|
67 | router.get(`${path}/oauth/:provider/callback`, provider_callback_1.providerCallback(accountsServer, options));
|
68 | }
|
69 | return router;
|
70 | };
|
71 | exports.default = accountsExpress;
|
72 |
|
\ | No newline at end of file |