ovi-kit 1.13.1 → 1.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -27,6 +27,9 @@ export { getFiveMinutesLater } from './shared/utils/get-five-minutes-later';
27
27
  export { createRandomPassword } from './shared/utils/create-random-password';
28
28
  export { getTitle } from './shared/utils/get-title';
29
29
  export { getWeekdayName } from './shared/utils/get-weekday-name';
30
+ export { normalizeUzPhoneForStorage, InvalidUzPhoneError, UZ_PHONE_STORAGE_REGEX, } from './shared/utils/normalize-uz-phone';
31
+ export { normalizePhoneForStorage, InvalidPhoneError, toSupportedPhoneCountry, preprocessPhoneDigits, type SupportedPhoneCountry, type NormalizePhoneForStorageOptions, } from './shared/utils/normalize-phone-for-storage';
32
+ export { transformPhoneContactParam, transformPhoneParam, } from './shared/utils/normalize-phone-param';
30
33
  export { BaseEntity } from './shared/entities/base.entity';
31
34
  export { ApiMeta } from './shared/decorators/api-meta.decorator';
32
35
  export { API_META_KEY } from './shared/decorators/api-meta.decorator';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.INTERNAL_SERVER_ERROR = exports.RpcErrorCode = exports.ChottuLinkUnavailableError = exports.CustomRpcException = exports.WEEKDAYS = exports.CHOTTULINK_CONFIG = exports.ChottuLinkModule = exports.BullMqModule = exports.SharedModule = exports.CustomHttpModule = exports.RedisModule = exports.ChottuLinkService = exports.CustomHttpService = exports.RedisService = exports.IsCardType = exports.CustomDate = exports.API_META_KEY = exports.ApiMeta = exports.BaseEntity = exports.getWeekdayName = exports.getTitle = exports.createRandomPassword = exports.getFiveMinutesLater = exports.uuid = exports.PasswordVo = exports.OtpResponseDto = exports.ConfirmResponseDto = exports.SessionSecretResponseDto = exports.UserMinimalDataResponseDto = exports.GetByIdsDto = exports.CheckUserDto = exports.LoginDto = exports.BaseDto = exports.BaseResponseDto = exports.GetByIdDto = exports.GetByNameDto = exports.MetaDataDto = exports.PaginationResponseDto = exports.PaginationDto = exports.DeleteUserDto = exports.ForgotPasswordDto = exports.UserConfirmDto = exports.RevokeSessionDto = exports.ResetPasswordDto = exports.ResendOtpDto = exports.RecoveryPasswordDto = exports.LanguageDto = exports.MetaDto = void 0;
3
+ exports.BullMqModule = exports.SharedModule = exports.CustomHttpModule = exports.RedisModule = exports.ChottuLinkService = exports.CustomHttpService = exports.RedisService = exports.IsCardType = exports.CustomDate = exports.API_META_KEY = exports.ApiMeta = exports.BaseEntity = exports.transformPhoneParam = exports.transformPhoneContactParam = exports.preprocessPhoneDigits = exports.toSupportedPhoneCountry = exports.InvalidPhoneError = exports.normalizePhoneForStorage = exports.UZ_PHONE_STORAGE_REGEX = exports.InvalidUzPhoneError = exports.normalizeUzPhoneForStorage = exports.getWeekdayName = exports.getTitle = exports.createRandomPassword = exports.getFiveMinutesLater = exports.uuid = exports.PasswordVo = exports.OtpResponseDto = exports.ConfirmResponseDto = exports.SessionSecretResponseDto = exports.UserMinimalDataResponseDto = exports.GetByIdsDto = exports.CheckUserDto = exports.LoginDto = exports.BaseDto = exports.BaseResponseDto = exports.GetByIdDto = exports.GetByNameDto = exports.MetaDataDto = exports.PaginationResponseDto = exports.PaginationDto = exports.DeleteUserDto = exports.ForgotPasswordDto = exports.UserConfirmDto = exports.RevokeSessionDto = exports.ResetPasswordDto = exports.ResendOtpDto = exports.RecoveryPasswordDto = exports.LanguageDto = exports.MetaDto = void 0;
4
+ exports.INTERNAL_SERVER_ERROR = exports.RpcErrorCode = exports.ChottuLinkUnavailableError = exports.CustomRpcException = exports.WEEKDAYS = exports.CHOTTULINK_CONFIG = exports.ChottuLinkModule = void 0;
4
5
  var meta_data_dto_1 = require("./shared/dto/meta-data.dto");
