@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,233 @@
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 CreateTranslationKeyDto () {
13
+ return CreateTranslationKeyDto;
14
+ },
15
+ get GetByModuleDto () {
16
+ return GetByModuleDto;
17
+ },
18
+ get TranslationKeyResponseDto () {
19
+ return TranslationKeyResponseDto;
20
+ },
21
+ get UpdateTranslationKeyDto () {
22
+ return UpdateTranslationKeyDto;
23
+ }
24
+ });
25
+ const _dtos = require("@flusys/nestjs-shared/dtos");
26
+ const _swagger = require("@nestjs/swagger");
27
+ const _classtransformer = require("class-transformer");
28
+ const _classvalidator = require("class-validator");
29
+ function _define_property(obj, key, value) {
30
+ if (key in obj) {
31
+ Object.defineProperty(obj, key, {
32
+ value: value,
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true
36
+ });
37
+ } else {
38
+ obj[key] = value;
39
+ }
40
+ return obj;
41
+ }
42
+ function _ts_decorate(decorators, target, key, desc) {
43
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
44
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
45
+ 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;
46
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
47
+ }
48
+ function _ts_metadata(k, v) {
49
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
50
+ }
51
+ let CreateTranslationKeyDto = class CreateTranslationKeyDto {
52
+ constructor(){
53
+ _define_property(this, "module", void 0);
54
+ _define_property(this, "key", void 0);
55
+ _define_property(this, "defaultMessage", void 0);
56
+ _define_property(this, "description", void 0);
57
+ _define_property(this, "variables", void 0);
58
+ _define_property(this, "isActive", void 0);
59
+ _define_property(this, "isReadonly", void 0);
60
+ _define_property(this, "serial", void 0);
61
+ }
62
+ };
63
+ _ts_decorate([
64
+ (0, _classvalidator.IsString)(),
65
+ (0, _classvalidator.MaxLength)(100),
66
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
67
+ (0, _swagger.ApiProperty)({
68
+ example: 'auth',
69
+ description: 'Module name'
70
+ }),
71
+ _ts_metadata("design:type", String)
72
+ ], CreateTranslationKeyDto.prototype, "module", void 0);
73
+ _ts_decorate([
74
+ (0, _classvalidator.IsString)(),
75
+ (0, _classvalidator.MaxLength)(255),
76
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
77
+ (0, _swagger.ApiProperty)({
78
+ example: 'auth.login.success',
79
+ description: 'Translation key'
80
+ }),
81
+ _ts_metadata("design:type", String)
82
+ ], CreateTranslationKeyDto.prototype, "key", void 0);
83
+ _ts_decorate([
84
+ (0, _classvalidator.IsString)(),
85
+ (0, _classvalidator.MaxLength)(500),
86
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
87
+ (0, _swagger.ApiProperty)({
88
+ example: 'Login successful',
89
+ description: 'Default English message'
90
+ }),
91
+ _ts_metadata("design:type", String)
92
+ ], CreateTranslationKeyDto.prototype, "defaultMessage", void 0);
93
+ _ts_decorate([
94
+ (0, _classvalidator.IsOptional)(),
95
+ (0, _classvalidator.IsString)(),
96
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
97
+ (0, _swagger.ApiPropertyOptional)({
98
+ description: 'Developer notes'
99
+ }),
100
+ _ts_metadata("design:type", String)
101
+ ], CreateTranslationKeyDto.prototype, "description", void 0);
102
+ _ts_decorate([
103
+ (0, _classvalidator.IsOptional)(),
104
+ (0, _classvalidator.IsArray)(),
105
+ (0, _classvalidator.IsString)({
106
+ each: true
107
+ }),
108
+ (0, _swagger.ApiPropertyOptional)({
109
+ example: [
110
+ 'name'
111
+ ],
112
+ description: 'Variable names used in the message'
113
+ }),
114
+ _ts_metadata("design:type", Array)
115
+ ], CreateTranslationKeyDto.prototype, "variables", void 0);
116
+ _ts_decorate([
117
+ (0, _classvalidator.IsOptional)(),
118
+ (0, _classvalidator.IsBoolean)(),
119
+ (0, _swagger.ApiPropertyOptional)({
120
+ example: true
121
+ }),
122
+ _ts_metadata("design:type", Boolean)
123
+ ], CreateTranslationKeyDto.prototype, "isActive", void 0);
124
+ _ts_decorate([
125
+ (0, _classvalidator.IsOptional)(),
126
+ (0, _classvalidator.IsBoolean)(),
127
+ (0, _swagger.ApiPropertyOptional)({
128
+ example: false,
129
+ description: 'Readonly keys cannot be deleted by users'
130
+ }),
131
+ _ts_metadata("design:type", Boolean)
132
+ ], CreateTranslationKeyDto.prototype, "isReadonly", void 0);
133
+ _ts_decorate([
134
+ (0, _classvalidator.IsOptional)(),
135
+ (0, _classvalidator.IsNumber)(),
136
+ (0, _swagger.ApiPropertyOptional)({
137
+ example: 1
138
+ }),
139
+ _ts_metadata("design:type", Number)
140
+ ], CreateTranslationKeyDto.prototype, "serial", void 0);
141
+ let UpdateTranslationKeyDto = class UpdateTranslationKeyDto extends (0, _swagger.PartialType)((0, _swagger.OmitType)(CreateTranslationKeyDto, [
142
+ 'isReadonly'
143
+ ])) {
144
+ constructor(...args){
145
+ super(...args), _define_property(this, "id", void 0);
146
+ }
147
+ };
148
+ _ts_decorate([
149
+ (0, _classvalidator.IsUUID)(),
150
+ (0, _swagger.ApiProperty)({
151
+ description: 'Translation key ID'
152
+ }),
153
+ _ts_metadata("design:type", String)
154
+ ], UpdateTranslationKeyDto.prototype, "id", void 0);
155
+ let TranslationKeyResponseDto = class TranslationKeyResponseDto extends _dtos.IdentityResponseDto {
156
+ constructor(...args){
157
+ super(...args), _define_property(this, "module", void 0), _define_property(this, "key", void 0), _define_property(this, "defaultMessage", void 0), _define_property(this, "description", void 0), _define_property(this, "variables", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isReadonly", void 0), _define_property(this, "serial", void 0);
158
+ }
159
+ };
160
+ _ts_decorate([
161
+ (0, _swagger.ApiProperty)({
162
+ example: 'auth'
163
+ }),
164
+ (0, _classtransformer.Expose)(),
165
+ _ts_metadata("design:type", String)
166
+ ], TranslationKeyResponseDto.prototype, "module", void 0);
167
+ _ts_decorate([
168
+ (0, _swagger.ApiProperty)({
169
+ example: 'auth.login.success'
170
+ }),
171
+ (0, _classtransformer.Expose)(),
172
+ _ts_metadata("design:type", String)
173
+ ], TranslationKeyResponseDto.prototype, "key", void 0);
174
+ _ts_decorate([
175
+ (0, _swagger.ApiProperty)({
176
+ example: 'Login successful'
177
+ }),
178
+ (0, _classtransformer.Expose)(),
179
+ _ts_metadata("design:type", String)
180
+ ], TranslationKeyResponseDto.prototype, "defaultMessage", void 0);
181
+ _ts_decorate([
182
+ (0, _swagger.ApiPropertyOptional)(),
183
+ (0, _classtransformer.Expose)(),
184
+ _ts_metadata("design:type", Object)
185
+ ], TranslationKeyResponseDto.prototype, "description", void 0);
186
+ _ts_decorate([
187
+ (0, _swagger.ApiPropertyOptional)({
188
+ example: [
189
+ 'name'
190
+ ]
191
+ }),
192
+ (0, _classtransformer.Expose)(),
193
+ _ts_metadata("design:type", Object)
194
+ ], TranslationKeyResponseDto.prototype, "variables", void 0);
195
+ _ts_decorate([
196
+ (0, _swagger.ApiProperty)({
197
+ example: true
198
+ }),
199
+ (0, _classtransformer.Expose)(),
200
+ _ts_metadata("design:type", Boolean)
201
+ ], TranslationKeyResponseDto.prototype, "isActive", void 0);
202
+ _ts_decorate([
203
+ (0, _swagger.ApiProperty)({
204
+ example: false
205
+ }),
206
+ (0, _classtransformer.Expose)(),
207
+ _ts_metadata("design:type", Boolean)
208
+ ], TranslationKeyResponseDto.prototype, "isReadonly", void 0);
209
+ _ts_decorate([
210
+ (0, _swagger.ApiPropertyOptional)({
211
+ example: 1
212
+ }),
213
+ (0, _classtransformer.Expose)(),
214
+ _ts_metadata("design:type", Object)
215
+ ], TranslationKeyResponseDto.prototype, "serial", void 0);
216
+ TranslationKeyResponseDto = _ts_decorate([
217
+ (0, _classtransformer.Exclude)()
218
+ ], TranslationKeyResponseDto);
219
+ let GetByModuleDto = class GetByModuleDto {
220
+ constructor(){
221
+ _define_property(this, "module", void 0);
222
+ }
223
+ };
224
+ _ts_decorate([
225
+ (0, _classvalidator.IsString)(),
226
+ (0, _classvalidator.MaxLength)(100),
227
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
228
+ (0, _swagger.ApiProperty)({
229
+ example: 'auth',
230
+ description: 'Module name'
231
+ }),
232
+ _ts_metadata("design:type", String)
233
+ ], GetByModuleDto.prototype, "module", void 0);
@@ -0,0 +1,298 @@
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 BulkUpdateTranslationDto () {
13
+ return BulkUpdateTranslationDto;
14
+ },
15
+ get BulkUpdateTranslationsDto () {
16
+ return BulkUpdateTranslationsDto;
17
+ },
18
+ get CreateTranslationDto () {
19
+ return CreateTranslationDto;
20
+ },
21
+ get GetTranslationsByLanguageDto () {
22
+ return GetTranslationsByLanguageDto;
23
+ },
24
+ get GetTranslationsByModuleDto () {
25
+ return GetTranslationsByModuleDto;
26
+ },
27
+ get TranslationResponseDto () {
28
+ return TranslationResponseDto;
29
+ },
30
+ get UpdateTranslationDto () {
31
+ return UpdateTranslationDto;
32
+ }
33
+ });
34
+ const _dtos = require("@flusys/nestjs-shared/dtos");
35
+ const _swagger = require("@nestjs/swagger");
36
+ const _classtransformer = require("class-transformer");
37
+ const _classvalidator = require("class-validator");
38
+ const _languagedto = require("./language.dto");
39
+ const _translationkeydto = require("./translation-key.dto");
40
+ function _define_property(obj, key, value) {
41
+ if (key in obj) {
42
+ Object.defineProperty(obj, key, {
43
+ value: value,
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true
47
+ });
48
+ } else {
49
+ obj[key] = value;
50
+ }
51
+ return obj;
52
+ }
53
+ function _ts_decorate(decorators, target, key, desc) {
54
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
55
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
56
+ 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;
57
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
58
+ }
59
+ function _ts_metadata(k, v) {
60
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
61
+ }
62
+ let CreateTranslationDto = class CreateTranslationDto {
63
+ constructor(){
64
+ _define_property(this, "languageId", void 0);
65
+ _define_property(this, "translationKeyId", void 0);
66
+ _define_property(this, "value", void 0);
67
+ _define_property(this, "isVerified", void 0);
68
+ _define_property(this, "isActive", void 0);
69
+ }
70
+ };
71
+ _ts_decorate([
72
+ (0, _classvalidator.IsUUID)(),
73
+ (0, _swagger.ApiProperty)({
74
+ description: 'Language ID'
75
+ }),
76
+ _ts_metadata("design:type", String)
77
+ ], CreateTranslationDto.prototype, "languageId", void 0);
78
+ _ts_decorate([
79
+ (0, _classvalidator.IsUUID)(),
80
+ (0, _swagger.ApiProperty)({
81
+ description: 'Translation key ID'
82
+ }),
83
+ _ts_metadata("design:type", String)
84
+ ], CreateTranslationDto.prototype, "translationKeyId", void 0);
85
+ _ts_decorate([
86
+ (0, _classvalidator.IsString)(),
87
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
88
+ (0, _swagger.ApiProperty)({
89
+ example: 'Login successful',
90
+ description: 'Translated value'
91
+ }),
92
+ _ts_metadata("design:type", String)
93
+ ], CreateTranslationDto.prototype, "value", void 0);
94
+ _ts_decorate([
95
+ (0, _classvalidator.IsOptional)(),
96
+ (0, _classvalidator.IsBoolean)(),
97
+ (0, _swagger.ApiPropertyOptional)({
98
+ example: false,
99
+ description: 'Whether translation is verified'
100
+ }),
101
+ _ts_metadata("design:type", Boolean)
102
+ ], CreateTranslationDto.prototype, "isVerified", void 0);
103
+ _ts_decorate([
104
+ (0, _classvalidator.IsOptional)(),
105
+ (0, _classvalidator.IsBoolean)(),
106
+ (0, _swagger.ApiPropertyOptional)({
107
+ example: true
108
+ }),
109
+ _ts_metadata("design:type", Boolean)
110
+ ], CreateTranslationDto.prototype, "isActive", void 0);
111
+ let UpdateTranslationDto = class UpdateTranslationDto extends (0, _swagger.PartialType)(CreateTranslationDto) {
112
+ constructor(...args){
113
+ super(...args), _define_property(this, "id", void 0);
114
+ }
115
+ };
116
+ _ts_decorate([
117
+ (0, _classvalidator.IsUUID)(),
118
+ (0, _swagger.ApiProperty)({
119
+ description: 'Translation ID'
120
+ }),
121
+ _ts_metadata("design:type", String)
122
+ ], UpdateTranslationDto.prototype, "id", void 0);
123
+ let BulkUpdateTranslationDto = class BulkUpdateTranslationDto {
124
+ constructor(){
125
+ _define_property(this, "id", void 0);
126
+ _define_property(this, "languageId", void 0);
127
+ _define_property(this, "translationKeyId", void 0);
128
+ _define_property(this, "value", void 0);
129
+ _define_property(this, "isVerified", void 0);
130
+ }
131
+ };
132
+ _ts_decorate([
133
+ (0, _classvalidator.IsOptional)(),
134
+ (0, _classvalidator.IsUUID)(),
135
+ (0, _swagger.ApiPropertyOptional)({
136
+ description: 'Translation ID (if updating existing)'
137
+ }),
138
+ _ts_metadata("design:type", String)
139
+ ], BulkUpdateTranslationDto.prototype, "id", void 0);
140
+ _ts_decorate([
141
+ (0, _classvalidator.IsUUID)(),
142
+ (0, _swagger.ApiProperty)({
143
+ description: 'Language ID'
144
+ }),
145
+ _ts_metadata("design:type", String)
146
+ ], BulkUpdateTranslationDto.prototype, "languageId", void 0);
147
+ _ts_decorate([
148
+ (0, _classvalidator.IsUUID)(),
149
+ (0, _swagger.ApiProperty)({
150
+ description: 'Translation key ID'
151
+ }),
152
+ _ts_metadata("design:type", String)
153
+ ], BulkUpdateTranslationDto.prototype, "translationKeyId", void 0);
154
+ _ts_decorate([
155
+ (0, _classvalidator.IsString)(),
156
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()),
157
+ (0, _swagger.ApiProperty)({
158
+ example: 'Updated translation value'
159
+ }),
160
+ _ts_metadata("design:type", String)
161
+ ], BulkUpdateTranslationDto.prototype, "value", void 0);
162
+ _ts_decorate([
163
+ (0, _classvalidator.IsOptional)(),
164
+ (0, _classvalidator.IsBoolean)(),
165
+ (0, _swagger.ApiPropertyOptional)({
166
+ example: true
167
+ }),
168
+ _ts_metadata("design:type", Boolean)
169
+ ], BulkUpdateTranslationDto.prototype, "isVerified", void 0);
170
+ let BulkUpdateTranslationsDto = class BulkUpdateTranslationsDto {
171
+ constructor(){
172
+ _define_property(this, "translations", void 0);
173
+ }
174
+ };
175
+ _ts_decorate([
176
+ (0, _classvalidator.IsArray)(),
177
+ (0, _classvalidator.ValidateNested)({
178
+ each: true
179
+ }),
180
+ (0, _classtransformer.Type)(()=>BulkUpdateTranslationDto),
181
+ (0, _swagger.ApiProperty)({
182
+ type: [
183
+ BulkUpdateTranslationDto
184
+ ]
185
+ }),
186
+ _ts_metadata("design:type", Array)
187
+ ], BulkUpdateTranslationsDto.prototype, "translations", void 0);
188
+ let TranslationResponseDto = class TranslationResponseDto extends _dtos.IdentityResponseDto {
189
+ constructor(...args){
190
+ super(...args), _define_property(this, "languageId", void 0), _define_property(this, "translationKeyId", void 0), _define_property(this, "value", void 0), _define_property(this, "isVerified", void 0), _define_property(this, "isActive", void 0), _define_property(this, "language", void 0), _define_property(this, "translationKey", void 0);
191
+ }
192
+ };
193
+ _ts_decorate([
194
+ (0, _swagger.ApiProperty)(),
195
+ (0, _classtransformer.Expose)(),
196
+ _ts_metadata("design:type", String)
197
+ ], TranslationResponseDto.prototype, "languageId", void 0);
198
+ _ts_decorate([
199
+ (0, _swagger.ApiProperty)(),
200
+ (0, _classtransformer.Expose)(),
201
+ _ts_metadata("design:type", String)
202
+ ], TranslationResponseDto.prototype, "translationKeyId", void 0);
203
+ _ts_decorate([
204
+ (0, _swagger.ApiProperty)({
205
+ example: 'Login successful'
206
+ }),
207
+ (0, _classtransformer.Expose)(),
208
+ _ts_metadata("design:type", String)
209
+ ], TranslationResponseDto.prototype, "value", void 0);
210
+ _ts_decorate([
211
+ (0, _swagger.ApiProperty)({
212
+ example: false
213
+ }),
214
+ (0, _classtransformer.Expose)(),
215
+ _ts_metadata("design:type", Boolean)
216
+ ], TranslationResponseDto.prototype, "isVerified", void 0);
217
+ _ts_decorate([
218
+ (0, _swagger.ApiProperty)({
219
+ example: true
220
+ }),
221
+ (0, _classtransformer.Expose)(),
222
+ _ts_metadata("design:type", Boolean)
223
+ ], TranslationResponseDto.prototype, "isActive", void 0);
224
+ _ts_decorate([
225
+ (0, _swagger.ApiPropertyOptional)({
226
+ type: ()=>_languagedto.LanguageResponseDto
227
+ }),
228
+ (0, _classtransformer.Expose)(),
229
+ _ts_metadata("design:type", typeof _languagedto.LanguageResponseDto === "undefined" ? Object : _languagedto.LanguageResponseDto)
230
+ ], TranslationResponseDto.prototype, "language", void 0);
231
+ _ts_decorate([
232
+ (0, _swagger.ApiPropertyOptional)({
233
+ type: ()=>_translationkeydto.TranslationKeyResponseDto
234
+ }),
235
+ (0, _classtransformer.Expose)(),
236
+ _ts_metadata("design:type", typeof _translationkeydto.TranslationKeyResponseDto === "undefined" ? Object : _translationkeydto.TranslationKeyResponseDto)
237
+ ], TranslationResponseDto.prototype, "translationKey", void 0);
238
+ TranslationResponseDto = _ts_decorate([
239
+ (0, _classtransformer.Exclude)()
240
+ ], TranslationResponseDto);
241
+ let GetTranslationsByLanguageDto = class GetTranslationsByLanguageDto {
242
+ constructor(){
243
+ _define_property(this, "languageCode", void 0);
244
+ _define_property(this, "modules", void 0);
245
+ }
246
+ };
247
+ _ts_decorate([
248
+ (0, _classvalidator.IsString)(),
249
+ (0, _classvalidator.MaxLength)(10),
250
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
251
+ (0, _swagger.ApiProperty)({
252
+ example: 'en',
253
+ description: 'Language code'
254
+ }),
255
+ _ts_metadata("design:type", String)
256
+ ], GetTranslationsByLanguageDto.prototype, "languageCode", void 0);
257
+ _ts_decorate([
258
+ (0, _classvalidator.IsOptional)(),
259
+ (0, _classvalidator.IsArray)(),
260
+ (0, _classvalidator.IsString)({
261
+ each: true
262
+ }),
263
+ (0, _classtransformer.Transform)(({ value })=>value?.map((v)=>v?.trim()?.toLowerCase())),
264
+ (0, _swagger.ApiPropertyOptional)({
265
+ example: [
266
+ 'shared',
267
+ 'auth'
268
+ ],
269
+ description: 'Filter by modules (optional)'
270
+ }),
271
+ _ts_metadata("design:type", Array)
272
+ ], GetTranslationsByLanguageDto.prototype, "modules", void 0);
273
+ let GetTranslationsByModuleDto = class GetTranslationsByModuleDto {
274
+ constructor(){
275
+ _define_property(this, "module", void 0);
276
+ _define_property(this, "languageCode", void 0);
277
+ }
278
+ };
279
+ _ts_decorate([
280
+ (0, _classvalidator.IsString)(),
281
+ (0, _classvalidator.MaxLength)(100),
282
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
283
+ (0, _swagger.ApiProperty)({
284
+ example: 'auth',
285
+ description: 'Module name'
286
+ }),
287
+ _ts_metadata("design:type", String)
288
+ ], GetTranslationsByModuleDto.prototype, "module", void 0);
289
+ _ts_decorate([
290
+ (0, _classvalidator.IsString)(),
291
+ (0, _classvalidator.MaxLength)(10),
292
+ (0, _classtransformer.Transform)(({ value })=>value?.trim()?.toLowerCase()),
293
+ (0, _swagger.ApiProperty)({
294
+ example: 'en',
295
+ description: 'Language code'
296
+ }),
297
+ _ts_metadata("design:type", String)
298
+ ], GetTranslationsByModuleDto.prototype, "languageCode", void 0);
@@ -0,0 +1,42 @@
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 LocalizationEntities () {
13
+ return LocalizationEntities;
14
+ },
15
+ get getLocalizationEntities () {
16
+ return getLocalizationEntities;
17
+ }
18
+ });
19
+ const _languageentity = _export_star(require("./language.entity"), exports);
20
+ const _translationkeyentity = _export_star(require("./translation-key.entity"), exports);
21
+ const _translationentity = _export_star(require("./translation.entity"), exports);
22
+ function _export_star(from, to) {
23
+ Object.keys(from).forEach(function(k) {
24
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
25
+ Object.defineProperty(to, k, {
26
+ enumerable: true,
27
+ get: function() {
28
+ return from[k];
29
+ }
30
+ });
31
+ }
32
+ });
33
+ return from;
34
+ }
35
+ const LocalizationEntities = [
36
+ _languageentity.Language,
37
+ _translationkeyentity.TranslationKey,
38
+ _translationentity.Translation
39
+ ];
40
+ function getLocalizationEntities() {
41
+ return LocalizationEntities;
42
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "Language", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return Language;
9
+ }
10
+ });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
12
+ const _typeorm = require("typeorm");
13
+ function _define_property(obj, key, value) {
14
+ if (key in obj) {
15
+ Object.defineProperty(obj, key, {
16
+ value: value,
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true
20
+ });
21
+ } else {
22
+ obj[key] = value;
23
+ }
24
+ return obj;
25
+ }
26
+ function _ts_decorate(decorators, target, key, desc) {
27
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
+ 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;
30
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
31
+ }
32
+ function _ts_metadata(k, v) {
33
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
+ }
35
+ let Language = class Language extends _entities.Identity {
36
+ constructor(...args){
37
+ 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), _define_property(this, "isReadonly", void 0), _define_property(this, "translations", void 0);
38
+ }
39
+ };
40
+ _ts_decorate([
41
+ (0, _typeorm.Column)({
42
+ type: 'varchar',
43
+ length: 10,
44
+ nullable: false
45
+ }),
46
+ _ts_metadata("design:type", String)
47
+ ], Language.prototype, "code", void 0);
48
+ _ts_decorate([
49
+ (0, _typeorm.Column)({
50
+ type: 'varchar',
51
+ length: 100,
52
+ nullable: false
53
+ }),
54
+ _ts_metadata("design:type", String)
55
+ ], Language.prototype, "name", void 0);
56
+ _ts_decorate([
57
+ (0, _typeorm.Column)({
58
+ type: 'varchar',
59
+ length: 100,
60
+ nullable: true,
61
+ name: 'native_name'
62
+ }),
63
+ _ts_metadata("design:type", Object)
64
+ ], Language.prototype, "nativeName", void 0);
65
+ _ts_decorate([
66
+ (0, _typeorm.Column)({
67
+ type: 'varchar',
68
+ length: 3,
69
+ nullable: true
70
+ }),
71
+ _ts_metadata("design:type", Object)
72
+ ], Language.prototype, "direction", void 0);
73
+ _ts_decorate([
74
+ (0, _typeorm.Column)({
75
+ type: 'boolean',
76
+ default: true,
77
+ name: 'is_active'
78
+ }),
79
+ _ts_metadata("design:type", Boolean)
80
+ ], Language.prototype, "isActive", void 0);
81
+ _ts_decorate([
82
+ (0, _typeorm.Column)({
83
+ type: 'boolean',
84
+ default: false,
85
+ name: 'is_default'
86
+ }),
87
+ _ts_metadata("design:type", Boolean)
88
+ ], Language.prototype, "isDefault", void 0);
89
+ _ts_decorate([
90
+ (0, _typeorm.Column)({
91
+ type: 'int',
92
+ nullable: true
93
+ }),
94
+ _ts_metadata("design:type", Object)
95
+ ], Language.prototype, "serial", void 0);
96
+ _ts_decorate([
97
+ (0, _typeorm.Column)({
98
+ type: 'boolean',
99
+ default: false,
100
+ name: 'is_readonly'
101
+ }),
102
+ _ts_metadata("design:type", Boolean)
103
+ ], Language.prototype, "isReadonly", void 0);
104
+ _ts_decorate([
105
+ (0, _typeorm.OneToMany)('Translation', 'language'),
106
+ _ts_metadata("design:type", Array)
107
+ ], Language.prototype, "translations", void 0);
108
+ Language = _ts_decorate([
109
+ (0, _typeorm.Entity)({
110
+ name: 'language'
111
+ }),
112
+ (0, _typeorm.Index)([
113
+ 'code'
114
+ ], {
115
+ unique: true
116
+ }),
117
+ (0, _typeorm.Index)([
118
+ 'isActive'
119
+ ]),
120
+ (0, _typeorm.Index)([
121
+ 'isDefault'
122
+ ]),
123
+ (0, _typeorm.Index)([
124
+ 'isReadonly'
125
+ ])
126
+ ], Language);