eh-commons 0.0.1-testing.21 → 0.0.1-testing.23

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
@@ -9,7 +9,7 @@ import { RecordDTO } from './models/dtos/record.dto';
9
9
  import { StateParamDTO } from './models/dtos/state-params.dto';
10
10
  import { RecordState } from './models/enums/record-state.enum';
11
11
  import { IRecord } from './models/interfaces/record.interface';
12
- import { RESTError, RESTPage, RESTPaging, RESTRequestBody, RESTResponseBody, RESTResult, RESTSort, SortDirection } from './models/wrappers/rest-wrapper.class';
12
+ import { IMongoPage, RESTError, RESTPage, RESTPaging, RESTQueryParams, RESTRequestBody, RESTResponseBody, RESTResult, RESTSort, SortDirection } from './models/wrappers/rest-wrapper.class';
13
13
  import { ConfigUtil } from './utils/config-util.class';
14
14
  import { ISession } from './models/interfaces/session/session.interface';
15
15
  import { ISessionUserData } from './models/interfaces/session/session-data.interface';
@@ -83,4 +83,4 @@ import { IS3 } from './models/s3/interfaces/s3.interface';
83
83
  import { Page } from './models/wrappers/page.wrapper';
84
84
  import { SortPage } from './models/wrappers/sort-page.wrapper';
85
85
  import { Sort } from './models/wrappers/sort.wrapper';