5
6
  Object.defineProperty(exports, "MetaDto", { enumerable: true, get: function () { return meta_data_dto_1.MetaDto; } });
6
7
  var language_dto_1 = require("./shared/dto/language.dto");
@@ -59,6 +60,18 @@ var get_title_1 = require("./shared/utils/get-title");
59
60
  Object.defineProperty(exports, "getTitle", { enumerable: true, get: function () { return get_title_1.getTitle; } });
60
61
  var get_weekday_name_1 = require("./shared/utils/get-weekday-name");
61
62
  Object.defineProperty(exports, "getWeekdayName", { enumerable: true, get: function () { return get_weekday_name_1.getWeekdayName; } });
63
+ var normalize_uz_phone_1 = require("./shared/utils/normalize-uz-phone");
64
+ Object.defineProperty(exports, "normalizeUzPhoneForStorage", { enumerable: true, get: function () { return normalize_uz_phone_1.normalizeUzPhoneForStorage; } });
65
+ Object.defineProperty(exports, "InvalidUzPhoneError", { enumerable: true, get: function () { return normalize_uz_phone_1.InvalidUzPhoneError; } });
66
+ Object.defineProperty(exports, "UZ_PHONE_STORAGE_REGEX", { enumerable: true, get: function () { return normalize_uz_phone_1.UZ_PHONE_STORAGE_REGEX; } });
67
+ var normalize_phone_for_storage_1 = require("./shared/utils/normalize-phone-for-storage");
68
+ Object.defineProperty(exports, "normalizePhoneForStorage", { enumerable: true, get: function () { return normalize_phone_for_storage_1.normalizePhoneForStorage; } });
69
+ Object.defineProperty(exports, "InvalidPhoneError", { enumerable: true, get: function () { return normalize_phone_for_storage_1.InvalidPhoneError; } });
70
+ Object.defineProperty(exports, "toSupportedPhoneCountry", { enumerable: true, get: function () { return normalize_phone_for_storage_1.toSupportedPhoneCountry; } });
71
+ Object.defineProperty(exports, "preprocessPhoneDigits", { enumerable: true, get: function () { return normalize_phone_for_storage_1.preprocessPhoneDigits; } });
72
+ var normalize_phone_param_1 = require("./shared/utils/normalize-phone-param");
73
+ Object.defineProperty(exports, "transformPhoneContactParam", { enumerable: true, get: function () { return normalize_phone_param_1.transformPhoneContactParam; } });
74
+ Object.defineProperty(exports, "transformPhoneParam", { enumerable: true, get: function () { return normalize_phone_param_1.transformPhoneParam; } });
62
75
  var base_entity_1 = require("./shared/entities/base.entity");
63
76
  Object.defineProperty(exports, "BaseEntity", { enumerable: true, get: function () { return base_entity_1.BaseEntity; } });
