name-password-strategy-option.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import * as tslib_1 from "tslib";
  6. import { NbAuthStrategyOptions } from '@nebular/auth';
  7. import { getDeepFromObject } from '@nebular/auth/helpers';
  8. /**
  9. * @record
  10. */
  11. export function NamePasswordStrategyModule() { }
  12. if (false) {
  13. /** @type {?|undefined} */
  14. NamePasswordStrategyModule.prototype.alwaysFail;
  15. /** @type {?|undefined} */
  16. NamePasswordStrategyModule.prototype.endpoint;
  17. /** @type {?|undefined} */
  18. NamePasswordStrategyModule.prototype.method;
  19. /** @type {?|undefined} */
  20. NamePasswordStrategyModule.prototype.redirect;
  21. /** @type {?|undefined} */
  22. NamePasswordStrategyModule.prototype.defaultErrors;
  23. /** @type {?|undefined} */
  24. NamePasswordStrategyModule.prototype.defaultMessages;
  25. }
  26. /**
  27. * @record
  28. */
  29. export function NamePasswordStrategySuccess() { }
  30. if (false) {
  31. /** @type {?|undefined} */
  32. NamePasswordStrategySuccess.prototype.key;
  33. /** @type {?|undefined} */
  34. NamePasswordStrategySuccess.prototype.getter;
  35. }
  36. /**
  37. * @record
  38. */
  39. export function NamePasswordStrategyMessage() { }
  40. if (false) {
  41. /** @type {?|undefined} */
  42. NamePasswordStrategyMessage.prototype.key;
  43. /** @type {?|undefined} */
  44. NamePasswordStrategyMessage.prototype.getter;
  45. }
  46. var NamePasswordAuthStrategyOptions = /** @class */ (function (_super) {
  47. tslib_1.__extends(NamePasswordAuthStrategyOptions, _super);
  48. function NamePasswordAuthStrategyOptions() {
  49. var _this = _super !== null && _super.apply(this, arguments) || this;
  50. _this.baseEndpoint = '/api/auth/';
  51. _this.getPublicKey = {
  52. endpoint: 'getPublicKey',
  53. method: 'get'
  54. };
  55. _this.login = {
  56. alwaysFail: false,
  57. endpoint: 'login',
  58. method: 'post',
  59. redirect: {
  60. success: '/',
  61. failure: null
  62. },
  63. defaultErrors: ['未知错误!'],
  64. defaultMessages: ['You have been successfully logged in.']
  65. };
  66. _this.createUser = {
  67. endpoint: 'createUser',
  68. method: 'post',
  69. defaultErrors: ['未知错误!']
  70. };
  71. _this.updatePasswordForAdmin = {
  72. endpoint: 'updatePasswordForAdmin',
  73. method: 'patch',
  74. defaultErrors: ['未知错误!']
  75. };
  76. _this.register = {
  77. alwaysFail: false,
  78. endpoint: 'register',
  79. method: 'post',
  80. redirect: {
  81. success: '/',
  82. failure: null
  83. },
  84. defaultErrors: ['Something went wrong, please try again.'],
  85. defaultMessages: ['You have been successfully registered.']
  86. };
  87. _this.requestPass = {
  88. endpoint: 'request-pass',
  89. method: 'post',
  90. redirect: {
  91. success: '/',
  92. failure: null
  93. },
  94. defaultErrors: ['Something went wrong, please try again.'],
  95. defaultMessages: ['Reset password instructions have been sent to your email.']
  96. };
  97. _this.resetPass = {
  98. endpoint: 'updateUserPassword',
  99. method: 'patch',
  100. redirect: {
  101. success: '/',
  102. failure: null
  103. },
  104. defaultErrors: ['未知错误.'],
  105. defaultMessages: ['Your password has been successfully changed.']
  106. };
  107. _this.logout = {
  108. alwaysFail: false,
  109. endpoint: 'logout',
  110. method: 'delete',
  111. redirect: {
  112. success: '/',
  113. failure: null
  114. },
  115. defaultErrors: ['Something went wrong, please try again.'],
  116. defaultMessages: ['You have been successfully logged out.']
  117. };
  118. _this.errors = {
  119. key: 'messager',
  120. getter: function (module, res, options) { return [
  121. getDeepFromObject(res.error, options.errors.key, options[module].defaultErrors)
  122. ]; }
  123. };
  124. _this.messages = {
  125. key: 'messager',
  126. getter: function (module, res, options) { return [getDeepFromObject(res.body, options.messages.key, false)]; }
  127. };
  128. _this.success = {
  129. key: 'success',
  130. getter: function (module, res, options) {
  131. return getDeepFromObject(res.body, options.success.key, options[module].defaultMessages);
  132. }
  133. };
  134. return _this;
  135. }
  136. return NamePasswordAuthStrategyOptions;
  137. }(NbAuthStrategyOptions));
  138. export { NamePasswordAuthStrategyOptions };
  139. if (false) {
  140. /** @type {?} */
  141. NamePasswordAuthStrategyOptions.prototype.baseEndpoint;
  142. /** @type {?} */
  143. NamePasswordAuthStrategyOptions.prototype.getPublicKey;
  144. /** @type {?} */
  145. NamePasswordAuthStrategyOptions.prototype.login;
  146. /** @type {?} */
  147. NamePasswordAuthStrategyOptions.prototype.createUser;
  148. /** @type {?} */
  149. NamePasswordAuthStrategyOptions.prototype.updatePasswordForAdmin;
  150. /** @type {?} */
  151. NamePasswordAuthStrategyOptions.prototype.register;
  152. /** @type {?} */
  153. NamePasswordAuthStrategyOptions.prototype.requestPass;
  154. /** @type {?} */
  155. NamePasswordAuthStrategyOptions.prototype.resetPass;
  156. /** @type {?} */
  157. NamePasswordAuthStrategyOptions.prototype.logout;
  158. /** @type {?} */
  159. NamePasswordAuthStrategyOptions.prototype.errors;
  160. /** @type {?} */
  161. NamePasswordAuthStrategyOptions.prototype.messages;
  162. /** @type {?} */
  163. NamePasswordAuthStrategyOptions.prototype.success;
  164. /** @type {?} */
  165. NamePasswordAuthStrategyOptions.prototype.validation;
  166. }
  167. /** @type {?} */
  168. export var namePasswordStrategyOptions = new NamePasswordAuthStrategyOptions();
  169. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1wYXNzd29yZC1zdHJhdGVneS1vcHRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9nZS1hZG1pbi1hdXRoLyIsInNvdXJjZXMiOlsibGliL3N0cmF0ZWd5L25hbWUtcGFzc3dvcmQtc3RyYXRlZ3ktb3B0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTFELGdEQVVDOzs7SUFUQyxnREFBcUI7O0lBQ3JCLDhDQUFrQjs7SUFDbEIsNENBQWdCOztJQUNoQiw4Q0FHRTs7SUFDRixtREFBeUI7O0lBQ3pCLHFEQUEyQjs7Ozs7QUFHN0IsaURBR0M7OztJQUZDLDBDQUFhOztJQUNiLDZDQUFrQjs7Ozs7QUFHcEIsaURBR0M7OztJQUZDLDBDQUFhOztJQUNiLDZDQUFrQjs7QUFHcEI7SUFBcUQsMkRBQXFCO0lBQTFFO1FBQUEscUVBc0dDO1FBckdDLGtCQUFZLEdBQVMsWUFBWSxDQUFDO1FBQ2xDLGtCQUFZLEdBQTBDO1lBQ3BELFFBQVEsRUFBRSxjQUFjO1lBQ3hCLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQztRQUNGLFdBQUssR0FBMEM7WUFDN0MsVUFBVSxFQUFFLEtBQUs7WUFDakIsUUFBUSxFQUFFLE9BQU87WUFDakIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNELGFBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUN4QixlQUFlLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztTQUMzRCxDQUFDO1FBQ0YsZ0JBQVUsR0FBMEM7WUFDbEQsUUFBUSxFQUFFLFlBQVk7WUFDdEIsTUFBTSxFQUFFLE1BQU07WUFDZCxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDekIsQ0FBQztRQUNG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LEtBQU8sMkJBQTJCLEdBQW9DLElBQUksK0JBQStCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOYkF1dGhTdHJhdGVneU9wdGlvbnMgfSBmcm9tICdAbmVidWxhci9hdXRoJztcclxuaW1wb3J0IHsgZ2V0RGVlcEZyb21PYmplY3QgfSBmcm9tICdAbmVidWxhci9hdXRoL2hlbHBlcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSB7XHJcbiAgYWx3YXlzRmFpbD86IGJvb2xlYW47XHJcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XHJcbiAgbWV0aG9kPzogc3RyaW5nO1xyXG4gIHJlZGlyZWN0Pzoge1xyXG4gICAgc3VjY2Vzcz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBmYWlsdXJlPzogc3RyaW5nIHwgbnVsbDtcclxuICB9O1xyXG4gIGRlZmF1bHRFcnJvcnM/OiBzdHJpbmdbXTtcclxuICBkZWZhdWx0TWVzc2FnZXM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneVN1Y2Nlc3Mge1xyXG4gIGtleT86IHN0cmluZztcclxuICBnZXR0ZXI/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lUGFzc3dvcmRTdHJhdGVneU1lc3NhZ2Uge1xyXG4gIGtleT86IHN0cmluZztcclxuICBnZXR0ZXI/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMgZXh0ZW5kcyBOYkF1dGhTdHJhdGVneU9wdGlvbnMge1xyXG4gIGJhc2VFbmRwb2ludD86IGFueSA9ICcvYXBpL2F1dGgvJztcclxuICBnZXRQdWJsaWNLZXk/OiBib29sZWFuIHwgTmFtZVBhc3N3b3JkU3RyYXRlZ3lNb2R1bGUgPSB7XHJcbiAgICBlbmRwb2ludDogJ2dldFB1YmxpY0tleScsXHJcbiAgICBtZXRob2Q6ICdnZXQnXHJcbiAgfTtcclxuICBsb2dpbj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdsb2dpbicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddLFxyXG4gICAgZGVmYXVsdE1lc3NhZ2VzOiBbJ1lvdSBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IGxvZ2dlZCBpbi4nXVxyXG4gIH07XHJcbiAgY3JlYXRlVXNlcj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGVuZHBvaW50OiAnY3JlYXRlVXNlcicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddXHJcbiAgfTtcclxuICB1cGRhdGVQYXNzd29yZEZvckFkbWluPzogYm9vbGVhbiB8IE5hbWVQYXNzd29yZFN0cmF0ZWd5TW9kdWxlID0ge1xyXG4gICAgZW5kcG9pbnQ6ICd1cGRhdGVQYXNzd29yZEZvckFkbWluJyxcclxuICAgIG1ldGhvZDogJ3BhdGNoJyxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vISddXHJcbiAgfTtcclxuICByZWdpc3Rlcj86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdyZWdpc3RlcicsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnWW91IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZC4nXVxyXG4gIH07XHJcbiAgcmVxdWVzdFBhc3M/OiBib29sZWFuIHwgTmFtZVBhc3N3b3JkU3RyYXRlZ3lNb2R1bGUgPSB7XHJcbiAgICBlbmRwb2ludDogJ3JlcXVlc3QtcGFzcycsXHJcbiAgICBtZXRob2Q6ICdwb3N0JyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnUmVzZXQgcGFzc3dvcmQgaW5zdHJ1Y3Rpb25zIGhhdmUgYmVlbiBzZW50IHRvIHlvdXIgZW1haWwuJ11cclxuICB9O1xyXG4gIHJlc2V0UGFzcz86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGVuZHBvaW50OiAndXBkYXRlVXNlclBhc3N3b3JkJyxcclxuICAgIG1ldGhvZDogJ3BhdGNoJyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsn5pyq55+l6ZSZ6K+vLiddLFxyXG4gICAgZGVmYXVsdE1lc3NhZ2VzOiBbJ1lvdXIgcGFzc3dvcmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNoYW5nZWQuJ11cclxuICB9O1xyXG4gIGxvZ291dD86IGJvb2xlYW4gfCBOYW1lUGFzc3dvcmRTdHJhdGVneU1vZHVsZSA9IHtcclxuICAgIGFsd2F5c0ZhaWw6IGZhbHNlLFxyXG4gICAgZW5kcG9pbnQ6ICdsb2dvdXQnLFxyXG4gICAgbWV0aG9kOiAnZGVsZXRlJyxcclxuICAgIHJlZGlyZWN0OiB7XHJcbiAgICAgIHN1Y2Nlc3M6ICcvJyxcclxuICAgICAgZmFpbHVyZTogbnVsbFxyXG4gICAgfSxcclxuICAgIGRlZmF1bHRFcnJvcnM6IFsnU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICBkZWZhdWx0TWVzc2FnZXM6IFsnWW91IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91dC4nXVxyXG4gIH07XHJcbiAgZXJyb3JzPzogTmFtZVBhc3N3b3JkU3RyYXRlZ3lNZXNzYWdlID0ge1xyXG4gICAga2V5OiAnbWVzc2FnZXInLFxyXG4gICAgZ2V0dGVyOiAobW9kdWxlOiBzdHJpbmcsIHJlczogSHR0cEVycm9yUmVzcG9uc2UsIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMpID0+IFtcclxuICAgICAgZ2V0RGVlcEZyb21PYmplY3QocmVzLmVycm9yLCBvcHRpb25zLmVycm9ycy5rZXksIG9wdGlvbnNbbW9kdWxlXS5kZWZhdWx0RXJyb3JzKVxyXG4gICAgXVxyXG4gIH07XHJcbiAgbWVzc2FnZXM/OiBOYW1lUGFzc3dvcmRTdHJhdGVneU1lc3NhZ2UgPSB7XHJcbiAgICBrZXk6ICdtZXNzYWdlcicsXHJcbiAgICBnZXR0ZXI6IChcclxuICAgICAgbW9kdWxlOiBzdHJpbmcsXHJcbiAgICAgIHJlczogSHR0cFJlc3BvbnNlPE9iamVjdD4sXHJcbiAgICAgIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnNcclxuICAgICkgPT4gW2dldERlZXBGcm9tT2JqZWN0KHJlcy5ib2R5LCBvcHRpb25zLm1lc3NhZ2VzLmtleSwgZmFsc2UpXVxyXG4gIH07XHJcbiAgc3VjY2Vzcz86IE5hbWVQYXNzd29yZFN0cmF0ZWd5U3VjY2VzcyA9IHtcclxuICAgIGtleTogJ3N1Y2Nlc3MnLFxyXG4gICAgZ2V0dGVyOiAobW9kdWxlOiBzdHJpbmcsIHJlczogSHR0cFJlc3BvbnNlPE9iamVjdD4sIG9wdGlvbnM6IE5hbWVQYXNzd29yZEF1dGhTdHJhdGVneU9wdGlvbnMpID0+XHJcbiAgICAgIGdldERlZXBGcm9tT2JqZWN0KHJlcy5ib2R5LCBvcHRpb25zLnN1Y2Nlc3Mua2V5LCBvcHRpb25zW21vZHVsZV0uZGVmYXVsdE1lc3NhZ2VzKVxyXG4gIH07XHJcbiAgdmFsaWRhdGlvbj86IHtcclxuICAgIHBhc3N3b3JkPzoge1xyXG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgICAgIG1pbkxlbmd0aD86IG51bWJlciB8IG51bGw7XHJcbiAgICAgIG1heExlbmd0aD86IG51bWJlciB8IG51bGw7XHJcbiAgICAgIHJlZ2V4cD86IHN0cmluZyB8IG51bGw7XHJcbiAgICB9O1xyXG4gICAgdXNlck5hbWU/OiB7XHJcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAgICAgbWluTGVuZ3RoPzogbnVtYmVyIHwgbnVsbDtcclxuICAgICAgbWF4TGVuZ3RoPzogbnVtYmVyIHwgbnVsbDtcclxuICAgICAgcmVnZXhwPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIH07XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG5hbWVQYXNzd29yZFN0cmF0ZWd5T3B0aW9uczogTmFtZVBhc3N3b3JkQXV0aFN0cmF0ZWd5T3B0aW9ucyA9IG5ldyBOYW1lUGFzc3dvcmRBdXRoU3RyYXRlZ3lPcHRpb25zKCk7XHJcbiJdfQ==