jp.db.schemas 2.2.14 → 2.2.16

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 (112) hide show
  1. package/dist/repositories/menu.repository.d.ts.map +1 -1
  2. package/dist/repositories/menu.repository.js +1 -0
  3. package/dist/repositories/menu.repository.js.map +1 -1
  4. package/dist/repositories/products.repository.d.ts.map +1 -1
  5. package/dist/repositories/products.repository.js +1 -0
  6. package/dist/repositories/products.repository.js.map +1 -1
  7. package/dist/repositories/rating.repository.d.ts +1 -1
  8. package/dist/repositories/rating.repository.d.ts.map +1 -1
  9. package/dist/repositories/rating.repository.js +0 -2
  10. package/dist/repositories/rating.repository.js.map +1 -1
  11. package/dist/repositories/setting.repository.d.ts.map +1 -1
  12. package/dist/repositories/setting.repository.js +1 -0
  13. package/dist/repositories/setting.repository.js.map +1 -1
  14. package/dist/repositories/users.repository.d.ts +1 -0
  15. package/dist/repositories/users.repository.d.ts.map +1 -1
  16. package/dist/repositories/users.repository.js +18 -0
  17. package/dist/repositories/users.repository.js.map +1 -1
  18. package/dist/schemas/activity_log.schema.js +1 -1
  19. package/dist/schemas/activity_log.schema.js.map +1 -1
  20. package/dist/schemas/purchase.schema.js +1 -1
  21. package/dist/schemas/purchase.schema.js.map +1 -1
  22. package/dist/schemas/rating.schema.d.ts +2 -12
  23. package/dist/schemas/rating.schema.d.ts.map +1 -1
  24. package/dist/schemas/rating.schema.js +1 -5
  25. package/dist/schemas/rating.schema.js.map +1 -1
  26. package/dist/schemas/user.schema.js +2 -2
  27. package/dist/schemas/user.schema.js.map +1 -1
  28. package/dist/schemas/users_achievement.schema.js +1 -1
  29. package/dist/schemas/users_achievement.schema.js.map +1 -1
  30. package/dist/schemas/users_balance.schema.js +1 -1
  31. package/dist/schemas/users_balance.schema.js.map +1 -1
  32. package/package.json +37 -37
  33. package/readme.md +3 -3
  34. package/src/index.ts +277 -277
  35. package/src/models/account-type.enum.ts +8 -8
  36. package/src/models/activity-log-user-login.interface.ts +10 -10
  37. package/src/models/activity-log.enum.ts +8 -8
  38. package/src/models/currency.enum.ts +6 -6
  39. package/src/models/experiences-level-edge.enum.ts +4 -4
  40. package/src/models/experiences-level-rank.enum.ts +5 -5
  41. package/src/models/rating-add-bulk-item.interface.ts +7 -7
  42. package/src/models/rating-monthly-result.interface.ts +12 -12
  43. package/src/models/tournament-participant.interface.ts +5 -5
  44. package/src/models/tournament-status.enum.ts +6 -6
  45. package/src/models/tournament-template.enum.ts +3 -3
  46. package/src/models/tournament-winner.interface.ts +7 -7
  47. package/src/models/users-balance-reason.enum.ts +8 -8
  48. package/src/repositories/achievement.repository.ts +22 -22
  49. package/src/repositories/activity-log.repository.ts +209 -209
  50. package/src/repositories/admin.repository.ts +20 -20
  51. package/src/repositories/article.repository.ts +24 -24
  52. package/src/repositories/banners.repository.ts +67 -67
  53. package/src/repositories/complains.repository.ts +31 -31
  54. package/src/repositories/daily-bonus.repository.ts +33 -33
  55. package/src/repositories/friend.repository.ts +16 -16
  56. package/src/repositories/game-result.repository.ts +19 -19
  57. package/src/repositories/game-statistic.repository.ts +22 -22
  58. package/src/repositories/index.ts +57 -57
  59. package/src/repositories/many-tables-tournament-rooms.repository.ts +167 -167
  60. package/src/repositories/menu.repository.ts +21 -20
  61. package/src/repositories/notification.repository.ts +59 -59
  62. package/src/repositories/one-table-tournament-rooms.repository.ts +142 -142
  63. package/src/repositories/premium.repository.ts +22 -22
  64. package/src/repositories/products.repository.ts +33 -32
  65. package/src/repositories/purchase.repository.ts +111 -111
  66. package/src/repositories/rating.repository.ts +77 -79
  67. package/src/repositories/rule.repository.ts +20 -20
  68. package/src/repositories/servers.repository.ts +16 -16
  69. package/src/repositories/setting.repository.ts +26 -25
  70. package/src/repositories/settings-options.repository.ts +17 -17
  71. package/src/repositories/simple-rooms.repository.ts +16 -16
  72. package/src/repositories/users-achievements.repository.ts +46 -46
  73. package/src/repositories/users-balances.repository.ts +65 -65
  74. package/src/repositories/users.repository.ts +179 -153
  75. package/src/repositories/welcome.repository.ts +22 -22
  76. package/src/schemas/achievement.schema.ts +34 -34
  77. package/src/schemas/activity_log.schema.ts +37 -37
  78. package/src/schemas/admin.schema.ts +22 -22
  79. package/src/schemas/article.schema.ts +37 -37
  80. package/src/schemas/banner.schema.ts +37 -37
  81. package/src/schemas/channel_message.schema.ts +32 -32
  82. package/src/schemas/complain.schema.ts +46 -46
  83. package/src/schemas/daily_bonus.schema.ts +46 -46
  84. package/src/schemas/feature.schema.ts +28 -28
  85. package/src/schemas/friend.schema.ts +46 -46
  86. package/src/schemas/game_result.schema.ts +68 -68
  87. package/src/schemas/game_statistic.schema.ts +34 -34
  88. package/src/schemas/many_tables_tournament_rooms.schema.ts +87 -87
  89. package/src/schemas/menu.schema.ts +37 -37
  90. package/src/schemas/notification.schema.ts +61 -61
  91. package/src/schemas/one_table_tournament_rooms.schema.ts +84 -84
  92. package/src/schemas/premium.schema.ts +34 -34
  93. package/src/schemas/product.schema.ts +111 -111
  94. package/src/schemas/purchase.schema.ts +61 -61
  95. package/src/schemas/purchase_channel.schema.ts +32 -32
  96. package/src/schemas/rating.schema.ts +34 -37
  97. package/src/schemas/rule.schema.ts +34 -34
  98. package/src/schemas/server.schema.ts +22 -22
  99. package/src/schemas/setting.schema.ts +49 -49
  100. package/src/schemas/settings_option.schema.ts +41 -41
  101. package/src/schemas/simple_rooms.schema.ts +49 -49
  102. package/src/schemas/user.fb.schema.ts +33 -33
  103. package/src/schemas/user.google.schema.ts +24 -24
  104. package/src/schemas/user.ok.schema.ts +53 -53
  105. package/src/schemas/user.schema.ts +185 -185
  106. package/src/schemas/user.tg.schema.ts +30 -30
  107. package/src/schemas/user.vk.schema.ts +70 -70
  108. package/src/schemas/user.ya.schema.ts +24 -24
  109. package/src/schemas/users_achievement.schema.ts +41 -41
  110. package/src/schemas/users_balance.schema.ts +34 -34
  111. package/src/schemas/welcome.schema.ts +37 -37
  112. package/src/utils.ts +7 -7
