@flusys/nestjs-localization 4.0.0-lts

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.
Files changed (89) hide show
  1. package/README.md +870 -0
  2. package/cjs/config/index.js +19 -0
  3. package/cjs/config/localization.constants.js +20 -0
  4. package/cjs/config/message-keys.js +77 -0
  5. package/cjs/controllers/index.js +20 -0
  6. package/cjs/controllers/language.controller.js +188 -0
  7. package/cjs/controllers/translation-key.controller.js +174 -0
  8. package/cjs/controllers/translation.controller.js +254 -0
  9. package/cjs/dtos/index.js +20 -0
  10. package/cjs/dtos/language.dto.js +205 -0
  11. package/cjs/dtos/translation-key.dto.js +233 -0
  12. package/cjs/dtos/translation.dto.js +298 -0
  13. package/cjs/entities/index.js +42 -0
  14. package/cjs/entities/language.entity.js +126 -0
  15. package/cjs/entities/translation-key.entity.js +125 -0
  16. package/cjs/entities/translation.entity.js +120 -0
  17. package/cjs/index.js +24 -0
  18. package/cjs/interfaces/index.js +21 -0
  19. package/cjs/interfaces/language.interface.js +4 -0
  20. package/cjs/interfaces/localization-module-options.interface.js +4 -0
  21. package/cjs/interfaces/translation-key.interface.js +4 -0
  22. package/cjs/interfaces/translation.interface.js +4 -0
  23. package/cjs/modules/index.js +18 -0
  24. package/cjs/modules/localization.module.js +115 -0
  25. package/cjs/services/index.js +22 -0
  26. package/cjs/services/language.service.js +108 -0
  27. package/cjs/services/localization-config.service.js +66 -0
  28. package/cjs/services/localization-datasource.provider.js +122 -0
  29. package/cjs/services/translation-key.service.js +184 -0
  30. package/cjs/services/translation.service.js +222 -0
  31. package/config/index.d.ts +2 -0
  32. package/config/localization.constants.d.ts +2 -0
  33. package/config/message-keys.d.ts +96 -0
  34. package/controllers/index.d.ts +3 -0
  35. package/controllers/language.controller.d.ts +25 -0
  36. package/controllers/translation-key.controller.d.ts +22 -0
  37. package/controllers/translation.controller.d.ts +25 -0
  38. package/dtos/index.d.ts +3 -0
  39. package/dtos/language.dto.d.ts +24 -0
  40. package/dtos/translation-key.dto.d.ts +29 -0
  41. package/dtos/translation.dto.d.ts +42 -0
  42. package/entities/index.d.ts +8 -0
  43. package/entities/language.entity.d.ts +13 -0
  44. package/entities/translation-key.entity.d.ts +13 -0
  45. package/entities/translation.entity.d.ts +12 -0
  46. package/fesm/config/index.js +2 -0
  47. package/fesm/config/localization.constants.js +2 -0
  48. package/fesm/config/message-keys.js +54 -0
  49. package/fesm/controllers/index.js +3 -0
  50. package/fesm/controllers/language.controller.js +178 -0
  51. package/fesm/controllers/translation-key.controller.js +164 -0
  52. package/fesm/controllers/translation.controller.js +244 -0
  53. package/fesm/dtos/index.js +3 -0
  54. package/fesm/dtos/language.dto.js +184 -0
  55. package/fesm/dtos/translation-key.dto.js +209 -0
  56. package/fesm/dtos/translation.dto.js +265 -0
  57. package/fesm/entities/index.js +14 -0
  58. package/fesm/entities/language.entity.js +116 -0
  59. package/fesm/entities/translation-key.entity.js +115 -0
  60. package/fesm/entities/translation.entity.js +110 -0
  61. package/fesm/index.js +7 -0
  62. package/fesm/interfaces/index.js +4 -0
  63. package/fesm/interfaces/language.interface.js +1 -0
  64. package/fesm/interfaces/localization-module-options.interface.js +1 -0
  65. package/fesm/interfaces/translation-key.interface.js +1 -0
  66. package/fesm/interfaces/translation.interface.js +1 -0
  67. package/fesm/modules/index.js +1 -0
  68. package/fesm/modules/localization.module.js +105 -0
  69. package/fesm/services/index.js +5 -0
  70. package/fesm/services/language.service.js +98 -0
  71. package/fesm/services/localization-config.service.js +56 -0
  72. package/fesm/services/localization-datasource.provider.js +112 -0
  73. package/fesm/services/translation-key.service.js +174 -0
  74. package/fesm/services/translation.service.js +212 -0
  75. package/index.d.ts +7 -0
  76. package/interfaces/index.d.ts +4 -0
  77. package/interfaces/language.interface.d.ts +10 -0
  78. package/interfaces/localization-module-options.interface.d.ts +21 -0
  79. package/interfaces/translation-key.interface.d.ts +11 -0
  80. package/interfaces/translation.interface.d.ts +13 -0
  81. package/modules/index.d.ts +1 -0
  82. package/modules/localization.module.d.ts +8 -0
  83. package/package.json +81 -0
  84. package/services/index.d.ts +5 -0
  85. package/services/language.service.d.ts +18 -0
  86. package/services/localization-config.service.d.ts +11 -0
  87. package/services/localization-datasource.provider.d.ts +16 -0
  88. package/services/translation-key.service.d.ts +23 -0
  89. package/services/translation.service.d.ts +30 -0
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "TranslationController", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return TranslationController;
9
+ }
10
+ });
11
+ const _classes = require("@flusys/nestjs-shared/classes");
12
+ const _decorators = require("@flusys/nestjs-shared/decorators");
13
+ const _config = require("../config");
14
+ const _guards = require("@flusys/nestjs-shared/guards");
15
+ const _interfaces = require("@flusys/nestjs-shared/interfaces");
16
+ const _common = require("@nestjs/common");
17
+ const _swagger = require("@nestjs/swagger");
18
+ const _dtos = require("../dtos");
19
+ const _services = require("../services");
20
+ function _define_property(obj, key, value) {
21
+ if (key in obj) {
22
+ Object.defineProperty(obj, key, {
23
+ value: value,
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true
27
+ });
28
+ } else {
29
+ obj[key] = value;
30
+ }
31
+ return obj;
32
+ }
33
+ function _ts_decorate(decorators, target, key, desc) {
34
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
35
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
36
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
37
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
38
+ }
39
+ function _ts_metadata(k, v) {
40
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
41
+ }
42
+ function _ts_param(paramIndex, decorator) {
43
+ return function(target, key) {
44
+ decorator(target, key, paramIndex);
45
+ };
46
+ }
47
+ let TranslationController = class TranslationController extends (0, _classes.createApiController)(_dtos.CreateTranslationDto, _dtos.UpdateTranslationDto, _dtos.TranslationResponseDto, {
48
+ entityName: 'translation',
49
+ security: {
50
+ insert: {
51
+ level: 'permission',
52
+ permissions: [
53
+ _classes.TRANSLATION_PERMISSIONS.CREATE
54
+ ]
55
+ },
56
+ insertMany: {
57
+ level: 'permission',
58
+ permissions: [
59
+ _classes.TRANSLATION_PERMISSIONS.CREATE
60
+ ]
61
+ },
62
+ getById: {
63
+ level: 'permission',
64
+ permissions: [
65
+ _classes.TRANSLATION_PERMISSIONS.READ
66
+ ]
67
+ },
68
+ getAll: {
69
+ level: 'permission',
70
+ permissions: [
71
+ _classes.TRANSLATION_PERMISSIONS.READ
72
+ ]
73
+ },
74
+ update: {
75
+ level: 'permission',
76
+ permissions: [
77
+ _classes.TRANSLATION_PERMISSIONS.UPDATE
78
+ ]
79
+ },
80
+ updateMany: {
81
+ level: 'permission',
82
+ permissions: [
83
+ _classes.TRANSLATION_PERMISSIONS.UPDATE
84
+ ]
85
+ },
86
+ delete: {
87
+ level: 'permission',
88
+ permissions: [
89
+ _classes.TRANSLATION_PERMISSIONS.DELETE
90
+ ]
91
+ }
92
+ }
93
+ }) {
94
+ async getByLanguage(body) {
95
+ const data = await this.service.getByLanguageCode(body.languageCode, body.modules);
96
+ return {
97
+ success: true,
98
+ message: 'Translations retrieved successfully',
99
+ messageKey: _config.TRANSLATION_MESSAGES.BY_LANGUAGE_SUCCESS,
100
+ data
101
+ };
102
+ }
103
+ async getByModule(body) {
104
+ const data = await this.service.getByModuleAndLanguage(body.module, body.languageCode);
105
+ return {
106
+ success: true,
107
+ message: 'Translations by module retrieved successfully',
108
+ messageKey: _config.TRANSLATION_MESSAGES.BY_MODULE_SUCCESS,
109
+ data
110
+ };
111
+ }
112
+ async updateManyValues(body, _user) {
113
+ const data = await this.service.bulkUpdate(body.translations);
114
+ return {
115
+ success: true,
116
+ message: `${data.length} translations updated`,
117
+ messageKey: _config.TRANSLATION_MESSAGES.UPDATE_MANY_SUCCESS,
118
+ messageVariables: {
119
+ count: data.length
120
+ },
121
+ data,
122
+ meta: {
123
+ count: data.length
124
+ }
125
+ };
126
+ }
127
+ async getMissing(body, _user) {
128
+ const data = await this.service.getMissingTranslations(body.languageCode);
129
+ return {
130
+ success: true,
131
+ message: 'Missing translations retrieved successfully',
132
+ messageKey: _config.TRANSLATION_MESSAGES.MISSING_SUCCESS,
133
+ data,
134
+ meta: {
135
+ total: data.length,
136
+ page: 0,
137
+ pageSize: data.length,
138
+ count: data.length
139
+ }
140
+ };
141
+ }
142
+ async getCounts(_user) {
143
+ const data = await this.service.getTranslationCounts();
144
+ return {
145
+ success: true,
146
+ message: 'Translation counts retrieved successfully',
147
+ messageKey: _config.TRANSLATION_MESSAGES.GET_ALL_SUCCESS,
148
+ data
149
+ };
150
+ }
151
+ constructor(service){
152
+ super(service), _define_property(this, "service", void 0), this.service = service;
153
+ }
154
+ };
155
+ _ts_decorate([
156
+ (0, _common.Post)('get-by-language'),
157
+ (0, _swagger.ApiOperation)({
158
+ summary: 'Get translations for a language (optionally filtered by modules)'
159
+ }),
160
+ (0, _swagger.ApiResponse)({
161
+ status: 200
162
+ }),
163
+ _ts_param(0, (0, _common.Body)()),
164
+ _ts_metadata("design:type", Function),
165
+ _ts_metadata("design:paramtypes", [
166
+ typeof _dtos.GetTranslationsByLanguageDto === "undefined" ? Object : _dtos.GetTranslationsByLanguageDto
167
+ ]),
168
+ _ts_metadata("design:returntype", Promise)
169
+ ], TranslationController.prototype, "getByLanguage", null);
170
+ _ts_decorate([
171
+ (0, _common.Post)('get-by-module'),
172
+ (0, _swagger.ApiOperation)({
173
+ summary: 'Get translations by module and language'
174
+ }),
175
+ (0, _swagger.ApiResponse)({
176
+ status: 200
177
+ }),
178
+ _ts_param(0, (0, _common.Body)()),
179
+ _ts_metadata("design:type", Function),
180
+ _ts_metadata("design:paramtypes", [
181
+ typeof _dtos.GetTranslationsByModuleDto === "undefined" ? Object : _dtos.GetTranslationsByModuleDto
182
+ ]),
183
+ _ts_metadata("design:returntype", Promise)
184
+ ], TranslationController.prototype, "getByModule", null);
185
+ _ts_decorate([
186
+ (0, _common.Post)('update-many-values'),
187
+ (0, _common.UseGuards)(_guards.JwtAuthGuard),
188
+ (0, _swagger.ApiBearerAuth)(),
189
+ (0, _decorators.RequirePermission)(_classes.TRANSLATION_PERMISSIONS.UPDATE),
190
+ (0, _swagger.ApiOperation)({
191
+ summary: 'Bulk update translation values'
192
+ }),
193
+ (0, _swagger.ApiResponse)({
194
+ status: 200,
195
+ type: [
196
+ _dtos.TranslationResponseDto
197
+ ]
198
+ }),
199
+ _ts_param(0, (0, _common.Body)()),
200
+ _ts_param(1, (0, _decorators.CurrentUser)()),
201
+ _ts_metadata("design:type", Function),
202
+ _ts_metadata("design:paramtypes", [
203
+ typeof _dtos.BulkUpdateTranslationsDto === "undefined" ? Object : _dtos.BulkUpdateTranslationsDto,
204
+ typeof _interfaces.ILoggedUserInfo === "undefined" ? Object : _interfaces.ILoggedUserInfo
205
+ ]),
206
+ _ts_metadata("design:returntype", Promise)
207
+ ], TranslationController.prototype, "updateManyValues", null);
208
+ _ts_decorate([
209
+ (0, _common.Post)('get-missing'),
210
+ (0, _common.UseGuards)(_guards.JwtAuthGuard),
211
+ (0, _swagger.ApiBearerAuth)(),
212
+ (0, _decorators.RequirePermission)(_classes.TRANSLATION_PERMISSIONS.READ),
213
+ (0, _swagger.ApiOperation)({
214
+ summary: 'Get translation keys missing translations for a language'
215
+ }),
216
+ (0, _swagger.ApiResponse)({
217
+ status: 200
218
+ }),
219
+ _ts_param(0, (0, _common.Body)()),
220
+ _ts_param(1, (0, _decorators.CurrentUser)()),
221
+ _ts_metadata("design:type", Function),
222
+ _ts_metadata("design:paramtypes", [
223
+ typeof _dtos.GetTranslationsByLanguageDto === "undefined" ? Object : _dtos.GetTranslationsByLanguageDto,
224
+ typeof _interfaces.ILoggedUserInfo === "undefined" ? Object : _interfaces.ILoggedUserInfo
225
+ ]),
226
+ _ts_metadata("design:returntype", Promise)
227
+ ], TranslationController.prototype, "getMissing", null);
228
+ _ts_decorate([
229
+ (0, _common.Post)('get-counts'),
230
+ (0, _common.UseGuards)(_guards.JwtAuthGuard),
231
+ (0, _swagger.ApiBearerAuth)(),
232
+ (0, _decorators.RequirePermission)(_classes.TRANSLATION_PERMISSIONS.READ),
233
+ (0, _swagger.ApiOperation)({
234
+ summary: 'Get translation counts per translation key'
235
+ }),
236
+ (0, _swagger.ApiResponse)({
237
+ status: 200
238
+ }),
239
+ _ts_param(0, (0, _decorators.CurrentUser)()),
240
+ _ts_metadata("design:type", Function),
241
+ _ts_metadata("design:paramtypes", [
242
+ typeof _interfaces.ILoggedUserInfo === "undefined" ? Object : _interfaces.ILoggedUserInfo
243
+ ]),
244
+ _ts_metadata("design:returntype", Promise)
245
+ ], TranslationController.prototype, "getCounts", null);
246
+ TranslationController = _ts_decorate([
247
+ (0, _swagger.ApiTags)('Localization - Translation'),
248
+ (0, _common.Controller)('localization/translation'),
249
+ _ts_param(0, (0, _common.Inject)(_services.TranslationService)),
250
+ _ts_metadata("design:type", Function),
251
+ _ts_metadata("design:paramtypes", [
252
+ typeof _services.TranslationService === "undefined" ? Object : _services.TranslationService
253
+ ])
254
+ ], TranslationController);
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ _export_star(require("./language.dto"), exports);
6
+ _export_star(require("./translation-key.dto"), exports);
7
+ _export_star(require("./translation.dto"), exports);
8
+ function _export_star(from, to) {
9
+ Object.keys(from).forEach(function(k) {
10
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
+ Object.defineProperty(to, k, {
12
+ enumerable: true,
13
+ get: function() {
14
+ return from[k];
15
+ }
16
+ });
17
+ }
18
+ });
19
+ return from;
20
+ }
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get CreateLanguageDto () {
13
+ return CreateLanguageDto;
14
+ },
15
+ get LanguageResponseDto () {
16
+ return LanguageResponseDto;
17
+ },
18
+ get UpdateLanguageDto () {
19
+ return UpdateLanguageDto;
20
+ }
21
+ });
22
+ const _dtos = require("@flusys/nestjs-shared/dtos");
23
+ const _swagger = require("@nestjs/swagger");
24
+ const _classtransformer = require("class-transformer");
25
+ const _classvalidator = require("class-validator");
26
+ function _define_property(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+ return obj;
38
+ }
39
+ function _ts_decorate(decorators, target, key, desc) {
40
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
42
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
43
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
44
+ }
45
+ function _ts_metadata(k, v) {
46
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
47
+ }
48
+ let CreateLanguageDto = class CreateLanguageDto {
49
+ constructor(){
50
+ _define_property(this, "code", void 0);
51
+ _define_property(this, "name", void 0);
52
+ _define_property(this, "nativeName", void 0);
53
+ _define_property(this, "direction", void 0);
54
+ _define_property(this, "isActive", void 0);
55
+ _define_property(this, "isDefault", void 0);
56
+ _define_property(this, "serial", void 0);
57
+ }
58
+ };
59
+ _ts_decorate([
60
+ (0, _classvalidator.IsString)(),
61
+ (0, _classvalidator.MaxLength)(10),
62
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
63
+ (0, _swagger.ApiProperty)({
64
+ example: 'en',
65
+ description: 'Language code (ISO 639-1)'
66
+ }),
67
+ _ts_metadata("design:type", String)
68
+ ], CreateLanguageDto.prototype, "code", void 0);
69
+ _ts_decorate([
70
+ (0, _classvalidator.IsString)(),
71
+ (0, _classvalidator.MaxLength)(100),
72
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
73
+ (0, _swagger.ApiProperty)({
74
+ example: 'English',
75
+ description: 'Language name'
76
+ }),
77
+ _ts_metadata("design:type", String)
78
+ ], CreateLanguageDto.prototype, "name", void 0);
79
+ _ts_decorate([
80
+ (0, _classvalidator.IsOptional)(),
81
+ (0, _classvalidator.IsString)(),
82
+ (0, _classvalidator.MaxLength)(100),
83
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
84
+ (0, _swagger.ApiPropertyOptional)({
85
+ example: 'English',
86
+ description: 'Native name of the language'
87
+ }),
88
+ _ts_metadata("design:type", String)
89
+ ], CreateLanguageDto.prototype, "nativeName", void 0);
90
+ _ts_decorate([
91
+ (0, _classvalidator.IsOptional)(),
92
+ (0, _classvalidator.IsIn)([
93
+ 'ltr',
94
+ 'rtl'
95
+ ]),
96
+ (0, _swagger.ApiPropertyOptional)({
97
+ example: 'ltr',
98
+ enum: [
99
+ 'ltr',
100
+ 'rtl'
101
+ ],
102
+ description: 'Text direction'
103
+ }),
104
+ _ts_metadata("design:type", String)
105
+ ], CreateLanguageDto.prototype, "direction", void 0);
106
+ _ts_decorate([
107
+ (0, _classvalidator.IsOptional)(),
108
+ (0, _classvalidator.IsBoolean)(),
109
+ (0, _swagger.ApiPropertyOptional)({
110
+ example: true,
111
+ description: 'Whether the language is active'
112
+ }),
113
+ _ts_metadata("design:type", Boolean)
114
+ ], CreateLanguageDto.prototype, "isActive", void 0);
115
+ _ts_decorate([
116
+ (0, _classvalidator.IsOptional)(),
117
+ (0, _classvalidator.IsBoolean)(),
118
+ (0, _swagger.ApiPropertyOptional)({
119
+ example: false,
120
+ description: 'Whether this is the default language'
121
+ }),
122
+ _ts_metadata("design:type", Boolean)
123
+ ], CreateLanguageDto.prototype, "isDefault", void 0);
124
+ _ts_decorate([
125
+ (0, _classvalidator.IsOptional)(),
126
+ (0, _classvalidator.IsNumber)(),
127
+ (0, _swagger.ApiPropertyOptional)({
128
+ example: 1,
129
+ description: 'Display order'
130
+ }),
131
+ _ts_metadata("design:type", Number)
132
+ ], CreateLanguageDto.prototype, "serial", void 0);
133
+ let UpdateLanguageDto = class UpdateLanguageDto extends (0, _swagger.PartialType)(CreateLanguageDto) {
134
+ constructor(...args){
135
+ super(...args), _define_property(this, "id", void 0);
136
+ }
137
+ };
138
+ _ts_decorate([
139
+ (0, _classvalidator.IsUUID)(),
140
+ (0, _swagger.ApiProperty)({
141
+ description: 'Language ID'
142
+ }),
143
+ _ts_metadata("design:type", String)
144
+ ], UpdateLanguageDto.prototype, "id", void 0);
145
+ let LanguageResponseDto = class LanguageResponseDto extends _dtos.IdentityResponseDto {
146
+ constructor(...args){
147
+ super(...args), _define_property(this, "code", void 0), _define_property(this, "name", void 0), _define_property(this, "nativeName", void 0), _define_property(this, "direction", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isDefault", void 0), _define_property(this, "serial", void 0);
148
+ }
149
+ };
150
+ _ts_decorate([
151
+ (0, _swagger.ApiProperty)({
152
+ example: 'en'
153
+ }),
154
+ (0, _classtransformer.Expose)(),
155
+ _ts_metadata("design:type", String)
156
+ ], LanguageResponseDto.prototype, "code", void 0);
157
+ _ts_decorate([
158
+ (0, _swagger.ApiProperty)({
159
+ example: 'English'
160
+ }),
161
+ (0, _classtransformer.Expose)(),
162
+ _ts_metadata("design:type", String)
163
+ ], LanguageResponseDto.prototype, "name", void 0);
164
+ _ts_decorate([
165
+ (0, _swagger.ApiPropertyOptional)({
166
+ example: 'English'
167
+ }),
168
+ (0, _classtransformer.Expose)(),
169
+ _ts_metadata("design:type", Object)
170
+ ], LanguageResponseDto.prototype, "nativeName", void 0);
171
+ _ts_decorate([
172
+ (0, _swagger.ApiPropertyOptional)({
173
+ example: 'ltr',
174
+ enum: [
175
+ 'ltr',
176
+ 'rtl'
177
+ ]
178
+ }),
179
+ (0, _classtransformer.Expose)(),
180
+ _ts_metadata("design:type", Object)
181
+ ], LanguageResponseDto.prototype, "direction", void 0);
182
+ _ts_decorate([
183
+ (0, _swagger.ApiProperty)({
184
+ example: true
185
+ }),
186
+ (0, _classtransformer.Expose)(),
187
+ _ts_metadata("design:type", Boolean)
188
+ ], LanguageResponseDto.prototype, "isActive", void 0);
189
+ _ts_decorate([
190
+ (0, _swagger.ApiProperty)({
191
+ example: false
192
+ }),
193
+ (0, _classtransformer.Expose)(),
194
+ _ts_metadata("design:type", Boolean)
195
+ ], LanguageResponseDto.prototype, "isDefault", void 0);
196
+ _ts_decorate([
197
+ (0, _swagger.ApiPropertyOptional)({
198
+ example: 1
199
+ }),
200
+ (0, _classtransformer.Expose)(),
201
+ _ts_metadata("design:type", Object)
202
+ ], LanguageResponseDto.prototype, "serial", void 0);
203
+ LanguageResponseDto = _ts_decorate([
204
+ (0, _classtransformer.Exclude)()
205
+ ], LanguageResponseDto);