86
- export { IsMapOfStringsConstraint, IsRouteConstraint, IsMapOfStrings, IsRoute, HandledException, validationExceptionFactory, BaseExceptionsFilter, RecordDTO, StateParamDTO, RecordState, SortDirection, Sort, Page, SortPage, RESTSort, RESTPaging, RESTRequestBody, RESTPage, RESTResult, RESTError, RESTResponseBody, ConfigUtil, ISession, ISessionUserData, SessionClient, RedisService, SessionService, CacheModule, PermissionGuard, generateUUID, Permission, PermissionsIncludeStrategy, PermissionGuardConfig, ClientPermissions, ValidateMongoIdPipe, escapeRegex, translitGeorgiaToLatin, getRandomNumberFromRange, sizeOfJson, HTTPMethod, LogModule, LogService, LoggerClient, Env, ConsoleLogger, IAddress, Address, AddressSchema, AddressDocument, IClient, Client, ClientSchema, ClientDocument, IContact, Contact, ContactSchema, ContactDocument, IGeoLocation, GeoLocation, GeoLocationSchema, GeoLocationDocument, II18n, I18n, I18nSchema, I18nDocument, IPermission, PermissionClass, PermissionSchema, PermissionDocument, IPerson, Person, PersonSchema, PersonDocument, IRecord, Record, RecordSchema, RecordDocument, IRole, Role, RoleSchema, RoleDocument, IUserClient, UserClient, UserClientDocument, UserClientSchema, IUser, User, UserSchema, UserDocument, DictionaryDTO, AuthorDTO, IAuthor, Author, AuthorSchema, IS3File, S3File, S3FileSchema, S3FileDocument, IFileLog, FileLog, FileLogSchema, FileLogDocument, IFileMeta, FileMeta, FileMetaSchema, FileMetaDocument, IFileRecord, FileRecord, FileRecordSchema, FileRecordDocument, IFileState, FileState, FileStateSchema, FileStateDocument, ILogInitiator, LogInitiator, LogInitiatorDocument, LogInitiatorSchema, IS3, S3, S3Document, S3Schema, S3FileState, IDictionarySetting, DictionarySetting, DictionarySettingSchema, DictionarySettingDocument, IOrigin, Origin, OriginSchema, OriginDocument, IDictionary, Dictionary, DictionarySchema, DictionaryDocument, };
86
+ export { IsMapOfStringsConstraint, IsRouteConstraint, IsMapOfStrings, IsRoute, HandledException, validationExceptionFactory, BaseExceptionsFilter, RecordDTO, StateParamDTO, RecordState, SortDirection, Sort, Page, SortPage, RESTSort, RESTPaging, RESTRequestBody, RESTPage, RESTResult, RESTError, RESTResponseBody, ConfigUtil, ISession, ISessionUserData, SessionClient, RedisService, SessionService, CacheModule, PermissionGuard, generateUUID, Permission, PermissionsIncludeStrategy, PermissionGuardConfig, ClientPermissions, ValidateMongoIdPipe, escapeRegex, translitGeorgiaToLatin, getRandomNumberFromRange, sizeOfJson, HTTPMethod, LogModule, LogService, LoggerClient, Env, ConsoleLogger, IAddress, Address, AddressSchema, AddressDocument, IClient, Client, ClientSchema, ClientDocument, IContact, Contact, ContactSchema, ContactDocument, IGeoLocation, GeoLocation, GeoLocationSchema, GeoLocationDocument, II18n, I18n, I18nSchema, I18nDocument, IPermission, PermissionClass, PermissionSchema, PermissionDocument, IPerson, Person, PersonSchema, PersonDocument, IRecord, Record, RecordSchema, RecordDocument, IRole, Role, RoleSchema, RoleDocument, IUserClient, UserClient, UserClientDocument, UserClientSchema, IUser, User, UserSchema, UserDocument, DictionaryDTO, AuthorDTO, IAuthor, Author, AuthorSchema, IS3File, S3File, S3FileSchema, S3FileDocument, IFileLog, FileLog, FileLogSchema, FileLogDocument, IFileMeta, FileMeta, FileMetaSchema, FileMetaDocument, IFileRecord, FileRecord, FileRecordSchema, FileRecordDocument, IFileState, FileState, FileStateSchema, FileStateDocument, ILogInitiator, LogInitiator, LogInitiatorDocument, LogInitiatorSchema, IS3, S3, S3Document, S3Schema, S3FileState, IDictionarySetting, DictionarySetting, DictionarySettingSchema, DictionarySettingDocument, IOrigin, Origin, OriginSchema, OriginDocument, IDictionary, Dictionary, DictionarySchema, DictionaryDocument, RESTQueryParams, IMongoPage, };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GeoLocation = exports.ContactSchema = exports.Contact = exports.ClientSchema = exports.Client = exports.AddressSchema = exports.Address = exports.ConsoleLogger = exports.Env = exports.LoggerClient = exports.LogService = exports.LogModule = exports.HTTPMethod = exports.sizeOfJson = exports.getRandomNumberFromRange = exports.translitGeorgiaToLatin = exports.escapeRegex = exports.ValidateMongoIdPipe = exports.ClientPermissions = exports.PermissionGuardConfig = exports.PermissionsIncludeStrategy = exports.Permission = exports.generateUUID = exports.PermissionGuard = exports.CacheModule = exports.SessionService = exports.RedisService = exports.SessionClient = exports.ConfigUtil = exports.RESTResponseBody = exports.RESTError = exports.RESTResult = exports.RESTPage = exports.RESTRequestBody = exports.RESTPaging = exports.RESTSort = exports.SortPage = exports.Page = exports.Sort = exports.SortDirection = exports.RecordState = exports.StateParamDTO = exports.RecordDTO = exports.BaseExceptionsFilter = exports.validationExceptionFactory = exports.HandledException = exports.IsRoute = exports.IsMapOfStrings = exports.IsRouteConstraint = exports.IsMapOfStringsConstraint = void 0;
4
- exports.DictionarySchema = exports.Dictionary = exports.OriginSchema = exports.Origin = exports.DictionarySettingSchema = exports.DictionarySetting = exports.S3FileState = exports.S3Schema = exports.S3 = exports.LogInitiatorSchema = exports.LogInitiator = exports.FileStateSchema = exports.FileState = exports.FileRecordSchema = exports.FileRecord = exports.FileMetaSchema = exports.FileMeta = exports.FileLogSchema = exports.FileLog = exports.S3FileSchema = exports.S3File = exports.AuthorSchema = exports.Author = exports.AuthorDTO = exports.DictionaryDTO = exports.UserSchema = exports.User = exports.UserClientSchema = exports.UserClient = exports.RoleSchema = exports.Role = exports.RecordSchema = exports.Record = exports.PersonSchema = exports.Person = exports.PermissionSchema = exports.PermissionClass = exports.I18nSchema = exports.I18n = exports.GeoLocationSchema = void 0;
4
+ exports.RESTQueryParams = exports.DictionarySchema = exports.Dictionary = exports.OriginSchema = exports.Origin = exports.DictionarySettingSchema = exports.DictionarySetting = exports.S3FileState = exports.S3Schema = exports.S3 = exports.LogInitiatorSchema = exports.LogInitiator = exports.FileStateSchema = exports.FileState = exports.FileRecordSchema = exports.FileRecord = exports.FileMetaSchema = exports.FileMeta = exports.FileLogSchema = exports.FileLog = exports.S3FileSchema = exports.S3File = exports.AuthorSchema = exports.Author = exports.AuthorDTO = exports.DictionaryDTO = exports.UserSchema = exports.User = exports.UserClientSchema = exports.UserClient = exports.RoleSchema = exports.Role = exports.RecordSchema = exports.Record = exports.PersonSchema = exports.Person = exports.PermissionSchema = exports.PermissionClass = exports.I18nSchema = exports.I18n = exports.GeoLocationSchema = void 0;
5
5
  const is_map_of_strings_constraint_1 = require("./constraints/is-map-of-strings.constraint");
