/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { NbAuthStrategyOptions } from '@nebular/auth'; import { getDeepFromObject } from '../helper'; /** * @record */ export function NamePasswordStrategyModule() { } if (false) { /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.alwaysFail; /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.endpoint; /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.method; /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.redirect; /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.defaultErrors; /** @type {?|undefined} */ NamePasswordStrategyModule.prototype.defaultMessages; } /** * @record */ export function NamePasswordStrategySuccess() { } if (false) { /** @type {?|undefined} */ NamePasswordStrategySuccess.prototype.key; /** @type {?|undefined} */ NamePasswordStrategySuccess.prototype.getter; } /** * @record */ export function NamePasswordStrategyMessage() { } if (false) { /** @type {?|undefined} */ NamePasswordStrategyMessage.prototype.key; /** @type {?|undefined} */ NamePasswordStrategyMessage.prototype.getter; } export class NamePasswordAuthStrategyOptions extends NbAuthStrategyOptions { constructor() { super(...arguments); this.baseEndpoint = '/api/auth/'; this.getPublicKey = { endpoint: 'getPublicKey', method: 'get' }; this.login = { alwaysFail: false, endpoint: 'login', method: 'post', redirect: { success: '/', failure: null }, defaultErrors: ['未知错误!'], defaultMessages: ['You have been successfully logged in.'] }; this.createUser = { endpoint: 'createUser', method: 'post', defaultErrors: ['未知错误!'] }; this.updatePasswordForAdmin = { endpoint: 'updatePasswordForAdmin', method: 'patch', defaultErrors: ['未知错误!'] }; this.register = { alwaysFail: false, endpoint: 'register', method: 'post', redirect: { success: '/', failure: null }, defaultErrors: ['Something went wrong, please try again.'], defaultMessages: ['You have been successfully registered.'] }; this.requestPass = { endpoint: 'request-pass', method: 'post', redirect: { success: '/', failure: null }, defaultErrors: ['Something went wrong, please try again.'], defaultMessages: ['Reset password instructions have been sent to your email.'] }; this.resetPass = { endpoint: 'updateUserPassword', method: 'patch', redirect: { success: '/', failure: null }, defaultErrors: ['未知错误.'], defaultMessages: ['Your password has been successfully changed.'] }; this.logout = { alwaysFail: false, endpoint: 'logout', method: 'delete', redirect: { success: '/', failure: null }, defaultErrors: ['Something went wrong, please try again.'], defaultMessages: ['You have been successfully logged out.'] }; this.errors = { key: 'messager', getter: (/** * @param {?} module * @param {?} res * @param {?} options * @return {?} */ (module, res, options) => [ getDeepFromObject(res.error, options.errors.key, options[module].defaultErrors) ]) }; this.messages = { key: 'messager', getter: (/** * @param {?} module * @param {?} res * @param {?} options * @return {?} */ (module, res, options) => [getDeepFromObject(res.body, options.messages.key, false)]) }; this.success = { key: 'success', getter: (/** * @param {?} module * @param {?} res * @param {?} options * @return {?} */ (module, res, options) => getDeepFromObject(res.body, options.success.key, options[module].defaultMessages)) }; } } if (false) { /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.baseEndpoint; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.getPublicKey; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.login; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.createUser; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.updatePasswordForAdmin; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.register; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.requestPass; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.resetPass; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.logout; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.errors; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.messages; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.success; /** @type {?} */ NamePasswordAuthStrategyOptions.prototype.validation; } /** @type {?} */ export const namePasswordStrategyOptions = new NamePasswordAuthStrategyOptions(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1wYXNzd29yZC1zdHJhdGVneS1vcHRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9nZS1hZG1pbi1hdXRoLyIsInNvdXJjZXMiOlsibGliL3N0cmF0ZWd5L25hbWUtcGFzc3dvcmQtc3RyYXRlZ3ktb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBRTlDLGdEQVVDOzs7SUFUQyxnREFBcUI7O0lBQ3JCLDhDQUFrQjs7SUFDbEIsNENBQWdCOztJQUNoQiw4Q0FHRTs7SUFDRixtREFBeUI7O0lBQ3pCLHFEQUEyQjs7Ozs7QUFHN0IsaURBR0M7OztJQUZDLDBDQUFhOztJQUNiLDZDQUFrQjs7Ozs7QUFHcEIsaURBR0M7OztJQUZDLDBDQUFhOztJQUNiLDZDQUFrQjs7QUFHcEIsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHFCQUFxQjtJQUExRTs7UUFDRSxpQkFBWSxHQUFTLFlBQVksQ0FBQztRQUNsQyxpQkFBWSxHQUEwQztZQUNwRCxRQUFRLEVBQUUsY0FBYztZQUN4QixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7UUFDRixVQUFLLEdBQTBDO1lBQzdDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxHQUFHO2dCQUNaLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7WUFDRCxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDeEIsZUFBZSxFQUFFLENBQUMsdUNBQXVDLENBQUM7U0FDM0QsQ0FBQztRQUNGLGVBQVUsR0FBMEM7WUFDbEQsUUFBUSxFQUFFLFlBQVk7WUFDdEIsTUFBTSxFQUFFLE1BQU07WUFDZCxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDekIsQ0FBQztRQUNG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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOYkF1dGhTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAbmVidWxhci9hdXRoJztcclxuaW1wb3J0IHsgZ2V0RGVlcEZyb21PYmplY3QgfSBmcm9tICcuLi9oZWxwZXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSB7XHJcbiAgYWx3YXlzRmFpbD86IGJvb2xlYW47XHJcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XHJcbiAgbWV0aG9kPzogc3RyaW5nO1xyXG4gIHJlZGlyZWN0Pzoge1xyXG4gICAgc3VjY2Vzcz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBmYWlsdXJlPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGRlZmF1bHRFcnJvcnM/OiBzdHJpbmdbXTtcclxuICBkZWZhdWx0TWVzc2FnZXM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneVN1Y2Nlc3Mge1xyXG4gIGtleT86IHN0cmluZztcclxuICBnZXR0ZXI/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneU1lc3NhZ2Uge1xyXG4gIGtleT86IHN0cmluZztcclxuICBnZXR0ZXI/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMgZXh0ZW5kcyBOYkF1dGhTdHJhdGVneU9wdGlvbnMge1xyXG4gIGJhc2VFbmRwb2ludD86IGFueSA9ICcvYXBpL2F1dGgvJztcclxuICBnZXRQdWJsaWNLZXk/OiBib29sZWFuIHwgTmFtZVBhc3N3b3JkU3RyYXRlZ3lNb2R1bGUgPSB7XHJcbiAgICBlbmRwb2ludDogJ2dldFB1YmxpY0tleScsXHJcbiAgICBtZXRob2Q6ICdnZXQnXHJcbiAgfTtcclxuICBsb2dpbj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdsb2dpbicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddLFxyXG4gICAgZGVmYXVsdE1lc3NhZ2VzOiBbJ1lvdSBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBpbi4nXVxyXG4gIH07XHJcbiAgY3JlYXRlVXNlcj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGVuZHBvaW50OiAnY3JlYXRlVXNlcicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddXHJcbiAgfTtcclxuICB1cGRhdGVQYXNzd29yZEZvckFkbWluPzogYm9vbGVhbiB8IE5hbWVQYXNzd29yZFN0cmF0ZWd5TW9kdWxlID0ge1xyXG4gICAgZW5kcG9pbnQ6ICd1cGRhdGVQYXNzd29yZEZvckFkbWluJyxcclxuICAgIG1ldGhvZDogJ3BhdGNoJyxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddXHJcbiAgfTtcclxuICByZWdpc3Rlcj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdyZWdpc3RlcicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnWW91IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZC4nXVxyXG4gIH07XHJcbiAgcmVxdWVzdFBhc3M/OiBib29sZWFuIHwgTmFtZVBhc3N3b3JkU3RyYXRlZ3lNb2R1bGUgPSB7XHJcbiAgICBlbmRwb2ludDogJ3JlcXVlc3QtcGFzcycsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnUmVzZXQgcGFzc3dvcmQgaW5zdHJ1Y3Rpb25zIGhhdmUgYmVlbiBzZW50IHRvIHlvdXIgZW1haWwuJ11cclxuICB9O1xyXG4gIHJlc2V0UGFzcz86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGVuZHBvaW50OiAndXBkYXRlVXNlclBhc3N3b3JkJyxcclxuICAgIG1ldGhvZDogJ3BhdGNoJyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vLiddLFxyXG4gICAgZGVmYXVsdE1lc3NhZ2VzOiBbJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNoYW5nZWQuJ11cclxuICB9O1xyXG4gIGxvZ291dD86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdsb2dvdXQnLFxyXG4gICAgbWV0aG9kOiAnZGVsZXRlJyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnWW91IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91dC4nXVxyXG4gIH07XHJcbiAgZXJyb3JzPzogTmFtZVBhc3N3b3JkU3RyYXRlZ3lNZXNzYWdlID0ge1xyXG4gICAga2V5OiAnbWVzc2FnZXInLFxyXG4gICAgZ2V0dGVyOiAobW9kdWxlOiBzdHJpbmcsIHJlczogSHR0cEVycm9yUmVzcG9uc2UsIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMpID0+IFtcclxuICAgICAgZ2V0RGVlcEZyb21PYmplY3QocmVzLmVycm9yLCBvcHRpb25zLmVycm9ycy5rZXksIG9wdGlvbnNbbW9kdWxlXS5kZWZhdWx0RXJyb3JzKVxyXG4gICAgXVxyXG4gIH07XHJcbiAgbWVzc2FnZXM/OiBOYW1lUGFzc3dvcmRTdHJhdGVneU1lc3NhZ2UgPSB7XHJcbiAgICBrZXk6ICdtZXNzYWdlcicsXHJcbiAgICBnZXR0ZXI6IChcclxuICAgICAgbW9kdWxlOiBzdHJpbmcsXHJcbiAgICAgIHJlczogSHR0cFJlc3BvbnNlPE9iamVjdD4sXHJcbiAgICAgIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnNcclxuICAgICkgPT4gW2dldERlZXBGcm9tT2JqZWN0KHJlcy5ib2R5LCBvcHRpb25zLm1lc3NhZ2VzLmtleSwgZmFsc2UpXVxyXG4gIH07XHJcbiAgc3VjY2Vzcz86IE5hbWVQYXNzd29yZFN0cmF0ZWd5U3VjY2VzcyA9IHtcclxuICAgIGtleTogJ3N1Y2Nlc3MnLFxyXG4gICAgZ2V0dGVyOiAobW9kdWxlOiBzdHJpbmcsIHJlczogSHR0cFJlc3BvbnNlPE9iamVjdD4sIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMpID0+XHJcbiAgICAgIGdldERlZXBGcm9tT2JqZWN0KHJlcy5ib2R5LCBvcHRpb25zLnN1Y2Nlc3Mua2V5LCBvcHRpb25zW21vZHVsZV0uZGVmYXVsdE1lc3NhZ2VzKVxyXG4gIH07XHJcbiAgdmFsaWRhdGlvbj86IHtcclxuICAgIHBhc3N3b3JkPzoge1xyXG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgICAgIG1pbkxlbmd0aD86IG51bWJlciB8IG51bGw7XHJcbiAgICAgIG1heExlbmd0aD86IG51bWJlciB8IG51bGw7XHJcbiAgICAgIHJlZ2V4cD86IHN0cmluZyB8IG51bGw7XHJcbiAgICB9O1xyXG4gICAgdXNlck5hbWU/OiB7XHJcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAgICAgbWluTGVuZ3RoPzogbnVtYmVyIHwgbnVsbDtcclxuICAgICAgbWF4TGVuZ3RoPzogbnVtYmVyIHwgbnVsbDtcclxuICAgICAgcmVnZXhwPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG5hbWVQYXNzd29yZFN0cmF0ZWd5T3B0aW9uczogTmFtZVBhc3N3b3JkQXV0aFN0cmF0ZWd5T3B0aW9ucyA9IG5ldyBOYW1lUGFzc3dvcmRBdXRoU3RyYXRlZ3lPcHRpb25zKCk7XHJcbiJdfQ==