jp.db.schemas 2.2.10 → 2.2.11

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 (83) hide show
  1. package/package.json +37 -37
  2. package/readme.md +3 -3
  3. package/src/index.ts +294 -294
  4. package/src/models/account-type.enum.ts +8 -8
  5. package/src/models/activity-log-user-login.interface.ts +10 -10
  6. package/src/models/activity-log.enum.ts +8 -8
  7. package/src/models/currency.enum.ts +6 -6
  8. package/src/models/rating-add-bulk-item.interface.ts +7 -7
  9. package/src/models/rating-monthly-result.interface.ts +11 -11
  10. package/src/models/tournament-participant.interface.ts +5 -5
  11. package/src/models/tournament-status.enum.ts +6 -6
  12. package/src/models/tournament-template.enum.ts +3 -3
  13. package/src/models/tournament-winner.interface.ts +7 -7
  14. package/src/models/users-balance-reason.enum.ts +8 -8
  15. package/src/repositories/achievement.repository.ts +17 -17
  16. package/src/repositories/activity-log.repository.ts +209 -209
  17. package/src/repositories/admin.repository.ts +20 -20
  18. package/src/repositories/article.repository.ts +24 -24
  19. package/src/repositories/banners.repository.ts +60 -60
  20. package/src/repositories/complains.repository.ts +31 -31
  21. package/src/repositories/daily-bonus.repository.ts +32 -32
  22. package/src/repositories/friend.repository.ts +24 -24
  23. package/src/repositories/game-result.repository.ts +19 -19
  24. package/src/repositories/game-statistic.repository.ts +25 -25
  25. package/src/repositories/index.ts +61 -61
  26. package/src/repositories/menu.repository.ts +19 -19
  27. package/src/repositories/notification.repository.ts +59 -59
  28. package/src/repositories/premium.repository.ts +16 -16
  29. package/src/repositories/products.repository.ts +30 -30
  30. package/src/repositories/purchase.repository.ts +111 -111
  31. package/src/repositories/rating.repository.ts +90 -90
  32. package/src/repositories/rooms.repository.ts +14 -14
  33. package/src/repositories/rule.repository.ts +14 -14
  34. package/src/repositories/scheduled-tournaments.repository.ts +35 -35
  35. package/src/repositories/servers.repository.ts +16 -16
  36. package/src/repositories/setting.repository.ts +24 -24
  37. package/src/repositories/settings-options.repository.ts +17 -17
  38. package/src/repositories/simple-rooms.repository.ts +16 -16
  39. package/src/repositories/tournament-many-tables-rooms.repository.ts +171 -171
  40. package/src/repositories/tournament-one-table-rooms.repository.ts +142 -142
  41. package/src/repositories/users-achievements.repository.ts +46 -46
  42. package/src/repositories/users-balances.repository.ts +65 -65
  43. package/src/repositories/users.repository.ts +153 -153
  44. package/src/repositories/welcome.repository.ts +16 -16
  45. package/src/schemas/achievement.schema.ts +40 -40
  46. package/src/schemas/activity_log.schema.ts +37 -37
  47. package/src/schemas/admin.schema.ts +22 -22
  48. package/src/schemas/article.schema.ts +37 -37
  49. package/src/schemas/banner.schema.ts +40 -40
  50. package/src/schemas/channel_message.schema.ts +32 -32
  51. package/src/schemas/complain.schema.ts +46 -46
  52. package/src/schemas/daily_bonus.schema.ts +49 -49
  53. package/src/schemas/feature.schema.ts +28 -28
  54. package/src/schemas/friend.schema.ts +49 -49
  55. package/src/schemas/game_result.schema.ts +68 -68
  56. package/src/schemas/game_statistic.schema.ts +40 -40
  57. package/src/schemas/menu.schema.ts +37 -37
  58. package/src/schemas/notification.schema.ts +61 -61
  59. package/src/schemas/premium.schema.ts +37 -37
  60. package/src/schemas/product.schema.ts +111 -111
  61. package/src/schemas/purchase.schema.ts +61 -61
  62. package/src/schemas/purchase_channel.schema.ts +32 -32
  63. package/src/schemas/rating.schema.ts +37 -37
  64. package/src/schemas/rooms.schema.ts +63 -63
  65. package/src/schemas/rule.schema.ts +37 -37
  66. package/src/schemas/scheduled_tournament.schema.ts +94 -94
  67. package/src/schemas/server.schema.ts +22 -22
  68. package/src/schemas/setting.schema.ts +49 -49
  69. package/src/schemas/settings_option.schema.ts +41 -41
  70. package/src/schemas/simple_rooms.schema.ts +49 -49
  71. package/src/schemas/tournament_many_tables_rooms.schema.ts +87 -87
  72. package/src/schemas/tournament_one_table_rooms.schema.ts +84 -84
  73. package/src/schemas/user.fb.schema.ts +33 -33
  74. package/src/schemas/user.google.schema.ts +24 -24
  75. package/src/schemas/user.ok.schema.ts +53 -53
  76. package/src/schemas/user.schema.ts +160 -160
  77. package/src/schemas/user.tg.schema.ts +30 -30
  78. package/src/schemas/user.vk.schema.ts +70 -70
  79. package/src/schemas/user.ya.schema.ts +24 -24
  80. package/src/schemas/users_achievement.schema.ts +41 -41
  81. package/src/schemas/users_balance.schema.ts +34 -34
  82. package/src/schemas/welcome.schema.ts +37 -37
  83. package/src/utils.ts +3 -3
