jp.db.schemas 2.2.10 → 2.2.12

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 (113) hide show
  1. package/dist/index.d.ts +8 -8
  2. package/dist/index.js +9 -9
  3. package/dist/repositories/index.d.ts +3 -3
  4. package/dist/repositories/index.js +5 -5
  5. package/dist/repositories/many-tables-tournament-rooms.repository.d.ts +21 -0
  6. package/dist/repositories/many-tables-tournament-rooms.repository.d.ts.map +1 -0
  7. package/dist/repositories/{tournament-many-tables-rooms.repository.js → many-tables-tournament-rooms.repository.js} +8 -8
  8. package/dist/repositories/many-tables-tournament-rooms.repository.js.map +1 -0
  9. package/dist/repositories/one-table-tournament-rooms.repository.d.ts +18 -0
  10. package/dist/repositories/{tournament-one-table-rooms.repository.d.ts.map → one-table-tournament-rooms.repository.d.ts.map} +1 -1
  11. package/dist/repositories/{tournament-one-table-rooms.repository.js → one-table-tournament-rooms.repository.js} +8 -8
  12. package/dist/repositories/{tournament-one-table-rooms.repository.js.map → one-table-tournament-rooms.repository.js.map} +1 -1
  13. package/dist/schemas/{tournament_many_tables_rooms.schema.d.ts → many_tables_tournament_rooms.schema.d.ts} +52 -52
  14. package/dist/schemas/{tournament_many_tables_rooms.schema.d.ts.map → many_tables_tournament_rooms.schema.d.ts.map} +1 -1
  15. package/dist/schemas/{tournament_many_tables_rooms.schema.js → many_tables_tournament_rooms.schema.js} +29 -29
  16. package/dist/schemas/{tournament_many_tables_rooms.schema.js.map → many_tables_tournament_rooms.schema.js.map} +1 -1
  17. package/dist/schemas/{tournament_one_table_rooms.schema.d.ts → one_table_tournament_rooms.schema.d.ts} +50 -50
  18. package/dist/schemas/{tournament_one_table_rooms.schema.d.ts.map → one_table_tournament_rooms.schema.d.ts.map} +1 -1
  19. package/dist/schemas/{tournament_one_table_rooms.schema.js → one_table_tournament_rooms.schema.js} +28 -28
  20. package/dist/schemas/{tournament_one_table_rooms.schema.js.map → one_table_tournament_rooms.schema.js.map} +1 -1
  21. package/dist/schemas/premium.schema.js.map +1 -1
  22. package/dist/schemas/product.schema.js.map +1 -1
  23. package/dist/schemas/rule.schema.js.map +1 -1
  24. package/dist/schemas/setting.schema.js.map +1 -1
  25. package/dist/schemas/settings_option.schema.js.map +1 -1
  26. package/dist/schemas/welcome.schema.js.map +1 -1
  27. package/package.json +37 -37
  28. package/readme.md +3 -3
  29. package/src/index.ts +294 -294
  30. package/src/models/account-type.enum.ts +8 -8
  31. package/src/models/activity-log-user-login.interface.ts +10 -10
  32. package/src/models/activity-log.enum.ts +8 -8
  33. package/src/models/currency.enum.ts +6 -6
  34. package/src/models/rating-add-bulk-item.interface.ts +7 -7
  35. package/src/models/rating-monthly-result.interface.ts +11 -11
  36. package/src/models/tournament-participant.interface.ts +5 -5
  37. package/src/models/tournament-status.enum.ts +6 -6
  38. package/src/models/tournament-template.enum.ts +3 -3
  39. package/src/models/tournament-winner.interface.ts +7 -7
  40. package/src/models/users-balance-reason.enum.ts +8 -8
  41. package/src/repositories/achievement.repository.ts +17 -17
  42. package/src/repositories/activity-log.repository.ts +209 -209
  43. package/src/repositories/admin.repository.ts +20 -20
  44. package/src/repositories/article.repository.ts +24 -24
  45. package/src/repositories/banners.repository.ts +60 -60
  46. package/src/repositories/complains.repository.ts +31 -31
  47. package/src/repositories/daily-bonus.repository.ts +32 -32
  48. package/src/repositories/friend.repository.ts +24 -24
  49. package/src/repositories/game-result.repository.ts +19 -19
  50. package/src/repositories/game-statistic.repository.ts +25 -25
  51. package/src/repositories/index.ts +61 -61
  52. package/src/repositories/{tournament-many-tables-rooms.repository.ts → many-tables-tournament-rooms.repository.ts} +167 -171
  53. package/src/repositories/menu.repository.ts +19 -19
  54. package/src/repositories/notification.repository.ts +59 -59
  55. package/src/repositories/{tournament-one-table-rooms.repository.ts → one-table-tournament-rooms.repository.ts} +142 -142
  56. package/src/repositories/premium.repository.ts +16 -16
  57. package/src/repositories/products.repository.ts +30 -30
  58. package/src/repositories/purchase.repository.ts +111 -111
  59. package/src/repositories/rating.repository.ts +90 -90
  60. package/src/repositories/rooms.repository.ts +14 -14
  61. package/src/repositories/rule.repository.ts +14 -14
  62. package/src/repositories/scheduled-tournaments.repository.ts +35 -35
  63. package/src/repositories/servers.repository.ts +16 -16
  64. package/src/repositories/setting.repository.ts +24 -24
  65. package/src/repositories/settings-options.repository.ts +17 -17
  66. package/src/repositories/simple-rooms.repository.ts +16 -16
  67. package/src/repositories/users-achievements.repository.ts +46 -46
  68. package/src/repositories/users-balances.repository.ts +65 -65
  69. package/src/repositories/users.repository.ts +153 -153
  70. package/src/repositories/welcome.repository.ts +16 -16
  71. package/src/schemas/achievement.schema.ts +40 -40
  72. package/src/schemas/activity_log.schema.ts +37 -37
  73. package/src/schemas/admin.schema.ts +22 -22
  74. package/src/schemas/article.schema.ts +37 -37
  75. package/src/schemas/banner.schema.ts +40 -40
  76. package/src/schemas/channel_message.schema.ts +32 -32
  77. package/src/schemas/complain.schema.ts +46 -46
  78. package/src/schemas/daily_bonus.schema.ts +49 -49
  79. package/src/schemas/feature.schema.ts +28 -28
  80. package/src/schemas/friend.schema.ts +49 -49
  81. package/src/schemas/game_result.schema.ts +68 -68
  82. package/src/schemas/game_statistic.schema.ts +40 -40
  83. package/src/schemas/{tournament_many_tables_rooms.schema.ts → many_tables_tournament_rooms.schema.ts} +87 -87
  84. package/src/schemas/menu.schema.ts +37 -37
  85. package/src/schemas/notification.schema.ts +61 -61
  86. package/src/schemas/{tournament_one_table_rooms.schema.ts → one_table_tournament_rooms.schema.ts} +84 -84
  87. package/src/schemas/premium.schema.ts +37 -37
  88. package/src/schemas/product.schema.ts +111 -111
  89. package/src/schemas/purchase.schema.ts +61 -61
  90. package/src/schemas/purchase_channel.schema.ts +32 -32
  91. package/src/schemas/rating.schema.ts +37 -37
  92. package/src/schemas/rooms.schema.ts +63 -63
  93. package/src/schemas/rule.schema.ts +37 -37
  94. package/src/schemas/scheduled_tournament.schema.ts +94 -94
  95. package/src/schemas/server.schema.ts +22 -22
  96. package/src/schemas/setting.schema.ts +49 -49
  97. package/src/schemas/settings_option.schema.ts +41 -41
  98. package/src/schemas/simple_rooms.schema.ts +49 -49
  99. package/src/schemas/user.fb.schema.ts +33 -33
  100. package/src/schemas/user.google.schema.ts +24 -24
  101. package/src/schemas/user.ok.schema.ts +53 -53
  102. package/src/schemas/user.schema.ts +160 -160
  103. package/src/schemas/user.tg.schema.ts +30 -30
  104. package/src/schemas/user.vk.schema.ts +70 -70
  105. package/src/schemas/user.ya.schema.ts +24 -24
  106. package/src/schemas/users_achievement.schema.ts +41 -41
  107. package/src/schemas/users_balance.schema.ts +34 -34
  108. package/src/schemas/welcome.schema.ts +37 -37
  109. package/src/utils.ts +3 -3
  110. package/dist/repositories/tournament-many-tables-rooms.repository.d.ts +0 -21
  111. package/dist/repositories/tournament-many-tables-rooms.repository.d.ts.map +0 -1
  112. package/dist/repositories/tournament-many-tables-rooms.repository.js.map +0 -1
  113. package/dist/repositories/tournament-one-table-rooms.repository.d.ts +0 -18