6
6
  Object.defineProperty(exports, "IsMapOfStringsConstraint", { enumerable: true, get: function () { return is_map_of_strings_constraint_1.IsMapOfStringsConstraint; } });
7
7
  const is_route_constraint_1 = require("./constraints/is-route.constraint");
@@ -26,6 +26,7 @@ const rest_wrapper_class_1 = require("./models/wrappers/rest-wrapper.class");
26
26
  Object.defineProperty(exports, "RESTError", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTError; } });
27
27
  Object.defineProperty(exports, "RESTPage", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTPage; } });
28
28
  Object.defineProperty(exports, "RESTPaging", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTPaging; } });
29
+ Object.defineProperty(exports, "RESTQueryParams", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTQueryParams; } });
29
30
  Object.defineProperty(exports, "RESTRequestBody", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTRequestBody; } });
30
31
  Object.defineProperty(exports, "RESTResponseBody", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTResponseBody; } });
31
32
  Object.defineProperty(exports, "RESTResult", { enumerable: true, get: function () { return rest_wrapper_class_1.RESTResult; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,6FAAsF;AAoIpF,yGApIO,uDAAwB,OAoIP;AAnI1B,2EAAsE;AAoIpE,kGApIO,uCAAiB,OAoIP;AAnInB,0FAA0E;AAoIxE,+FApIO,4CAAc,OAoIP;AAnIhB,wEAA0D;AAoIxD,wFApIO,4BAAO,OAoIP;AAnIT,oEAAiE;AAoI/D,iGApIO,mCAAgB,OAoIP;AAnIlB,qEAA2E;AAoIzE,2GApIO,8CAA0B,OAoIP;AAnI5B,2EAAuE;AAoIrE,qGApIO,4CAAoB,OAoIP;AAnItB,yDAAqD;AAoInD,0FApIO,sBAAS,OAoIP;AAnIX,qEAA+D;AAoI7D,8FApIO,gCAAa,OAoIP;AAnIf,wEAA+D;AAoI7D,4FApIO,+BAAW,OAoIP;AAlIb,6EAS8C;AAmI5C,0FA3IA,8BAAS,OA2IA;AAFT,yFAxIA,6BAAQ,OAwIA;AAFR,2FArIA,+BAAU,OAqIA;AACV,gGArIA,oCAAe,OAqIA;AAIf,iGAxIA,qCAAgB,OAwIA;AAFhB,2FArIA,+BAAU,OAqIA;AAJV,yFAhIA,6BAAQ,OAgIA;AAJR,8FA3HA,kCAAa,OA2HA;AAzHf,iEAAuD;AAoIrD,2FApIO,8BAAU,OAoIP;AAjIZ,6DAAyD;AAoIvD,8FApIO,8BAAa,OAoIP;AAnIf,0EAAsE;AAoIpE,6FApIO,4BAAY,OAoIP;AAnId,8EAA0E;AAoIxE,+FApIO,gCAAc,OAoIP;AAnIhB,+DAA2D;AAoIzD,4FApIO,0BAAW,OAoIP;AAnIb,8EAA0E;AAoIxE,gGApIO,kCAAe,OAoIP;AAnIjB,+EAAkE;AAoIhE,6FApIO,qCAAY,OAoIP;AAnId,yFAA4E;AAoI1E,2FApIO,iCAAU,OAoIP;AAnIZ,sGAA6F;AAoI3F,2GApIO,6DAA0B,OAoIP;AAnI5B,uGAA0F;AAoIxF,sGApIO,uDAAqB,OAoIP;AAnIvB,6FAAiF;AAoI/E,kGApIO,8CAAiB,OAoIP;AAnInB,uEAI2C;AAwKzC,uFA3KA,wBAAM,OA2KA;AACN,6FA1KA,8BAAY,OA0KA;AAxKd,2EAAqE;AA+HnE,oGA/HO,4CAAmB,OA+HP;AA9HrB,6EAAgE;AA+H9D,4FA/HO,mCAAW,OA+HP;AA9Hb,uFAAgF;AA+H9E,uGA/HO,mDAAsB,OA+HP;AA9HxB,6EAA6E;AA+H3E,yGA/HO,gDAAwB,OA+HP;AA9H1B,uEAA4D;AA+H1D,2FA/HO,+BAAU,OA+HP;AA9HZ,sEAA6D;AA+H3D,2FA/HO,6BAAU,OA+HP;AA9HZ,yDAAqD;AA+HnD,0FA/HO,sBAAS,OA+HP;AA9HX,oEAAgE;AA+H9D,2FA/HO,wBAAU,OA+HP;AA9HZ,2DAAuD;AA+HrD,6FA/HO,4BAAY,OA+HP;AA9Hd,sDAA8C;AA+H5C,oFA/HO,cAAG,OA+HP;AA9HL,uEAA6D;AA+H3D,8FA/HO,oCAAa,OA+HP;AA7Hf,yEAI4C;AA2H1C,wFA9HA,0BAAO,OA8HA;AACP,8FA7HA,gCAAa,OA6HA;AA1Hf,kEAIwC;AAyHtC,uFA5HA,sBAAM,OA4HA;AACN,6FA5HA,4BAAY,OA4HA;AAzHd,yEAI4C;AAwH1C,wFA3HA,0BAAO,OA2HA;AACP,8FA3HA,gCAAa,OA2HA;AAvHf,mFAIiD;AAsH/C,4FAzHA,mCAAW,OAyHA;AACX,kGAzHA,yCAAiB,OAyHA;AArHnB,mEAIyC;AAoHvC,qFAvHA,oBAAI,OAuHA;AACJ,2FAvHA,0BAAU,OAuHA;AAlHZ,0EAI4C;AAkH1C,iGArHA,oCAAgB,OAqHA;AADhB,gGAlHc,8BAAe,OAkHd;AAhHjB,uEAI2C;AAgHzC,uFAnHA,wBAAM,OAmHA;AACN,6FAnHA,8BAAY,OAmHA;AA9Gd,8DAA8E;AAqH5E,qFArHO,kBAAI,OAqHP;AACJ,2FAtHa,wBAAU,OAsHb;AArHZ,iFAIgD;AAoH9C,2FAvHA,iCAAU,OAuHA;AAEV,iGAvHA,uCAAgB,OAuHA;AAnHlB,8DAA8E;AAqH5E,qFArHO,kBAAI,OAqHP;AACJ,2FAtHa,wBAAU,OAsHb;AArHZ,iEAA6D;AAuH3D,8FAvHO,8BAAa,OAuHP;AAtHf,yDAAqD;AAuHnD,0FAvHO,sBAAS,OAuHP;AArHX,uEAAyE;AAuHvE,uFAvHO,wBAAM,OAuHP;AACN,6FAxHe,8BAAY,OAwHf;AAvHd,8EAAiG;AA6H/F,wFA7HO,2BAAO,OA6HP;AACP,8FA9HgB,iCAAa,OA8HhB;AA7Hf,gFAAqG;AAgInG,yFAhIO,6BAAQ,OAgIP;AACR,+FAjIiB,mCAAc,OAiIjB;AAhIhB,oFAA6G;AAmI3G,2FAnIO,iCAAU,OAmIP;AACV,iGApImB,uCAAgB,OAoInB;AAnIlB,kFAAyG;AAsIvG,0FAtIO,+BAAS,OAsIP;AACT,gGAvIqC,qCAAe,OAuIrC;AAtIjB,gFAAiH;AAyI/G,6FAzIO,iCAAY,OAyIP;AAEZ,mGA3I2C,uCAAkB,OA2I3C;AA1IpB,kEAA4E;AA4I1E,mFA5IO,gBAAE,OA4IP;AAEF,yFA9IuB,sBAAQ,OA8IvB;AA7IV,0EAAgE;AA8I9D,4FA9IO,gCAAW,OA8IP;AA7Ib,sEAA0F;AAkHxF,uFAlHO,sBAAM,OAkHP;AACN,6FAnH+B,4BAAY,OAmH/B;AAjHd,0GAAiJ;AA6I/I,kGA7IO,+CAAiB,OA6IP;AACjB,wGA9I0B,qDAAuB,OA8I1B;AA7IzB,kFAAoG;AAgJlG,uFAhJO,wBAAM,OAgJP;AACN,6FAjJe,8BAAY,OAiJf;AA9Id,qFAAiH;AAiJ/G,2FAjJO,8BAAU,OAiJP;AACV,iGAlJmB,oCAAgB,OAkJnB;AA1IlB,iEAAsD;AAiBpD,qFAjBO,mBAAI,OAiBP;AAhBN,2EAA+D;AAiB7D,yFAjBO,4BAAQ,OAiBP;AAhBV,iEAAsD;AAcpD,qFAdO,mBAAI,OAcP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export declare class RESTSort {
7
7
  property: string;
8
8
  direction: SortDirection;
9
9
  }
10
+ export interface IMongoPage {
11
+ skip: number;
12
+ limit: number;
13
+ }
10
14
  export declare class RESTPaging {
11
15
  page: number;
12
16
  size: number;
@@ -14,6 +18,7 @@ export declare class RESTPaging {
14
18
  skip: number;
15
19
  limit: number;
16
20
  };
21
+ static generate(page: number, size: number): IMongoPage;
17
22
  }
18
23
  export declare abstract class RESTRequestBody {
19
24
  abstract data: any;
@@ -44,7 +49,7 @@ export declare class RESTError {
44
49
  debug?: any;
45
50
  validation?: any;
46
51
  statusCode?: HttpStatus;
47
- constructor(keyword: string, debug?: any);
52
+ constructor(keyword: string, debug?: any, statusCode?: HttpStatus);
48
53
  static throw(keyword: string, statusCode?: HttpStatus, debug?: any): void;
49
54
  static dataValidation(validation: any): RESTError;
50
55
  }
@@ -56,3 +61,8 @@ export declare class RESTResponseBody<T> {
56
61
  static success<T>(data: T, page?: RESTPage, sort?: RESTSort[]): RESTResponseBody<T>;
57
62
  static fail(errors: RESTError[], statusCode?: number): RESTResponseBody<any>;
58
63
  }
64
+ export declare class RESTQueryParams extends RESTPaging {
65
+ sort: string[];
66
+ getRESTSort(): RESTSort[];
67
+ extractSort(): {};
68
+ }
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RESTResponseBody = exports.RESTError = exports.RESTResult = exports.RESTPage = exports.RESTRequestBody = exports.RESTPaging = exports.RESTSort = exports.SortDirection = void 0;
12
+ exports.RESTQueryParams = exports.RESTResponseBody = exports.RESTError = exports.RESTResult = exports.RESTPage = exports.RESTRequestBody = exports.RESTPaging = exports.RESTSort = exports.SortDirection = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
@@ -37,16 +37,25 @@ class RESTPaging {
37
37
  const skip = (this.page - 1) * this.size;
38
38
  return { skip, limit: this.size };
39
39
  }
40
+ static generate(page, size) {
41
+ const skip = (page - 1) * size;
42
+ return { skip, limit: size };
43
+ }
40
44
  }
41
45
  exports.RESTPaging = RESTPaging;
42
46
  __decorate([
43
47
  (0, class_validator_1.IsNotEmpty)(),
44
- (0, class_validator_1.IsNumber)(),
48
+ (0, class_validator_1.IsInt)(),
49
+ (0, class_transformer_1.Type)(() => Number),
50
+ (0, class_validator_1.Min)(1),
45
51
  __metadata("design:type", Number)
46
52
  ], RESTPaging.prototype, "page", void 0);
47
53
  __decorate([
48
54
  (0, class_validator_1.IsNotEmpty)(),
49
- (0, class_validator_1.IsNumber)(),
55
+ (0, class_validator_1.IsInt)(),
56
+ (0, class_transformer_1.Type)(() => Number),
57
+ (0, class_validator_1.Min)(1),
58
+ (0, class_validator_1.Max)(100),
50
59
  __metadata("design:type", Number)
51
60
  ], RESTPaging.prototype, "size", void 0);
52
61
  class RESTRequestBody {
@@ -119,9 +128,10 @@ class RESTResult {
119
128
  }
120
129
  exports.RESTResult = RESTResult;
121
130
  class RESTError {
122
- constructor(keyword, debug) {
131
+ constructor(keyword, debug, statusCode) {
123
132
  this.keyword = keyword;
124
133
  this.debug = debug;
134
+ this.statusCode = statusCode;
125
135
  }
126
136
  static throw(keyword, statusCode, debug) {
127
137
  const error = new RESTError(keyword, debug);
@@ -129,7 +139,7 @@ class RESTError {
129
139
  throw error;
130
140
  }
131
141
  static dataValidation(validation) {
132
- const error = new RESTError('body_validation_error', null);
142
+ const error = new RESTError('body_validation_error', null, 422);
133
143
  error.validation = validation;
134
144
  return error;
135
145
  }
@@ -159,4 +169,46 @@ class RESTResponseBody {
159
169
  }
160
170
  }
161
171
  exports.RESTResponseBody = RESTResponseBody;
172
+ class RESTQueryParams extends RESTPaging {
173
+ getRESTSort() {
174
+ const result = [];
175
+ const items = [];
176
+ if (this.sort) {
177
+ if (this.sort instanceof Array) {
178
+ items.push(...this.sort);
179
+ }
180
+ else {
181
+ items.push(this.sort);
182
+ }
183
+ }
184
+ for (let item of items) {
185
+ const pair = item.split(':');
186
+ if (pair.length != 2) {
187
+ throw new RESTError('invalid_sorting_pair', pair, 422);
188
+ }
189
+ if (['asc', 'desc'].indexOf(pair[1]) === -1) {
190
+ throw new RESTError('invalid_sorting_direction', pair[1], 422);
191
+ }
192
+ result.push({
193
+ property: pair[0],
194
+ direction: pair[1] === 'asc' ? 1 : -1,
195
+ });
196
+ }
197
+ return result;
198
+ }
199
+ extractSort() {
200
+ const sorts = this.getRESTSort();
201
+ const result = {};
202
+ for (let item of sorts) {
203
+ result[item.property] = item.direction;
204
+ }
205
+ return result;
206
+ }
207
+ }
208
+ exports.RESTQueryParams = RESTQueryParams;
209
+ __decorate([
210
+ (0, class_validator_1.IsOptional)(),
211
+ (0, class_validator_1.IsString)({ each: true }),
212
+ __metadata("design:type", Array)
213
+ ], RESTQueryParams.prototype, "sort", void 0);
162
214
  //# sourceMappingURL=rest-wrapper.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest-wrapper.class.js","sourceRoot":"","sources":["../../../src/models/wrappers/rest-wrapper.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest-wrapper.class.js","sourceRoot":"","sources":["../../../src/models/wrappers/rest-wrapper.class.ts"],"names":[],"mappings":"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"}