64
77
  var api_meta_decorator_1 = require("./shared/decorators/api-meta.decorator");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,4DAAqD;AAA5C,wGAAA,OAAO,OAAA;AAChB,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,4EAAyE;AAAhE,4HAAA,mBAAmB,OAAA;AAC5B,8DAA2D;AAAlD,8GAAA,YAAY,OAAA;AACrB,sEAAmE;AAA1D,sHAAA,gBAAgB,OAAA;AACzB,sEAAmE;AAA1D,sHAAA,gBAAgB,OAAA;AACzB,kEAA+D;AAAtD,kHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,wHAAA,iBAAiB,OAAA;AAC1B,gEAA6D;AAApD,gHAAA,aAAa,OAAA;AACtB,8DAA4D;AAAnD,+GAAA,aAAa,OAAA;AACtB,8DAAoE;AAA3D,uHAAA,qBAAqB,OAAA;AAC9B,4DAAyD;AAAhD,4GAAA,WAAW,OAAA;AACpB,gEAA4D;AAAnD,+GAAA,YAAY,OAAA;AACrB,4DAAwD;AAA/C,2GAAA,UAAU,OAAA;AACnB,oEAAiE;AAAxD,oHAAA,eAAe,OAAA;AACxB,kDAAgD;AAAvC,mGAAA,OAAO,OAAA;AAChB,oDAAkD;AAAzC,qGAAA,QAAQ,OAAA;AACjB,8DAA2D;AAAlD,8GAAA,YAAY,OAAA;AACrB,8DAA0D;AAAjD,6GAAA,WAAW,OAAA;AACpB,oGAA4F;AAAnF,+IAAA,0BAA0B,OAAA;AACnC,sEAA2E;AAAlE,8HAAA,wBAAwB,OAAA;AACjC,0FAA+E;AAAtE,kIAAA,kBAAkB,OAAA;AAC3B,8FAA6E;AAApE,gIAAA,cAAc,OAAA;AAGvB,4DAA6D;AAApD,sGAAA,UAAU,OAAA;AAGnB,4CAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,gFAA6E;AAApE,8HAAA,oBAAoB,OAAA;AAC7B,sDAAoD;AAA3C,qGAAA,QAAQ,OAAA;AACjB,oEAAiE;AAAxD,kHAAA,cAAc,OAAA;AAGvB,6DAA2D;AAAlD,yGAAA,UAAU,OAAA;AAGnB,6EAAiE;AAAxD,6GAAA,OAAO,OAAA;AAChB,6EAAsE;AAA7D,kHAAA,YAAY,OAAA;AAErB,+DAA6D;AAApD,yGAAA,UAAU,OAAA;AACnB,iDAAsD;AAA7C,kGAAA,UAAU,OAAA;AAGnB,sEAAoE;AAA3D,6GAAA,YAAY,OAAA;AACrB,mEAAuE;AAA9D,iHAAA,iBAAiB,OAAA;AAC1B,wFAAqF;AAA5E,wHAAA,iBAAiB,OAAA;AAG1B,oEAAkE;AAAzD,2GAAA,WAAW,OAAA;AACpB,iEAAqE;AAA5D,+GAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,0EAAuE;AAA9D,8GAAA,YAAY,OAAA;AACrB,sFAAmF;AAA1E,sHAAA,gBAAgB,OAAA;AAkCzB,oFAAmF;AAA1E,sHAAA,iBAAiB,OAAA;AAG1B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAGjB,iFAA8E;AAArE,0HAAA,kBAAkB,OAAA;AAC3B,oFAA4F;AAAnF,+HAAA,0BAA0B,OAAA;AAGnC,kEAA8D;AAArD,+GAAA,YAAY,OAAA;AAGrB,gGAAwF;AAA/E,qIAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AACA,4DAAqD;AAA5C,wGAAA,OAAO,OAAA;AAChB,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,4EAAyE;AAAhE,4HAAA,mBAAmB,OAAA;AAC5B,8DAA2D;AAAlD,8GAAA,YAAY,OAAA;AACrB,sEAAmE;AAA1D,sHAAA,gBAAgB,OAAA;AACzB,sEAAmE;AAA1D,sHAAA,gBAAgB,OAAA;AACzB,kEAA+D;AAAtD,kHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,wHAAA,iBAAiB,OAAA;AAC1B,gEAA6D;AAApD,gHAAA,aAAa,OAAA;AACtB,8DAA4D;AAAnD,+GAAA,aAAa,OAAA;AACtB,8DAAoE;AAA3D,uHAAA,qBAAqB,OAAA;AAC9B,4DAAyD;AAAhD,4GAAA,WAAW,OAAA;AACpB,gEAA4D;AAAnD,+GAAA,YAAY,OAAA;AACrB,4DAAwD;AAA/C,2GAAA,UAAU,OAAA;AACnB,oEAAiE;AAAxD,oHAAA,eAAe,OAAA;AACxB,kDAAgD;AAAvC,mGAAA,OAAO,OAAA;AAChB,oDAAkD;AAAzC,qGAAA,QAAQ,OAAA;AACjB,8DAA2D;AAAlD,8GAAA,YAAY,OAAA;AACrB,8DAA0D;AAAjD,6GAAA,WAAW,OAAA;AACpB,oGAA4F;AAAnF,+IAAA,0BAA0B,OAAA;AACnC,sEAA2E;AAAlE,8HAAA,wBAAwB,OAAA;AACjC,0FAA+E;AAAtE,kIAAA,kBAAkB,OAAA;AAC3B,8FAA6E;AAApE,gIAAA,cAAc,OAAA;AAGvB,4DAA6D;AAApD,sGAAA,UAAU,OAAA;AAGnB,4CAA2C;AAAlC,4FAAA,IAAI,OAAA;AACb,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,gFAA6E;AAApE,8HAAA,oBAAoB,OAAA;AAC7B,sDAAoD;AAA3C,qGAAA,QAAQ,OAAA;AACjB,oEAAiE;AAAxD,kHAAA,cAAc,OAAA;AACvB,wEAI2C;AAHzC,gIAAA,0BAA0B,OAAA;AAC1B,yHAAA,mBAAmB,OAAA;AACnB,4HAAA,sBAAsB,OAAA;AAExB,0FAOoD;AANlD,uIAAA,wBAAwB,OAAA;AACxB,gIAAA,iBAAiB,OAAA;AACjB,sIAAA,uBAAuB,OAAA;AACvB,oIAAA,qBAAqB,OAAA;AAIvB,8EAG8C;AAF5C,mIAAA,0BAA0B,OAAA;AAC1B,4HAAA,mBAAmB,OAAA;AAIrB,6DAA2D;AAAlD,yGAAA,UAAU,OAAA;AAGnB,6EAAiE;AAAxD,6GAAA,OAAO,OAAA;AAChB,6EAAsE;AAA7D,kHAAA,YAAY,OAAA;AAErB,+DAA6D;AAApD,yGAAA,UAAU,OAAA;AACnB,iDAAsD;AAA7C,kGAAA,UAAU,OAAA;AAGnB,sEAAoE;AAA3D,6GAAA,YAAY,OAAA;AACrB,mEAAuE;AAA9D,iHAAA,iBAAiB,OAAA;AAC1B,wFAAqF;AAA5E,wHAAA,iBAAiB,OAAA;AAG1B,oEAAkE;AAAzD,2GAAA,WAAW,OAAA;AACpB,iEAAqE;AAA5D,+GAAA,gBAAgB,OAAA;AACzB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,0EAAuE;AAA9D,8GAAA,YAAY,OAAA;AACrB,sFAAmF;AAA1E,sHAAA,gBAAgB,OAAA;AAkCzB,oFAAmF;AAA1E,sHAAA,iBAAiB,OAAA;AAG1B,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAGjB,iFAA8E;AAArE,0HAAA,kBAAkB,OAAA;AAC3B,oFAA4F;AAAnF,+HAAA,0BAA0B,OAAA;AAGnC,kEAA8D;AAArD,+GAAA,YAAY,OAAA;AAGrB,gGAAwF;AAA/E,qIAAA,qBAAqB,OAAA"}