@@ -1,37 +1,37 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type BannerDocument = HydratedDocument<Banner>;
5
-
6
- @Schema()
7
- export class Banner {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly bannerId: string;
14
-
15
- @Prop({ type: Object })
16
- title: Record<string, string>;
17
-
18
- @Prop()
19
- image: string;
20
-
21
- @Prop()
22
- link: string;
23
-
24
- @Prop()
25
- enabled: boolean;
26
-
27
- @Prop()
28
- createDate: Date;
29
-
30
- @Prop()
31
- game: string;
32
-
33
- @Prop()
34
- channel: string;
35
- }
36
-
37
- export const BannerSchema = SchemaFactory.createForClass(Banner);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type BannerDocument = HydratedDocument<Banner>;
5
+
6
+ @Schema()
7
+ export class Banner {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly bannerId: string;
14
+
15
+ @Prop({ type: Object })
16
+ title: Record<string, string>;
17
+
18
+ @Prop()
19
+ image: string;
20
+
21
+ @Prop()
22
+ link: string;
23
+
24
+ @Prop()
25
+ enabled: boolean;
26
+
27
+ @Prop()
28
+ createDate: Date;
29
+
30
+ @Prop()
31
+ game: string;
32
+
33
+ @Prop()
34
+ channel: string;
35
+ }
36
+
37
+ export const BannerSchema = SchemaFactory.createForClass(Banner);
@@ -1,32 +1,32 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type ChannelMessageDocument = HydratedDocument<ChannelMessage>;
5
-
6
- @Schema()
7
- export class ChannelMessage {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly channelMessageId: string;
14
-
15
- @Prop()
16
- channelId: string;
17
-
18
- @Prop()
19
- date: Date;
20
-
21
- @Prop()
22
- text: string;
23
-
24
- @Prop()
25
- userId: string;
26
-
27
- @Prop()
28
- read: boolean;
29
- }
30
-
31
- export const ChannelMessageSchema =
32
- SchemaFactory.createForClass(ChannelMessage);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type ChannelMessageDocument = HydratedDocument<ChannelMessage>;
5
+
6
+ @Schema()
7
+ export class ChannelMessage {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly channelMessageId: string;
14
+
15
+ @Prop()
16
+ channelId: string;
17
+
18
+ @Prop()
19
+ date: Date;
20
+
21
+ @Prop()
22
+ text: string;
23
+
24
+ @Prop()
25
+ userId: string;
26
+
27
+ @Prop()
28
+ read: boolean;
29
+ }
30
+
31
+ export const ChannelMessageSchema =
32
+ SchemaFactory.createForClass(ChannelMessage);
@@ -1,46 +1,46 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type ComplainDocument = HydratedDocument<Complain>;
5
-
6
- @Schema()
7
- export class Complain {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly complainId: string;
14
-
15
- @Prop()
16
- witnessUserId: string;
17
-
18
- @Prop()
19
- witnessName: string;
20
-
21
- @Prop()
22
- witnessAvatarUrl?: string;
23
-
24
- @Prop()
25
- witnessComment: string;
26
-
27
- @Prop()
28
- suspectUserId: string;
29
-
30
- @Prop()
31
- suspectName: string;
32
-
33
- @Prop()
34
- suspectAvatarUrl?: string;
35
-
36
- @Prop()
37
- suspectComment: string;
38
-
39
- @Prop()
40
- hideMessages: boolean;
41
-
42
- @Prop()
43
- createDate: Date;
44
- }
45
-
46
- export const ComplainSchema = SchemaFactory.createForClass(Complain);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type ComplainDocument = HydratedDocument<Complain>;
5
+
6
+ @Schema()
7
+ export class Complain {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly complainId: string;
14
+
15
+ @Prop()
16
+ witnessUserId: string;
17
+
18
+ @Prop()
19
+ witnessName: string;
20
+
21
+ @Prop()
22
+ witnessAvatarUrl?: string;
23
+
24
+ @Prop()
25
+ witnessComment: string;
26
+
27
+ @Prop()
28
+ suspectUserId: string;
29
+
30
+ @Prop()
31
+ suspectName: string;
32
+
33
+ @Prop()
34
+ suspectAvatarUrl?: string;
35
+
36
+ @Prop()
37
+ suspectComment: string;
38
+
39
+ @Prop()
40
+ hideMessages: boolean;
41
+
42
+ @Prop()
43
+ createDate: Date;
44
+ }
45
+
46
+ export const ComplainSchema = SchemaFactory.createForClass(Complain);
@@ -1,46 +1,46 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type DailyBonusDocument = HydratedDocument<DailyBonus>;
5
-
6
- @Schema({ collection: 'daily_bonuses' })
7
- export class DailyBonus {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly dailyBonusId: string;
14
-
15
- @Prop({ type: Object })
16
- title: Record<string, string>;
17
-
18
- @Prop({ type: Object })
19
- subtitle: Record<string, string>;
20
-
21
- @Prop()
22
- icon: string;
23
-
24
- @Prop()
25
- active: boolean;
26
-
27
- @Prop()
28
- url: string;
29
-
30
- @Prop()
31
- position: number;
32
-
33
- @Prop()
34
- amount: number;
35
-
36
- @Prop()
37
- premiumAmount: number;
38
-
39
- @Prop()
40
- game: string;
41
-
42
- @Prop()
43
- channel: string;
44
- }
45
-
46
- export const DailyBonusSchema = SchemaFactory.createForClass(DailyBonus);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type DailyBonusDocument = HydratedDocument<DailyBonus>;
5
+
6
+ @Schema({ collection: 'daily_bonuses' })
7
+ export class DailyBonus {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly dailyBonusId: string;
14
+
15
+ @Prop({ type: Object })
16
+ title: Record<string, string>;
17
+
18
+ @Prop({ type: Object })
19
+ subtitle: Record<string, string>;
20
+
21
+ @Prop()
22
+ icon: string;
23
+
24
+ @Prop()
25
+ active: boolean;
26
+
27
+ @Prop()
28
+ url: string;
29
+
30
+ @Prop()
31
+ position: number;
32
+
33
+ @Prop()
34
+ amount: number;
35
+
36
+ @Prop()
37
+ premiumAmount: number;
38
+
39
+ @Prop()
40
+ game: string;
41
+
42
+ @Prop()
43
+ channel: string;
44
+ }
45
+
46
+ export const DailyBonusSchema = SchemaFactory.createForClass(DailyBonus);
@@ -1,28 +1,28 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type FeatureDocument = HydratedDocument<Feature>;
5
-
6
- @Schema()
7
- export class Feature {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly featureId: string;
14
-
15
- @Prop()
16
- name: string;
17
-
18
- @Prop()
19
- enabled: boolean;
20
-
21
- @Prop()
22
- channel: string;
23
-
24
- @Prop()
25
- game?: string;
26
- }
27
-
28
- export const FeatureSchema = SchemaFactory.createForClass(Feature);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type FeatureDocument = HydratedDocument<Feature>;
5
+
6
+ @Schema()
7
+ export class Feature {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly featureId: string;
14
+
15
+ @Prop()
16
+ name: string;
17
+
18
+ @Prop()
19
+ enabled: boolean;
20
+
21
+ @Prop()
22
+ channel: string;
23
+
24
+ @Prop()
25
+ game?: string;
26
+ }
27
+
28
+ export const FeatureSchema = SchemaFactory.createForClass(Feature);
@@ -1,46 +1,46 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type FriendDocument = HydratedDocument<Friend>;
5
-
6
- @Schema({ collection: 'friends' })
7
- export class Friend {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly ruleId: string;
14
-
15
- @Prop()
16
- icon: string;
17
-
18
- @Prop()
19
- title: string;
20
-
21
- @Prop()
22
- titleEn: string;
23
-
24
- @Prop()
25
- userId: string;
26
-
27
- @Prop()
28
- avatarUrl: string;
29
-
30
- @Prop()
31
- userName: string;
32
-
33
- @Prop()
34
- level: number;
35
-
36
- @Prop()
37
- url: string;
38
-
39
- @Prop()
40
- game: string;
41
-
42
- @Prop()
43
- channel: string;
44
- }
45
-
46
- export const FriendSchema = SchemaFactory.createForClass(Friend);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type FriendDocument = HydratedDocument<Friend>;
5
+
6
+ @Schema({ collection: 'friends' })
7
+ export class Friend {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly ruleId: string;
14
+
15
+ @Prop()
16
+ icon: string;
17
+
18
+ @Prop()
19
+ title: string;
20
+
21
+ @Prop()
22
+ titleEn: string;
23
+
24
+ @Prop()
25
+ userId: string;
26
+
27
+ @Prop()
28
+ avatarUrl: string;
29
+
30
+ @Prop()
31
+ userName: string;
32
+
33
+ @Prop()
34
+ level: number;
35
+
36
+ @Prop()
37
+ url: string;
38
+
39
+ @Prop()
40
+ game: string;
41
+
42
+ @Prop()
43
+ channel: string;
44
+ }
45
+
46
+ export const FriendSchema = SchemaFactory.createForClass(Friend);
@@ -1,68 +1,68 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument, SchemaTypes } from 'mongoose';
3
-
4
- export type GameResultDocument = HydratedDocument<GameResult>;
5
-
6
- export interface IGameResultFigure {
7
- figureId: number;
8
- type: string;
9
- name: string;
10
- }
11
-
12
- export interface IGameResultPlayer {
13
- userId: string;
14
- fullName: string;
15
- profit?: number;
16
- figures?: Array<IGameResultFigure>;
17
- }
18
-
19
- export interface IGameResultHistoryItem {
20
- userId: string;
21
- fullName: string;
22
- date: Date;
23
- actionType: string;
24
- state: string;
25
- turnNumber: number;
26
- moveAction?: string;
27
- moveData?: object;
28
- figures?: Array<IGameResultFigure>;
29
- }
30
-
31
- @Schema({ collection: 'game_results' })
32
- export class GameResult {
33
- @Virtual({
34
- get: function (this: Document) {
35
- return this._id.toString();
36
- },
37
- })
38
- readonly gameResultId: string;
39
-
40
- @Prop()
41
- date: Date;
42
-
43
- @Prop()
44
- gameType: string;
45
-
46
- @Prop()
47
- roomId: string;
48
-
49
- @Prop()
50
- gameId: string;
51
-
52
- @Prop()
53
- pot: number;
54
-
55
- @Prop()
56
- players: Array<IGameResultPlayer>;
57
-
58
- @Prop()
59
- winners: Array<IGameResultPlayer>;
60
-
61
- @Prop()
62
- history: Array<IGameResultHistoryItem>;
63
-
64
- @Prop({ type: SchemaTypes.Mixed })
65
- extraData?: any;
66
- }
67
-
68
- export const GameResultSchema = SchemaFactory.createForClass(GameResult);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument, SchemaTypes } from 'mongoose';
3
+
4
+ export type GameResultDocument = HydratedDocument<GameResult>;
5
+
6
+ export interface IGameResultFigure {
7
+ figureId: number;
8
+ type: string;
9
+ name: string;
10
+ }
11
+
12
+ export interface IGameResultPlayer {
13
+ userId: string;
14
+ fullName: string;
15
+ profit?: number;
16
+ figures?: Array<IGameResultFigure>;
17
+ }
18
+
19
+ export interface IGameResultHistoryItem {
20
+ userId: string;
21
+ fullName: string;
22
+ date: Date;
23
+ actionType: string;
24
+ state: string;
25
+ turnNumber: number;
26
+ moveAction?: string;
27
+ moveData?: object;
28
+ figures?: Array<IGameResultFigure>;
29
+ }
30
+
31
+ @Schema({ collection: 'game_results' })
32
+ export class GameResult {
33
+ @Virtual({
34
+ get: function (this: Document) {
35
+ return this._id.toString();
36
+ },
37
+ })
38
+ readonly gameResultId: string;
39
+
40
+ @Prop()
41
+ date: Date;
42
+
43
+ @Prop()
44
+ gameType: string;
45
+
46
+ @Prop()
47
+ roomId: string;
48
+
49
+ @Prop()
50
+ gameId: string;
51
+
52
+ @Prop()
53
+ pot: number;
54
+
55
+ @Prop()
56
+ players: Array<IGameResultPlayer>;
57
+
58
+ @Prop()
59
+ winners: Array<IGameResultPlayer>;
60
+
61
+ @Prop()
62
+ history: Array<IGameResultHistoryItem>;
63
+
64
+ @Prop({ type: SchemaTypes.Mixed })
65
+ extraData?: any;
66
+ }
67
+
68
+ export const GameResultSchema = SchemaFactory.createForClass(GameResult);
@@ -1,34 +1,34 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
-
4
- export type GameStatisticDocument = HydratedDocument<GameStatistic>;
5
-
6
- @Schema({ collection: 'game_statistics' })
7
- export class GameStatistic {
8
- @Virtual({
9
- get: function (this: Document) {
10
- return this._id.toString();
11
- },
12
- })
13
- readonly gameStatisticId: string;
14
-
15
- @Prop()
16
- code: string;
17
-
18
- @Prop({ type: Object })
19
- title: Record<string, string>;
20
-
21
- @Prop()
22
- icon: string;
23
-
24
- @Prop()
25
- url: string;
26
-
27
- @Prop()
28
- position: number;
29
-
30
- @Prop()
31
- game: string;
32
- }
33
-
34
- export const GameStatisticSchema = SchemaFactory.createForClass(GameStatistic);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+
4
+ export type GameStatisticDocument = HydratedDocument<GameStatistic>;
5
+
6
+ @Schema({ collection: 'game_statistics' })
7
+ export class GameStatistic {
8
+ @Virtual({
9
+ get: function (this: Document) {
10
+ return this._id.toString();
11
+ },
12
+ })
13
+ readonly gameStatisticId: string;
14
+
15
+ @Prop()
16
+ code: string;
17
+
18
+ @Prop({ type: Object })
19
+ title: Record<string, string>;
20
+
21
+ @Prop()
22
+ icon: string;
23
+
24
+ @Prop()
25
+ url: string;
26
+
27
+ @Prop()
28
+ position: number;
29
+
30
+ @Prop()
31
+ game: string;
32
+ }
33
+
34
+ export const GameStatisticSchema = SchemaFactory.createForClass(GameStatistic);