@@ -1,142 +1,142 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { InjectModel } from '@nestjs/mongoose';
3
- import { Model } from 'mongoose';
4
- import dayjs from 'dayjs';
5
-
6
- import { TournamentOneTableRoom, TournamentOneTableRoomDocument } from '../';
7
- import { ITournamentParticipant } from '../models/tournament-participant.interface';
8
- import { TournamentStatusEnum } from '../models/tournament-status.enum';
9
- import { ITournamentWinner } from '../models/tournament-winner.interface';
10
- import { TournamentTemplateEnum } from '../models/tournament-template.enum';
11
-
12
- @Injectable()
13
- export class TournamentOneTableRoomsRepository {
14
- constructor(
15
- @InjectModel(TournamentOneTableRoom.name)
16
- private tournamentModel: Model<TournamentOneTableRoomDocument>,
17
- ) {}
18
-
19
- async findTournamentById(
20
- tournamentId: string,
21
- ): Promise<TournamentOneTableRoomDocument | null> {
22
- return this.tournamentModel.findById(tournamentId).exec();
23
- }
24
-
25
- async findTemplateById(
26
- templateId: string,
27
- gameType: string,
28
- ): Promise<TournamentOneTableRoomDocument | null> {
29
- return this.tournamentModel
30
- .findOne({ isTemplate: true, templateId, gameType })
31
- .exec();
32
- }
33
-
34
- async findActualTournaments(
35
- gameType: string,
36
- ): Promise<Array<TournamentOneTableRoomDocument>> {
37
- return this.tournamentModel
38
- .find({
39
- $and: [
40
- {
41
- isTemplate: false,
42
- gameType,
43
- },
44
- {
45
- $or: [
46
- { status: TournamentStatusEnum.STATE_WAITING_FOR_START },
47
- { finishDate: { $gte: dayjs().subtract(1, 'hour').toDate() } },
48
- ],
49
- },
50
- ],
51
- })
52
- .exec();
53
- }
54
-
55
- async findWaitingTournament(
56
- gameType: string,
57
- ): Promise<TournamentOneTableRoomDocument | null> {
58
- return this.tournamentModel
59
- .findOne({
60
- gameType,
61
- status: TournamentStatusEnum.STATE_WAITING_FOR_START,
62
- isTemplate: false,
63
- })
64
- .exec();
65
- }
66
-
67
- async createTournament(
68
- tournament: Partial<TournamentOneTableRoom>,
69
- ): Promise<TournamentOneTableRoomDocument> {
70
- return this.tournamentModel.create(tournament);
71
- }
72
-
73
- async createTournamentFromMasterTemplate(
74
- gameType: string,
75
- ): Promise<TournamentOneTableRoomDocument> {
76
- const masterTemplate = await this.findTemplateById(
77
- TournamentTemplateEnum.MASTER,
78
- gameType,
79
- );
80
-
81
- return this.createTournament({
82
- title: masterTemplate.title,
83
- subtitle: masterTemplate.subtitle,
84
- description: masterTemplate.description,
85
- tableSize: masterTemplate.tableSize,
86
- bet: masterTemplate.bet,
87
- ticketPrice: masterTemplate.ticketPrice,
88
- roomType: masterTemplate.roomType,
89
- gameType: masterTemplate.gameType,
90
- rulesType: masterTemplate.rulesType,
91
- deckType: masterTemplate.deckType,
92
- maxParticipants: masterTemplate.maxParticipants,
93
- participants: masterTemplate.participants,
94
- status: masterTemplate.status,
95
- winners: masterTemplate.winners,
96
- createDate: new Date(),
97
- isTemplate: false,
98
- templateId: undefined,
99
- });
100
- }
101
-
102
- async startTournament(
103
- tournamentId: string,
104
- participants: Array<ITournamentParticipant>,
105
- ): Promise<void> {
106
- await this.tournamentModel
107
- .findByIdAndUpdate(tournamentId, {
108
- $set: {
109
- startDate: new Date(),
110
- status: TournamentStatusEnum.STATE_IN_PROGRESS,
111
- participants,
112
- },
113
- })
114
- .exec();
115
- }
116
-
117
- async cancelTournament(tournamentId: string): Promise<void> {
118
- await this.tournamentModel
119
- .findByIdAndUpdate(tournamentId, {
120
- $set: {
121
- finishDate: new Date(),
122
- status: TournamentStatusEnum.STATE_CANCELLED,
123
- },
124
- })
125
- .exec();
126
- }
127
-
128
- async finishTournament(
129
- tournamentId: string,
130
- winners: Array<ITournamentWinner>,
131
- ): Promise<void> {
132
- await this.tournamentModel
133
- .findByIdAndUpdate(tournamentId, {
134
- $set: {
135
- finishDate: new Date(),
136
- status: TournamentStatusEnum.STATE_FINISHED,
137
- winners,
138
- },
139
- })
140
- .exec();
141
- }
142
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectModel } from '@nestjs/mongoose';
3
+ import { Model } from 'mongoose';
4
+ import dayjs from 'dayjs';
5
+
6
+ import { TournamentOneTableRoom, TournamentOneTableRoomDocument } from '../';
7
+ import { ITournamentParticipant } from '../models/tournament-participant.interface';
8
+ import { TournamentStatusEnum } from '../models/tournament-status.enum';
9
+ import { ITournamentWinner } from '../models/tournament-winner.interface';
10
+ import { TournamentTemplateEnum } from '../models/tournament-template.enum';
11
+
12
+ @Injectable()
13
+ export class TournamentOneTableRoomsRepository {
14
+ constructor(
15
+ @InjectModel(TournamentOneTableRoom.name)
16
+ private tournamentModel: Model<TournamentOneTableRoomDocument>,
17
+ ) {}
18
+
19
+ async findTournamentById(
20
+ tournamentId: string,
21
+ ): Promise<TournamentOneTableRoomDocument | null> {
22
+ return this.tournamentModel.findById(tournamentId).exec();
23
+ }
24
+
25
+ async findTemplateById(
26
+ templateId: string,
27
+ gameType: string,
28
+ ): Promise<TournamentOneTableRoomDocument | null> {
29
+ return this.tournamentModel
30
+ .findOne({ isTemplate: true, templateId, gameType })
31
+ .exec();
32
+ }
33
+
34
+ async findActualTournaments(
35
+ gameType: string,
36
+ ): Promise<Array<TournamentOneTableRoomDocument>> {
37
+ return this.tournamentModel
38
+ .find({
39
+ $and: [
40
+ {
41
+ isTemplate: false,
42
+ gameType,
43
+ },
44
+ {
45
+ $or: [
46
+ { status: TournamentStatusEnum.STATE_WAITING_FOR_START },
47
+ { finishDate: { $gte: dayjs().subtract(1, 'hour').toDate() } },
48
+ ],
49
+ },
50
+ ],
51
+ })
52
+ .exec();
53
+ }
54
+
55
+ async findWaitingTournament(
56
+ gameType: string,
57
+ ): Promise<TournamentOneTableRoomDocument | null> {
58
+ return this.tournamentModel
59
+ .findOne({
60
+ gameType,
61
+ status: TournamentStatusEnum.STATE_WAITING_FOR_START,
62
+ isTemplate: false,
63
+ })
64
+ .exec();
65
+ }
66
+
67
+ async createTournament(
68
+ tournament: Partial<TournamentOneTableRoom>,
69
+ ): Promise<TournamentOneTableRoomDocument> {
70
+ return this.tournamentModel.create(tournament);
71
+ }
72
+
73
+ async createTournamentFromMasterTemplate(
74
+ gameType: string,
75
+ ): Promise<TournamentOneTableRoomDocument> {
76
+ const masterTemplate = await this.findTemplateById(
77
+ TournamentTemplateEnum.MASTER,
78
+ gameType,
79
+ );
80
+
81
+ return this.createTournament({
82
+ title: masterTemplate.title,
83
+ subtitle: masterTemplate.subtitle,
84
+ description: masterTemplate.description,
85
+ tableSize: masterTemplate.tableSize,
86
+ bet: masterTemplate.bet,
87
+ ticketPrice: masterTemplate.ticketPrice,
88
+ roomType: masterTemplate.roomType,
89
+ gameType: masterTemplate.gameType,
90
+ rulesType: masterTemplate.rulesType,
91
+ deckType: masterTemplate.deckType,
92
+ maxParticipants: masterTemplate.maxParticipants,
93
+ participants: masterTemplate.participants,
94
+ status: masterTemplate.status,
95
+ winners: masterTemplate.winners,
96
+ createDate: new Date(),
97
+ isTemplate: false,
98
+ templateId: undefined,
99
+ });
100
+ }
101
+
102
+ async startTournament(
103
+ tournamentId: string,
104
+ participants: Array<ITournamentParticipant>,
105
+ ): Promise<void> {
106
+ await this.tournamentModel
107
+ .findByIdAndUpdate(tournamentId, {
108
+ $set: {
109
+ startDate: new Date(),
110
+ status: TournamentStatusEnum.STATE_IN_PROGRESS,
111
+ participants,
112
+ },
113
+ })
114
+ .exec();
115
+ }
116
+
117
+ async cancelTournament(tournamentId: string): Promise<void> {
118
+ await this.tournamentModel
119
+ .findByIdAndUpdate(tournamentId, {
120
+ $set: {
121
+ finishDate: new Date(),
122
+ status: TournamentStatusEnum.STATE_CANCELLED,
123
+ },
124
+ })
125
+ .exec();
126
+ }
127
+
128
+ async finishTournament(
129
+ tournamentId: string,
130
+ winners: Array<ITournamentWinner>,
131
+ ): Promise<void> {
132
+ await this.tournamentModel
133
+ .findByIdAndUpdate(tournamentId, {
134
+ $set: {
135
+ finishDate: new Date(),
136
+ status: TournamentStatusEnum.STATE_FINISHED,
137
+ winners,
138
+ },
139
+ })
140
+ .exec();
141
+ }
142
+ }
@@ -1,46 +1,46 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { InjectModel } from '@nestjs/mongoose';
3
- import { Model } from 'mongoose';
4
-
5
- import { UsersAchievement, UsersAchievementDocument } from '..';
6
-
7
- @Injectable()
8
- export class UsersAchievementsRepository {
9
- constructor(
10
- @InjectModel(UsersAchievement.name)
11
- private usersAchievementModel: Model<UsersAchievementDocument>,
12
- ) {}
13
-
14
- async findAchivementsByUserId(
15
- userId: string,
16
- ): Promise<Array<UsersAchievement>> {
17
- return this.usersAchievementModel.find({ userId }).exec();
18
- }
19
-
20
- async findAchivementsByUserIdAndAchievementCode(
21
- userId: string,
22
- achievementCode: string,
23
- ): Promise<Array<UsersAchievement>> {
24
- return this.usersAchievementModel.find({ userId, achievementCode }).exec();
25
- }
26
-
27
- async addUsersAchievement(
28
- userId: string,
29
- userName: string,
30
- achievementId: string,
31
- achievementTitle: string,
32
- achievementCode: string,
33
- achievementPrize: number,
34
- game: string,
35
- ): Promise<UsersAchievement> {
36
- return this.usersAchievementModel.create({
37
- userId,
38
- userName,
39
- achievementId,
40
- achievementTitle,
41
- achievementCode,
42
- achievementPrize,
43
- game,
44
- });
45
- }
46
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectModel } from '@nestjs/mongoose';
3
+ import { Model } from 'mongoose';
4
+
5
+ import { UsersAchievement, UsersAchievementDocument } from '..';
6
+
7
+ @Injectable()
8
+ export class UsersAchievementsRepository {
9
+ constructor(
10
+ @InjectModel(UsersAchievement.name)
11
+ private usersAchievementModel: Model<UsersAchievementDocument>,
12
+ ) {}
13
+
14
+ async findAchivementsByUserId(
15
+ userId: string,
16
+ ): Promise<Array<UsersAchievement>> {
17
+ return this.usersAchievementModel.find({ userId }).exec();
18
+ }
19
+
20
+ async findAchivementsByUserIdAndAchievementCode(
21
+ userId: string,
22
+ achievementCode: string,
23
+ ): Promise<Array<UsersAchievement>> {
24
+ return this.usersAchievementModel.find({ userId, achievementCode }).exec();
25
+ }
26
+
27
+ async addUsersAchievement(
28
+ userId: string,
29
+ userName: string,
30
+ achievementId: string,
31
+ achievementTitle: string,
32
+ achievementCode: string,
33
+ achievementPrize: number,
34
+ game: string,
35
+ ): Promise<UsersAchievement> {
36
+ return this.usersAchievementModel.create({
37
+ userId,
38
+ userName,
39
+ achievementId,
40
+ achievementTitle,
41
+ achievementCode,
42
+ achievementPrize,
43
+ game,
44
+ });
45
+ }
46
+ }
@@ -1,65 +1,65 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { InjectModel } from '@nestjs/mongoose';
3
- import { Model } from 'mongoose';
4
-
5
- import { UsersBalance, UsersBalanceDocument } from '..';
6
- import { UsersBalanceReasonEnum } from '../models/users-balance-reason.enum';
7
-
8
- @Injectable()
9
- export class UsersBalancesRepository {
10
- constructor(
11
- @InjectModel(UsersBalance.name)
12
- private usersBalanceModel: Model<UsersBalanceDocument>,
13
- ) {}
14
-
15
- async addUsersBalanceByRegister(
16
- userId: string,
17
- userName: string,
18
- amount: number,
19
- game: string,
20
- ): Promise<UsersBalance> {
21
- return this.createUsersBalance({
22
- userId,
23
- userName,
24
- amount,
25
- reason: UsersBalanceReasonEnum.REGISTER,
26
- game,
27
- });
28
- }
29
-
30
- async addUsersBalanceByDailyBonus(
31
- userId: string,
32
- userName: string,
33
- amount: number,
34
- game: string,
35
- ): Promise<UsersBalance> {
36
- return this.createUsersBalance({
37
- userId,
38
- userName,
39
- amount,
40
- reason: UsersBalanceReasonEnum.DAILY_BONUS,
41
- game,
42
- });
43
- }
44
-
45
- async addUsersBalanceByShopPurchase(
46
- userId: string,
47
- userName: string,
48
- amount: number,
49
- game: string,
50
- ): Promise<UsersBalance> {
51
- return this.createUsersBalance({
52
- userId,
53
- userName,
54
- amount,
55
- reason: UsersBalanceReasonEnum.SHOP_PURCHASE,
56
- game,
57
- });
58
- }
59
-
60
- async createUsersBalance(
61
- usersBalance: Partial<UsersBalance>,
62
- ): Promise<UsersBalance> {
63
- return this.usersBalanceModel.create(usersBalance);
64
- }
65
- }
1
+ import { Injectable } from '@nestjs/common';
2
+ import { InjectModel } from '@nestjs/mongoose';
3
+ import { Model } from 'mongoose';
4
+
5
+ import { UsersBalance, UsersBalanceDocument } from '..';
6
+ import { UsersBalanceReasonEnum } from '../models/users-balance-reason.enum';
7
+
8
+ @Injectable()
9
+ export class UsersBalancesRepository {
10
+ constructor(
11
+ @InjectModel(UsersBalance.name)
12
+ private usersBalanceModel: Model<UsersBalanceDocument>,
13
+ ) {}
14
+
15
+ async addUsersBalanceByRegister(
16
+ userId: string,
17
+ userName: string,
18
+ amount: number,
19
+ game: string,
20
+ ): Promise<UsersBalance> {
21
+ return this.createUsersBalance({
22
+ userId,
23
+ userName,
24
+ amount,
25
+ reason: UsersBalanceReasonEnum.REGISTER,
26
+ game,
27
+ });
28
+ }
29
+
30
+ async addUsersBalanceByDailyBonus(
31
+ userId: string,
32
+ userName: string,
33
+ amount: number,
34
+ game: string,
35
+ ): Promise<UsersBalance> {
36
+ return this.createUsersBalance({
37
+ userId,
38
+ userName,
39
+ amount,
40
+ reason: UsersBalanceReasonEnum.DAILY_BONUS,
41
+ game,
42
+ });
43
+ }
44
+
45
+ async addUsersBalanceByShopPurchase(
46
+ userId: string,
47
+ userName: string,
48
+ amount: number,
49
+ game: string,
50
+ ): Promise<UsersBalance> {
51
+ return this.createUsersBalance({
52
+ userId,
53
+ userName,
54
+ amount,
55
+ reason: UsersBalanceReasonEnum.SHOP_PURCHASE,
56
+ game,
57
+ });
58
+ }
59
+
60
+ async createUsersBalance(
61
+ usersBalance: Partial<UsersBalance>,
62
+ ): Promise<UsersBalance> {
63
+ return this.usersBalanceModel.create(usersBalance);
64
+ }
65
+ }