@@ -13,6 +13,7 @@ exports.CheckUserDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const meta_data_dto_1 = require("./meta-data.dto");
16
+ const normalize_phone_param_1 = require("../utils/normalize-phone-param");
16
17
  class ParamsDto {
17
18
  contact;
18
19
  type;
@@ -20,6 +21,7 @@ class ParamsDto {
20
21
  __decorate([
21
22
  (0, class_validator_1.IsNotEmpty)(),
22
23
  (0, class_validator_1.IsString)(),
24
+ (0, class_transformer_1.Transform)(({ value, obj }) => (0, normalize_phone_param_1.transformPhoneContactParam)(value, obj)),
23
25
  __metadata("design:type", String)
24
26
  ], ParamsDto.prototype, "contact", void 0);
25
27
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"check-user.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/check-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAyC;AACzC,mDAA8C;AAE9C,MAAM,SAAS;IAGb,OAAO,CAAS;IAIhB,IAAI,CAAoB;CACzB;AALC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAG1B,MAAa,YAAa,SAAQ,2BAAW;IAI3C,MAAM,CAAY;CACnB;AALD,oCAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;4CAAC"}
1
+ {"version":3,"file":"check-user.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/check-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAoD;AACpD,mDAA8C;AAC9C,0EAA4E;AAE5E,MAAM,SAAS;IAIb,OAAO,CAAS;IAIhB,IAAI,CAAoB;CACzB;AALC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,kDAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;0CACtD;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAG1B,MAAa,YAAa,SAAQ,2BAAW;IAI3C,MAAM,CAAY;CACnB;AALD,oCAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;4CAAC"}
@@ -13,6 +13,7 @@ exports.DeleteUserDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const meta_data_dto_1 = require("./meta-data.dto");
16
+ const normalize_phone_param_1 = require("../utils/normalize-phone-param");
16
17
  class ParamsDto {
17
18
  contact;
18
19
  type;
@@ -21,6 +22,7 @@ class ParamsDto {
21
22
  __decorate([
22
23
  (0, class_validator_1.IsNotEmpty)(),
23
24
  (0, class_validator_1.IsString)(),
25
+ (0, class_transformer_1.Transform)(({ value, obj }) => (0, normalize_phone_param_1.transformPhoneContactParam)(value, obj)),
24
26
  __metadata("design:type", String)
25
27
  ], ParamsDto.prototype, "contact", void 0);
26
28
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"delete-user.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/delete-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAA6E;AAC7E,mDAA8C;AAE9C,MAAM,SAAS;IAGb,OAAO,CAAS;IAIhB,IAAI,CAAoB;IAIxB,QAAQ,CAAS;CAClB;AATC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACM;AAGnB,MAAa,aAAc,SAAQ,2BAAW;IAI5C,MAAM,CAAY;CACnB;AALD,sCAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;6CAAC"}
1
+ {"version":3,"file":"delete-user.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/delete-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAoD;AACpD,qDAA6E;AAC7E,mDAA8C;AAC9C,0EAA4E;AAE5E,MAAM,SAAS;IAIb,OAAO,CAAS;IAIhB,IAAI,CAAoB;IAIxB,QAAQ,CAAS;CAClB;AATC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,kDAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;0CACtD;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACM;AAGnB,MAAa,aAAc,SAAQ,2BAAW;IAI5C,MAAM,CAAY;CACnB;AALD,sCAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;6CAAC"}
@@ -13,6 +13,7 @@ exports.ForgotPasswordDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const meta_data_dto_1 = require("./meta-data.dto");
16
+ const normalize_phone_param_1 = require("../utils/normalize-phone-param");
16
17
  class ParamsDto {
17
18
  contact;
18
19
  type;
@@ -20,6 +21,7 @@ class ParamsDto {
20
21
  __decorate([
21
22
  (0, class_validator_1.IsNotEmpty)(),
22
23
  (0, class_validator_1.IsString)(),
24
+ (0, class_transformer_1.Transform)(({ value, obj }) => (0, normalize_phone_param_1.transformPhoneContactParam)(value, obj)),
23
25
  __metadata("design:type", String)
24
26
  ], ParamsDto.prototype, "contact", void 0);
25
27
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"forgot-password.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/forgot-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAyC;AACzC,mDAA8C;AAC9C,MAAM,SAAS;IAGb,OAAO,CAAS;IAIhB,IAAI,CAAoB;CACzB;AALC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAG1B,MAAa,iBAAkB,SAAQ,2BAAW;IAIhD,MAAM,CAAY;CACnB;AALD,8CAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;iDAAC"}
1
+ {"version":3,"file":"forgot-password.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/forgot-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAoD;AACpD,mDAA8C;AAC9C,0EAA4E;AAE5E,MAAM,SAAS;IAIb,OAAO,CAAS;IAIhB,IAAI,CAAoB;CACzB;AALC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,kDAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;0CACtD;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAG1B,MAAa,iBAAkB,SAAQ,2BAAW;IAIhD,MAAM,CAAY;CACnB;AALD,8CAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;iDAAC"}
@@ -13,6 +13,7 @@ exports.LoginDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const meta_data_dto_1 = require("./meta-data.dto");
16
+ const normalize_phone_param_1 = require("../utils/normalize-phone-param");
16
17
  class ParamsDto {
17
18
  contact;
18
19
  type;
@@ -21,6 +22,7 @@ class ParamsDto {
21
22
  __decorate([
22
23
  (0, class_validator_1.IsNotEmpty)(),
23
24
  (0, class_validator_1.IsString)(),
25
+ (0, class_transformer_1.Transform)(({ value, obj }) => (0, normalize_phone_param_1.transformPhoneContactParam)(value, obj)),
24
26
  __metadata("design:type", String)
25
27
  ], ParamsDto.prototype, "contact", void 0);
26
28
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"login.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/login.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAyC;AACzC,mDAA8C;AAE9C,MAAM,SAAS;IAGb,OAAO,CAAS;IAIhB,IAAI,CAAoB;IAIxB,QAAQ,CAAS;CAClB;AATC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;0CACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACM;AAGnB,MAAa,QAAS,SAAQ,2BAAW;IAIvC,MAAM,CAAY;CACnB;AALD,4BAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;wCAAC"}
1
+ {"version":3,"file":"login.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/login.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAC7E,yDAAoD;AACpD,mDAA8C;AAC9C,0EAA4E;AAE5E,MAAM,SAAS;IAIb,OAAO,CAAS;IAIhB,IAAI,CAAoB;IAIxB,QAAQ,CAAS;CAClB;AATC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,kDAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;0CACtD;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;2CACM;AAGnB,MAAa,QAAS,SAAQ,2BAAW;IAIvC,MAAM,CAAY;CACnB;AALD,4BAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;wCAAC"}
@@ -13,6 +13,7 @@ exports.RecoveryPasswordDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const meta_data_dto_1 = require("./meta-data.dto");
16
+ const normalize_phone_param_1 = require("../utils/normalize-phone-param");
16
17
  class ParamsDto {
17
18
  contact;
18
19
  type;
@@ -23,6 +24,7 @@ class ParamsDto {
23
24
  }
24
25
  __decorate([
25
26
  (0, class_validator_1.IsString)(),
27
+ (0, class_transformer_1.Transform)(({ value, obj }) => (0, normalize_phone_param_1.transformPhoneContactParam)(value, obj)),
26
28
  __metadata("design:type", String)
27
29
  ], ParamsDto.prototype, "contact", void 0);
28
30
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"recovery-password.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/recovery-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AACzB,yDAAyC;AACzC,mDAA8C;AAE9C,MAAM,SAAS;IAEb,OAAO,CAAS;IAGhB,IAAI,CAAoB;IAIxB,GAAG,CAAS;IAIZ,KAAK,CAAS;IAId,WAAW,CAAS;IAIpB,uBAAuB,CAAS;CACjC;AApBC;IADC,IAAA,0BAAQ,GAAE;;0CACK;AAGhB;IADC,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sCACD;AAIZ;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACC;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,CAAC,CAAC;;8CACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;0DACmB;AAGlC,MAAa,mBAAoB,SAAQ,2BAAW;IAIlD,MAAM,CAAY;CACnB;AALD,kDAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;mDAAC"}
1
+ {"version":3,"file":"recovery-password.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/recovery-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AACzB,yDAAoD;AACpD,mDAA8C;AAC9C,0EAA4E;AAE5E,MAAM,SAAS;IAGb,OAAO,CAAS;IAGhB,IAAI,CAAoB;IAIxB,GAAG,CAAS;IAIZ,KAAK,CAAS;IAId,WAAW,CAAS;IAIpB,uBAAuB,CAAS;CACjC;AApBC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAA,kDAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;;0CACtD;AAGhB;IADC,IAAA,sBAAI,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;uCACD;AAIxB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;sCACD;AAIZ;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACC;AAId;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,CAAC,CAAC;;8CACO;AAIpB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;0DACmB;AAGlC,MAAa,mBAAoB,SAAQ,2BAAW;IAIlD,MAAM,CAAY;CACnB;AALD,kDAKC;AADC;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;8BACd,SAAS;mDAAC"}
@@ -0,0 +1,14 @@
1
+ export type SupportedPhoneCountry = 'UZ' | 'KZ' | 'RU';
2
+ export declare class InvalidPhoneError extends Error {
3
+ constructor(message?: string);
4
+ }
5
+ export declare function preprocessPhoneDigits(input: string): {
6
+ trimmed: string;
7
+ digits: string;
8
+ };
9
+ export type NormalizePhoneForStorageOptions = {
10
+ defaultCountry?: SupportedPhoneCountry;
11
+ restrictToCountries?: SupportedPhoneCountry[];
12
+ };
13
+ export declare function normalizePhoneForStorage(input: string, options?: NormalizePhoneForStorageOptions): string;
14
+ export declare function toSupportedPhoneCountry(isoCode: string | undefined): SupportedPhoneCountry | undefined;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidPhoneError = void 0;
4
+ exports.preprocessPhoneDigits = preprocessPhoneDigits;
5
+ exports.normalizePhoneForStorage = normalizePhoneForStorage;
6
+ exports.toSupportedPhoneCountry = toSupportedPhoneCountry;
7
+ const max_1 = require("libphonenumber-js/max");
8
+ const SUPPORTED_COUNTRIES = ['UZ', 'KZ', 'RU'];
9
+ class InvalidPhoneError extends Error {
10
+ constructor(message = 'Invalid phone number') {
11
+ super(message);
12
+ this.name = 'InvalidPhoneError';
13
+ }
14
+ }
15
+ exports.InvalidPhoneError = InvalidPhoneError;
16
+ function preprocessPhoneDigits(input) {
17
+ if (input == null || typeof input !== 'string') {
18
+ throw new InvalidPhoneError();
19
+ }
20
+ const trimmed = input.trim();
21
+ let digits = trimmed.replace(/\D/g, '');
22
+ if (!digits) {
23
+ throw new InvalidPhoneError();
24
+ }
25
+ while (digits.startsWith('998998')) {
26
+ digits = digits.slice(3);
27
+ }
28
+ return { trimmed, digits };
29
+ }
30
+ function isAllowedCountry(country, restrict) {
31
+ const allowed = restrict ?? SUPPORTED_COUNTRIES;
32
+ return country != null && allowed.includes(country);
33
+ }
34
+ function phoneNumberToStorageDigits(phoneNumber, restrict) {
35
+ if (!phoneNumber.isValid() || !isAllowedCountry(phoneNumber.country, restrict)) {
36
+ throw new InvalidPhoneError();
37
+ }
38
+ return phoneNumber.number.slice(1);
39
+ }
40
+ function tryParseToStorage(raw, defaultCountry, restrict) {
41
+ try {
42
+ const phoneNumber = defaultCountry
43
+ ? (0, max_1.parsePhoneNumberWithError)(raw, defaultCountry)
44
+ : (0, max_1.parsePhoneNumberWithError)(raw);
45
+ return phoneNumberToStorageDigits(phoneNumber, restrict);
46
+ }
47
+ catch {
48
+ return null;
49
+ }
50
+ }
51
+ function looksInternational(digits, trimmed) {
52
+ return (trimmed.startsWith('+') ||
53
+ digits.startsWith('998') ||
54
+ (digits.startsWith('7') && digits.length >= 11));
55
+ }
56
+ function normalizePhoneForStorage(input, options) {
57
+ const { trimmed, digits } = preprocessPhoneDigits(input);
58
+ const restrict = options?.restrictToCountries;
59
+ const defaultCountry = options?.defaultCountry;
60
+ if (looksInternational(digits, trimmed)) {
61
+ const internationalRaw = trimmed.startsWith('+')
62
+ ? trimmed
63
+ : `+${digits}`;
64
+ const parsed = tryParseToStorage(internationalRaw, undefined, restrict);
65
+ if (parsed) {
66
+ return parsed;
67
+ }
68
+ }
69
+ if (defaultCountry) {
70
+ const parsed = tryParseToStorage(trimmed, defaultCountry, restrict);
71
+ if (parsed) {
72
+ return parsed;
73
+ }
74
+ }
75
+ const countriesToTry = restrict ?? SUPPORTED_COUNTRIES;
76
+ for (const country of countriesToTry) {
77
+ const parsed = tryParseToStorage(trimmed, country, restrict);
78
+ if (parsed) {
79
+ return parsed;
80
+ }
81
+ }
82
+ throw new InvalidPhoneError();
83
+ }
84
+ function toSupportedPhoneCountry(isoCode) {
85
+ if (!isoCode) {
86
+ return undefined;
87
+ }
88
+ const upper = isoCode.toUpperCase();
89
+ if (SUPPORTED_COUNTRIES.includes(upper)) {
90
+ return upper;
91
+ }
92
+ return undefined;
93
+ }
94
+ //# sourceMappingURL=normalize-phone-for-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-phone-for-storage.js","sourceRoot":"","sources":["../../../src/shared/utils/normalize-phone-for-storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function transformPhoneContactParam(value: unknown, obj?: {
2
+ type?: string;
3
+ country?: string;
4
+ }): string;
5
+ export declare function transformPhoneParam(value: unknown): string;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformPhoneContactParam = transformPhoneContactParam;
4
+ exports.transformPhoneParam = transformPhoneParam;
5
+ const common_1 = require("@nestjs/common");
6
+ const normalize_phone_for_storage_1 = require("./normalize-phone-for-storage");
7
+ const normalize_uz_phone_1 = require("./normalize-uz-phone");
8
+ function transformPhoneContactParam(value, obj) {
9
+ const val = String(value).trim();
10
+ if (obj?.type !== 'phone') {
11
+ return val;
12
+ }
13
+ try {
14
+ const defaultCountry = (0, normalize_phone_for_storage_1.toSupportedPhoneCountry)(obj.country);
15
+ return (0, normalize_phone_for_storage_1.normalizePhoneForStorage)(val, { defaultCountry });
16
+ }
17
+ catch (err) {
18
+ if (err instanceof normalize_phone_for_storage_1.InvalidPhoneError || err instanceof normalize_uz_phone_1.InvalidUzPhoneError) {
19
+ throw new common_1.BadRequestException('Bad Request');
20
+ }
21
+ throw err;
22
+ }
23
+ }
24
+ function transformPhoneParam(value) {
25
+ try {
26
+ return (0, normalize_phone_for_storage_1.normalizePhoneForStorage)(String(value));
27
+ }
28
+ catch (err) {
29
+ if (err instanceof normalize_phone_for_storage_1.InvalidPhoneError || err instanceof normalize_uz_phone_1.InvalidUzPhoneError) {
30
+ throw new common_1.BadRequestException('Bad Request');
31
+ }
32
+ throw err;
33
+ }
34
+ }
35
+ //# sourceMappingURL=normalize-phone-param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-phone-param.js","sourceRoot":"","sources":["../../../src/shared/utils/normalize-phone-param.ts"],"names":[],"mappings":";;AASA,gEAoBC;AAGD,kDASC;AAzCD,2CAAqD;AACrD,+EAIuC;AACvC,6DAA2D;AAG3D,SAAgB,0BAA0B,CACxC,KAAc,EACd,GAAyC;IAEzC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjC,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,IAAA,qDAAuB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE5D,OAAO,IAAA,sDAAwB,EAAC,GAAG,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,+CAAiB,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YAC3E,MAAM,IAAI,4BAAmB,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAGD,SAAgB,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC;QACH,OAAO,IAAA,sDAAwB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,+CAAiB,IAAI,GAAG,YAAY,wCAAmB,EAAE,CAAC;YAC3E,MAAM,IAAI,4BAAmB,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const UZ_PHONE_STORAGE_REGEX: RegExp;
2
+ import { InvalidPhoneError } from './normalize-phone-for-storage';
3
+ export declare class InvalidUzPhoneError extends InvalidPhoneError {
4
+ constructor(message?: string);
5
+ }
6
+ export declare function normalizeUzPhoneForStorage(input: string): string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidUzPhoneError = exports.UZ_PHONE_STORAGE_REGEX = void 0;
4
+ exports.normalizeUzPhoneForStorage = normalizeUzPhoneForStorage;
5
+ exports.UZ_PHONE_STORAGE_REGEX = /^998\d{9}$/;
6
+ const normalize_phone_for_storage_1 = require("./normalize-phone-for-storage");
7
+ class InvalidUzPhoneError extends normalize_phone_for_storage_1.InvalidPhoneError {
8
+ constructor(message = 'Invalid phone number') {
9
+ super(message);
10
+ this.name = 'InvalidUzPhoneError';
11
+ }
12
+ }
13
+ exports.InvalidUzPhoneError = InvalidUzPhoneError;
14
+ function normalizeUzPhoneForStorage(input) {
15
+ try {
16
+ const normalized = (0, normalize_phone_for_storage_1.normalizePhoneForStorage)(input, {
17
+ restrictToCountries: ['UZ'],
18
+ });
19
+ if (!exports.UZ_PHONE_STORAGE_REGEX.test(normalized)) {
20
+ throw new InvalidUzPhoneError();
21
+ }
22
+ return normalized;
23
+ }
24
+ catch (err) {
25
+ if (err instanceof normalize_phone_for_storage_1.InvalidPhoneError) {
26
+ throw new InvalidUzPhoneError();
27
+ }
28
+ throw err;
29
+ }
30
+ }
31
+ //# sourceMappingURL=normalize-uz-phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-uz-phone.js","sourceRoot":"","sources":["../../../src/shared/utils/normalize-uz-phone.ts"],"names":[],"mappings":";;;AAmBA,gEAiBC;AAnCY,QAAA,sBAAsB,GAAG,YAAY,CAAC;AAEnD,+EAGuC;AAEvC,MAAa,mBAAoB,SAAQ,+CAAiB;IACxD,YAAY,OAAO,GAAG,sBAAsB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAMD,SAAgB,0BAA0B,CAAC,KAAa;IACtD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,KAAK,EAAE;YACjD,mBAAmB,EAAE,CAAC,IAAI,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,8BAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,+CAAiB,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}