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,84 +1,84 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- import { ITournamentWinner } from '../models/tournament-winner.interface';
5
- import { ITournamentParticipant } from '../models/tournament-participant.interface';
6
-
7
- export type TournamentOneTableRoomDocument =
8
- HydratedDocument<TournamentOneTableRoom>;
9
-
10
- @Schema({ collection: 'tournament_one_table_rooms' })
11
- export class TournamentOneTableRoom {
12
- @Virtual({
13
- get: function (this: Document) {
14
- return this._id.toString();
15
- },
16
- })
17
- readonly tournamentId: string;
18
-
19
- @Prop({ type: Object })
20
- title: Record<string, string>;
21
-
22
- @Prop({ type: Object })
23
- subtitle: Record<string, string>;
24
-
25
- @Prop({ type: Object })
26
- description: Record<string, string>;
27
-
28
- @Prop()
29
- tableSize: number;
30
-
31
- @Prop()
32
- bet: number;
33
-
34
- @Prop()
35
- ticketPrice: number;
36
-
37
- @Prop()
38
- roomType: string;
39
-
40
- @Prop()
41
- gameType: string;
42
-
43
- @Prop()
44
- rulesType: string;
45
-
46
- @Prop()
47
- deckType?: string;
48
-
49
- // tournament props
50
-
51
- @Prop()
52
- isTemplate: boolean;
53
-
54
- @Prop()
55
- templateId?: string;
56
-
57
- @Prop()
58
- type: string;
59
-
60
- @Prop()
61
- maxParticipants: number;
62
-
63
- @Prop()
64
- participants: Array<ITournamentParticipant>;
65
-
66
- @Prop()
67
- status: string;
68
-
69
- @Prop()
70
- winners: Array<ITournamentWinner>;
71
-
72
- @Prop()
73
- createDate: Date;
74
-
75
- @Prop()
76
- startDate: Date;
77
-
78
- @Prop()
79
- finishDate: Date;
80
- }
81
-
82
- export const TournamentOneTableRoomSchema = SchemaFactory.createForClass(
83
- TournamentOneTableRoom,
84
- );
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ import { ITournamentWinner } from '../models/tournament-winner.interface';
5
+ import { ITournamentParticipant } from '../models/tournament-participant.interface';
6
+
7
+ export type OneTableTournamentRoomDocument =
8
+ HydratedDocument<OneTableTournamentRoom>;
9
+
10
+ @Schema({ collection: 'tournament_one_table_rooms' })
11
+ export class OneTableTournamentRoom {
12
+ @Virtual({
13
+ get: function (this: Document) {
14
+ return this._id.toString();
15
+ },
16
+ })
17
+ readonly tournamentId: string;
18
+
19
+ @Prop({ type: Object })
20
+ title: Record<string, string>;
21
+
22
+ @Prop({ type: Object })
23
+ subtitle: Record<string, string>;
24
+
25
+ @Prop({ type: Object })
26
+ description: Record<string, string>;
27
+
28
+ @Prop()
29
+ tableSize: number;
30
+
31
+ @Prop()
32
+ bet: number;
33
+
34
+ @Prop()
35
+ ticketPrice: number;
36
+
37
+ @Prop()
38
+ roomType: string;
39
+
40
+ @Prop()
41
+ gameType: string;
42
+
43
+ @Prop()
44
+ rulesType: string;
45
+
46
+ @Prop()
47
+ deckType?: string;
48
+
49
+ // tournament props
50
+
51
+ @Prop()
52
+ isTemplate: boolean;
53
+
54
+ @Prop()
55
+ templateId?: string;
56
+
57
+ @Prop()
58
+ type: string;
59
+
60
+ @Prop()
61
+ maxParticipants: number;
62
+
63
+ @Prop()
64
+ participants: Array<ITournamentParticipant>;
65
+
66
+ @Prop()
67
+ status: string;
68
+
69
+ @Prop()
70
+ winners: Array<ITournamentWinner>;
71
+
72
+ @Prop()
73
+ createDate: Date;
74
+
75
+ @Prop()
76
+ startDate: Date;
77
+
78
+ @Prop()
79
+ finishDate: Date;
80
+ }
81
+
82
+ export const OneTableTournamentRoomSchema = SchemaFactory.createForClass(
83
+ OneTableTournamentRoom,
84
+ );
@@ -1,37 +1,37 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type PremiumDocument = HydratedDocument<Premium>;
5
-
6
- @Schema({ collection: 'premiums' })
7
- export class Premium {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly premiumId: 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 PremiumSchema = SchemaFactory.createForClass(Premium);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type PremiumDocument = HydratedDocument<Premium>;
5
+
6
+ @Schema({ collection: 'premiums' })
7
+ export class Premium {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly premiumId: 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 PremiumSchema = SchemaFactory.createForClass(Premium);
@@ -1,111 +1,111 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type ProductDocument = HydratedDocument<Product>;
5
-
6
- @Schema()
7
- export class Product {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly productId: string;
14
-
15
- @Prop({type: Object})
16
- title: Record<string, string>;
17
-
18
- @Prop({type: Object})
19
- subtitle: Record<string, string>;
20
-
21
- @Prop({type: Object})
22
- description: Record<string, string>;
23
-
24
- @Prop({type: Object})
25
- descriptionAcquired: Record<string, string>;
26
-
27
- @Prop({type: Object})
28
- buttonAcquired: Record<string, string>;
29
-
30
- @Prop({type: Object})
31
- button: Record<string, string>;
32
-
33
- @Prop()
34
- link: string;
35
-
36
- @Prop()
37
- linkVK: string;
38
-
39
- @Prop()
40
- channels: string;
41
-
42
- @Prop()
43
- code: string;
44
-
45
- @Prop()
46
- position: number;
47
-
48
- @Prop()
49
- active: boolean;
50
-
51
- @Prop()
52
- image: string;
53
-
54
- @Prop()
55
- icon: string;
56
-
57
- @Prop()
58
- external: boolean;
59
-
60
- @Prop()
61
- isConsumable: boolean;
62
-
63
- // поля для товара
64
-
65
- @Prop()
66
- parentId?: string | null;
67
-
68
- @Prop()
69
- price?: number;
70
-
71
- @Prop()
72
- priceVK?: number;
73
-
74
- @Prop()
75
- priceOK?: number;
76
-
77
- @Prop()
78
- priceYA?: number;
79
-
80
- @Prop()
81
- priceGooglePlay?: number;
82
-
83
- @Prop()
84
- priceFB?: number;
85
-
86
- @Prop()
87
- priceTG?: number;
88
-
89
- @Prop()
90
- priceRuStore?: number;
91
-
92
- @Prop()
93
- value?: number;
94
-
95
- @Prop()
96
- period?: string;
97
-
98
- @Prop()
99
- type?: string;
100
-
101
- @Prop()
102
- game?: string;
103
-
104
- @Prop({ default: false })
105
- isProduct: boolean;
106
-
107
- @Prop({ default: false })
108
- enableOnlyForPremium: boolean;
109
- }
110
-
111
- export const ProductSchema = SchemaFactory.createForClass(Product);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type ProductDocument = HydratedDocument<Product>;
5
+
6
+ @Schema()
7
+ export class Product {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly productId: string;
14
+
15
+ @Prop({ type: Object })
16
+ title: Record<string, string>;
17
+
18
+ @Prop({ type: Object })
19
+ subtitle: Record<string, string>;
20
+
21
+ @Prop({ type: Object })
22
+ description: Record<string, string>;
23
+
24
+ @Prop({ type: Object })
25
+ descriptionAcquired: Record<string, string>;
26
+
27
+ @Prop({ type: Object })
28
+ buttonAcquired: Record<string, string>;
29
+
30
+ @Prop({ type: Object })
31
+ button: Record<string, string>;
32
+
33
+ @Prop()
34
+ link: string;
35
+
36
+ @Prop()
37
+ linkVK: string;
38
+
39
+ @Prop()
40
+ channels: string;
41
+
42
+ @Prop()
43
+ code: string;
44
+
45
+ @Prop()
46
+ position: number;
47
+
48
+ @Prop()
49
+ active: boolean;
50
+
51
+ @Prop()
52
+ image: string;
53
+
54
+ @Prop()
55
+ icon: string;
56
+
57
+ @Prop()
58
+ external: boolean;
59
+
60
+ @Prop()
61
+ isConsumable: boolean;
62
+
63
+ // поля для товара
64
+
65
+ @Prop()
66
+ parentId?: string | null;
67
+
68
+ @Prop()
69
+ price?: number;
70
+
71
+ @Prop()
72
+ priceVK?: number;
73
+
74
+ @Prop()
75
+ priceOK?: number;
76
+
77
+ @Prop()
78
+ priceYA?: number;
79
+
80
+ @Prop()
81
+ priceGooglePlay?: number;
82
+
83
+ @Prop()
84
+ priceFB?: number;
85
+
86
+ @Prop()
87
+ priceTG?: number;
88
+
89
+ @Prop()
90
+ priceRuStore?: number;
91
+
92
+ @Prop()
93
+ value?: number;
94
+
95
+ @Prop()
96
+ period?: string;
97
+
98
+ @Prop()
99
+ type?: string;
100
+
101
+ @Prop()
102
+ game?: string;
103
+
104
+ @Prop({ default: false })
105
+ isProduct: boolean;
106
+
107
+ @Prop({ default: false })
108
+ enableOnlyForPremium: boolean;
109
+ }
110
+
111
+ export const ProductSchema = SchemaFactory.createForClass(Product);
@@ -1,61 +1,61 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type PurchaseDocument = HydratedDocument<Purchase>;
5
-
6
- @Schema()
7
- export class Purchase {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly purchaseId: string;
14
-
15
- @Prop({ default: new Date() })
16
- date: Date;
17
-
18
- @Prop()
19
- userId: string;
20
-
21
- @Prop()
22
- userName: string;
23
-
24
- @Prop()
25
- productId: string;
26
-
27
- @Prop()
28
- productCode: string;
29
-
30
- @Prop()
31
- productName: string;
32
-
33
- @Prop()
34
- price: number;
35
-
36
- @Prop()
37
- currency: string;
38
-
39
- @Prop()
40
- vkOrderId?: number;
41
-
42
- @Prop()
43
- yaOrderId?: string;
44
-
45
- @Prop()
46
- ruStoreOrderId?: string;
47
-
48
- @Prop()
49
- token: string;
50
-
51
- @Prop()
52
- game: string;
53
-
54
- @Prop()
55
- removed: boolean;
56
-
57
- @Prop()
58
- tournamentId?: string;
59
- }
60
-
61
- export const PurchaseSchema = SchemaFactory.createForClass(Purchase);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type PurchaseDocument = HydratedDocument<Purchase>;
5
+
6
+ @Schema()
7
+ export class Purchase {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly purchaseId: string;
14
+
15
+ @Prop({ default: new Date() })
16
+ date: Date;
17
+
18
+ @Prop()
19
+ userId: string;
20
+
21
+ @Prop()
22
+ userName: string;
23
+
24
+ @Prop()
25
+ productId: string;
26
+
27
+ @Prop()
28
+ productCode: string;
29
+
30
+ @Prop()
31
+ productName: string;
32
+
33
+ @Prop()
34
+ price: number;
35
+
36
+ @Prop()
37
+ currency: string;
38
+
39
+ @Prop()
40
+ vkOrderId?: number;
41
+
42
+ @Prop()
43
+ yaOrderId?: string;
44
+
45
+ @Prop()
46
+ ruStoreOrderId?: string;
47
+
48
+ @Prop()
49
+ token: string;
50
+
51
+ @Prop()
52
+ game: string;
53
+
54
+ @Prop()
55
+ removed: boolean;
56
+
57
+ @Prop()
58
+ tournamentId?: string;
59
+ }
60
+
61
+ export const PurchaseSchema = SchemaFactory.createForClass(Purchase);
@@ -1,32 +1,32 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type PurchaseChannelDocument = HydratedDocument<PurchaseChannel>;
5
-
6
- @Schema()
7
- export class PurchaseChannel {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly achievementId: string;
14
-
15
- @Prop()
16
- userId: string;
17
-
18
- @Prop()
19
- purchaseId: string;
20
-
21
- @Prop()
22
- productId: string;
23
-
24
- @Prop()
25
- channel: string;
26
-
27
- @Prop()
28
- game: string;
29
- }
30
-
31
- export const PurchaseChannelSchema =
32
- SchemaFactory.createForClass(PurchaseChannel);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type PurchaseChannelDocument = HydratedDocument<PurchaseChannel>;
5
+
6
+ @Schema()
7
+ export class PurchaseChannel {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly achievementId: string;
14
+
15
+ @Prop()
16
+ userId: string;
17
+
18
+ @Prop()
19
+ purchaseId: string;
20
+
21
+ @Prop()
22
+ productId: string;
23
+
24
+ @Prop()
25
+ channel: string;
26
+
27
+ @Prop()
28
+ game: string;
29
+ }
30
+
31
+ export const PurchaseChannelSchema =
32
+ SchemaFactory.createForClass(PurchaseChannel);