@@ -1,37 +1,37 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type RatingDocument = HydratedDocument<Rating>;
5
-
6
- @Schema()
7
- export class Rating {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly achievementId: string;
14
-
15
- @Prop()
16
- date: Date;
17
-
18
- @Prop()
19
- userId: string;
20
-
21
- @Prop()
22
- userName: string;
23
-
24
- @Prop()
25
- userAvatarUrl: string;
26
-
27
- @Prop()
28
- profit: number;
29
-
30
- @Prop()
31
- game: string;
32
-
33
- @Prop()
34
- channels: string;
35
- }
36
-
37
- export const RatingSchema = SchemaFactory.createForClass(Rating);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type RatingDocument = HydratedDocument<Rating>;
5
+
6
+ @Schema()
7
+ export class Rating {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly achievementId: string;
14
+
15
+ @Prop()
16
+ date: Date;
17
+
18
+ @Prop()
19
+ userId: string;
20
+
21
+ @Prop()
22
+ userName: string;
23
+
24
+ @Prop()
25
+ userAvatarUrl: string;
26
+
27
+ @Prop()
28
+ profit: number;
29
+
30
+ @Prop()
31
+ game: string;
32
+
33
+ @Prop()
34
+ channels: string;
35
+ }
36
+
37
+ export const RatingSchema = SchemaFactory.createForClass(Rating);
@@ -1,63 +1,63 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type RoomDocument = HydratedDocument<Room>;
5
-
6
- export interface Locale {
7
- ru: string;
8
- en: string;
9
- }
10
-
11
- @Schema()
12
- export class Room {
13
- @Virtual({
14
- get: function (this: Document) {
15
- return this._id.toString();
16
- },
17
- })
18
- readonly roomId: string;
19
-
20
- @Prop()
21
- type: string;
22
-
23
- @Prop()
24
- name: string;
25
-
26
- @Prop()
27
- nameEn: string;
28
-
29
- @Prop({ type: Object })
30
- title: Record<string, string>;
31
-
32
- @Prop({ type: Object })
33
- subtitle: Record<string, string>;
34
-
35
- @Prop()
36
- roomType: string;
37
-
38
- @Prop()
39
- maxPlayers: number;
40
-
41
- @Prop()
42
- bet: number;
43
-
44
- @Prop()
45
- halfBet: number;
46
-
47
- @Prop()
48
- limit: number;
49
-
50
- @Prop()
51
- balanceProductId: string;
52
-
53
- @Prop()
54
- gameType: string;
55
-
56
- @Prop()
57
- rulesType: string;
58
-
59
- @Prop()
60
- deckType?: string;
61
- }
62
-
63
- export const RoomSchema = SchemaFactory.createForClass(Room);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type RoomDocument = HydratedDocument<Room>;
5
+
6
+ export interface Locale {
7
+ ru: string;
8
+ en: string;
9
+ }
10
+
11
+ @Schema()
12
+ export class Room {
13
+ @Virtual({
14
+ get: function (this: Document) {
15
+ return this._id.toString();
16
+ },
17
+ })
18
+ readonly roomId: string;
19
+
20
+ @Prop()
21
+ type: string;
22
+
23
+ @Prop()
24
+ name: string;
25
+
26
+ @Prop()
27
+ nameEn: string;
28
+
29
+ @Prop({ type: Object })
30
+ title: Record<string, string>;
31
+
32
+ @Prop({ type: Object })
33
+ subtitle: Record<string, string>;
34
+
35
+ @Prop()
36
+ roomType: string;
37
+
38
+ @Prop()
39
+ maxPlayers: number;
40
+
41
+ @Prop()
42
+ bet: number;
43
+
44
+ @Prop()
45
+ halfBet: number;
46
+
47
+ @Prop()
48
+ limit: number;
49
+
50
+ @Prop()
51
+ balanceProductId: string;
52
+
53
+ @Prop()
54
+ gameType: string;
55
+
56
+ @Prop()
57
+ rulesType: string;
58
+
59
+ @Prop()
60
+ deckType?: string;
61
+ }
62
+
63
+ export const RoomSchema = SchemaFactory.createForClass(Room);
@@ -1,37 +1,37 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type RuleDocument = HydratedDocument<Rule>;
5
-
6
- @Schema({ collection: 'rules' })
7
- export class Rule {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly ruleId: string;
14
-
15
- @Prop()
16
- id: string;
17
-
18
- @Prop({type: Object})
19
- description: Record<string, string>;
20
-
21
- @Prop({type: Object})
22
- text: Record<string, string>;
23
-
24
- @Prop()
25
- icon: string;
26
-
27
- @Prop()
28
- url: string;
29
-
30
- @Prop()
31
- game: string;
32
-
33
- @Prop()
34
- channel: string;
35
- }
36
-
37
- export const RuleSchema = SchemaFactory.createForClass(Rule);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type RuleDocument = HydratedDocument<Rule>;
5
+
6
+ @Schema({ collection: 'rules' })
7
+ export class Rule {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly ruleId: string;
14
+
15
+ @Prop()
16
+ id: string;
17
+
18
+ @Prop({ type: Object })
19
+ description: Record<string, string>;
20
+
21
+ @Prop({ type: Object })
22
+ text: Record<string, string>;
23
+
24
+ @Prop()
25
+ icon: string;
26
+
27
+ @Prop()
28
+ url: string;
29
+
30
+ @Prop()
31
+ game: string;
32
+
33
+ @Prop()
34
+ channel: string;
35
+ }
36
+
37
+ export const RuleSchema = SchemaFactory.createForClass(Rule);
@@ -1,94 +1,94 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type ScheduledTournamentDocument = HydratedDocument<ScheduledTournament>;
5
-
6
- export interface IScheduledTournamentWinner {
7
- userId: string;
8
- userName: string;
9
- userAvatarUrl: string;
10
- prize: number;
11
- rank: number;
12
- }
13
-
14
- export interface IScheduledTournamentParticipant {
15
- userId: string;
16
- userName: string;
17
- userAvatarUrl: string;
18
- }
19
-
20
- @Schema({ collection: 'scheduled_tournaments' })
21
- export class ScheduledTournament {
22
- @Virtual({
23
- get: function (this: Document) {
24
- return this._id.toString();
25
- },
26
- })
27
- readonly tournamentId: string;
28
-
29
- @Prop()
30
- type: string;
31
-
32
- @Prop()
33
- name: string;
34
-
35
- @Prop()
36
- nameEn: string;
37
-
38
- @Prop()
39
- roomType: string;
40
-
41
- @Prop()
42
- tableSize: number;
43
-
44
- @Prop()
45
- bet: number;
46
-
47
- @Prop()
48
- halfBet: number;
49
-
50
- @Prop()
51
- ticketPrice: number;
52
-
53
- @Prop()
54
- ticketProductId: string;
55
-
56
- @Prop()
57
- date: Date;
58
-
59
- @Prop()
60
- prizeRu: string;
61
-
62
- @Prop()
63
- prizeEn: string;
64
-
65
- @Prop()
66
- participants: Array<IScheduledTournamentParticipant>;
67
-
68
- @Prop()
69
- winners: Array<IScheduledTournamentWinner>;
70
-
71
- @Prop()
72
- maxParticipants: number;
73
-
74
- @Prop()
75
- status: string;
76
-
77
- @Prop()
78
- category: string;
79
-
80
- @Prop()
81
- invitedPlayers: Array<string>;
82
-
83
- @Prop()
84
- ownerId?: string;
85
-
86
- @Prop()
87
- schedule: boolean;
88
-
89
- @Prop()
90
- game: string;
91
- }
92
-
93
- export const ScheduledTournamentSchema =
94
- SchemaFactory.createForClass(ScheduledTournament);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type ScheduledTournamentDocument = HydratedDocument<ScheduledTournament>;
5
+
6
+ export interface IScheduledTournamentWinner {
7
+ userId: string;
8
+ userName: string;
9
+ userAvatarUrl: string;
10
+ prize: number;
11
+ rank: number;
12
+ }
13
+
14
+ export interface IScheduledTournamentParticipant {
15
+ userId: string;
16
+ userName: string;
17
+ userAvatarUrl: string;
18
+ }
19
+
20
+ @Schema({ collection: 'scheduled_tournaments' })
21
+ export class ScheduledTournament {
22
+ @Virtual({
23
+ get: function (this: Document) {
24
+ return this._id.toString();
25
+ },
26
+ })
27
+ readonly tournamentId: string;
28
+
29
+ @Prop()
30
+ type: string;
31
+
32
+ @Prop()
33
+ name: string;
34
+
35
+ @Prop()
36
+ nameEn: string;
37
+
38
+ @Prop()
39
+ roomType: string;
40
+
41
+ @Prop()
42
+ tableSize: number;
43
+
44
+ @Prop()
45
+ bet: number;
46
+
47
+ @Prop()
48
+ halfBet: number;
49
+
50
+ @Prop()
51
+ ticketPrice: number;
52
+
53
+ @Prop()
54
+ ticketProductId: string;
55
+
56
+ @Prop()
57
+ date: Date;
58
+
59
+ @Prop()
60
+ prizeRu: string;
61
+
62
+ @Prop()
63
+ prizeEn: string;
64
+
65
+ @Prop()
66
+ participants: Array<IScheduledTournamentParticipant>;
67
+
68
+ @Prop()
69
+ winners: Array<IScheduledTournamentWinner>;
70
+
71
+ @Prop()
72
+ maxParticipants: number;
73
+
74
+ @Prop()
75
+ status: string;
76
+
77
+ @Prop()
78
+ category: string;
79
+
80
+ @Prop()
81
+ invitedPlayers: Array<string>;
82
+
83
+ @Prop()
84
+ ownerId?: string;
85
+
86
+ @Prop()
87
+ schedule: boolean;
88
+
89
+ @Prop()
90
+ game: string;
91
+ }
92
+
93
+ export const ScheduledTournamentSchema =
94
+ SchemaFactory.createForClass(ScheduledTournament);
@@ -1,22 +1,22 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type ServerDocument = HydratedDocument<Server>;
5
-
6
- @Schema()
7
- export class Server {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly serverId: string;
14
-
15
- @Prop()
16
- http: string;
17
-
18
- @Prop()
19
- ws: string;
20
- }
21
-
22
- export const ServerSchema = SchemaFactory.createForClass(Server);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type ServerDocument = HydratedDocument<Server>;
5
+
6
+ @Schema()
7
+ export class Server {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly serverId: string;
14
+
15
+ @Prop()
16
+ http: string;
17
+
18
+ @Prop()
19
+ ws: string;
20
+ }
21
+
22
+ export const ServerSchema = SchemaFactory.createForClass(Server);
@@ -1,49 +1,49 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type SettingDocument = HydratedDocument<Setting>;
5
-
6
- @Schema({ collection: 'settings' })
7
- export class Setting {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly settingId: string;
14
-
15
- @Prop()
16
- position: number;
17
-
18
- @Prop()
19
- code: string;
20
-
21
- @Prop()
22
- type: string;
23
-
24
- @Prop()
25
- modalType?: string;
26
-
27
- @Prop({type: Object})
28
- title: Record<string, string>;
29
-
30
- @Prop({type: Object})
31
- subtitle: Record<string, string>;
32
-
33
- @Prop()
34
- icon: string;
35
-
36
- @Prop()
37
- hasChevron: boolean;
38
-
39
- @Prop()
40
- url: string;
41
-
42
- @Prop()
43
- game: string;
44
-
45
- @Prop()
46
- channel: string;
47
- }
48
-
49
- export const SettingSchema = SchemaFactory.createForClass(Setting);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type SettingDocument = HydratedDocument<Setting>;
5
+
6
+ @Schema({ collection: 'settings' })
7
+ export class Setting {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly settingId: string;
14
+
15
+ @Prop()
16
+ position: number;
17
+
18
+ @Prop()
19
+ code: string;
20
+
21
+ @Prop()
22
+ type: string;
23
+
24
+ @Prop()
25
+ modalType?: string;
26
+
27
+ @Prop({ type: Object })
28
+ title: Record<string, string>;
29
+
30
+ @Prop({ type: Object })
31
+ subtitle: Record<string, string>;
32
+
33
+ @Prop()
34
+ icon: string;
35
+
36
+ @Prop()
37
+ hasChevron: boolean;
38
+
39
+ @Prop()
40
+ url: string;
41
+
42
+ @Prop()
43
+ game: string;
44
+
45
+ @Prop()
46
+ channel: string;
47
+ }
48
+
49
+ export const SettingSchema = SchemaFactory.createForClass(Setting);
@@ -1,41 +1,41 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type SettingsOptionDocument = HydratedDocument<SettingsOption>;
5
-
6
- @Schema({ collection: 'settings_options' })
7
- export class SettingsOption {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly settingOptionId: string;
14
-
15
- @Prop()
16
- type: string;
17
-
18
- @Prop()
19
- position: number;
20
-
21
- @Prop({type: Object})
22
- title: Record<string, string>;
23
-
24
- @Prop()
25
- payd?: boolean;
26
-
27
- @Prop()
28
- code: string;
29
-
30
- @Prop()
31
- productId?: string;
32
-
33
- @Prop()
34
- premium?: boolean;
35
-
36
- @Prop()
37
- platformAvatar?: boolean;
38
- }
39
-
40
- export const SettingsOptionSchema =
41
- SchemaFactory.createForClass(SettingsOption);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type SettingsOptionDocument = HydratedDocument<SettingsOption>;
5
+
6
+ @Schema({ collection: 'settings_options' })
7
+ export class SettingsOption {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly settingOptionId: string;
14
+
15
+ @Prop()
16
+ type: string;
17
+
18
+ @Prop()
19
+ position: number;
20
+
21
+ @Prop({ type: Object })
22
+ title: Record<string, string>;
23
+
24
+ @Prop()
25
+ payd?: boolean;
26
+
27
+ @Prop()
28
+ code: string;
29
+
30
+ @Prop()
31
+ productId?: string;
32
+
33
+ @Prop()
34
+ premium?: boolean;
35
+
36
+ @Prop()
37
+ platformAvatar?: boolean;
38
+ }
39
+
40
+ export const SettingsOptionSchema =
41
+ SchemaFactory.createForClass(SettingsOption);