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