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,53 +1,53 @@
1
- import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
- import { HydratedDocument } from 'mongoose';
3
-
4
- export type OKUserLocationDocument = HydratedDocument<OKUserLocation>;
5
-
6
- @Schema()
7
- export class OKUserLocation {
8
- @Prop()
9
- city: string;
10
-
11
- @Prop()
12
- country: string;
13
-
14
- @Prop()
15
- countryCode: string;
16
-
17
- @Prop()
18
- countryName: string;
19
- }
20
-
21
- export const OKUserLocationSchema =
22
- SchemaFactory.createForClass(OKUserLocation);
23
-
24
- export type OKUserDocument = HydratedDocument<OKUser>;
25
-
26
- @Schema()
27
- export class OKUser {
28
- @Prop()
29
- uid: string;
30
-
31
- @Prop()
32
- birthday: string;
33
-
34
- @Prop()
35
- birthdaySet: boolean;
36
-
37
- @Prop()
38
- age: number;
39
-
40
- @Prop()
41
- first_name: string;
42
-
43
- @Prop()
44
- last_name: string;
45
-
46
- @Prop()
47
- location: OKUserLocation;
48
-
49
- @Prop()
50
- pic128x128: string;
51
- }
52
-
53
- export const OKUserSchema = SchemaFactory.createForClass(OKUser);
1
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
+ import { HydratedDocument } from 'mongoose';
3
+
4
+ export type OKUserLocationDocument = HydratedDocument<OKUserLocation>;
5
+
6
+ @Schema()
7
+ export class OKUserLocation {
8
+ @Prop()
9
+ city: string;
10
+
11
+ @Prop()
12
+ country: string;
13
+
14
+ @Prop()
15
+ countryCode: string;
16
+
17
+ @Prop()
18
+ countryName: string;
19
+ }
20
+
21
+ export const OKUserLocationSchema =
22
+ SchemaFactory.createForClass(OKUserLocation);
23
+
24
+ export type OKUserDocument = HydratedDocument<OKUser>;
25
+
26
+ @Schema()
27
+ export class OKUser {
28
+ @Prop()
29
+ uid: string;
30
+
31
+ @Prop()
32
+ birthday: string;
33
+
34
+ @Prop()
35
+ birthdaySet: boolean;
36
+
37
+ @Prop()
38
+ age: number;
39
+
40
+ @Prop()
41
+ first_name: string;
42
+
43
+ @Prop()
44
+ last_name: string;
45
+
46
+ @Prop()
47
+ location: OKUserLocation;
48
+
49
+ @Prop()
50
+ pic128x128: string;
51
+ }
52
+
53
+ export const OKUserSchema = SchemaFactory.createForClass(OKUser);
@@ -1,160 +1,160 @@
1
- import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
- import { Document, HydratedDocument } from 'mongoose';
3
- import dayjs from 'dayjs';
4
-
5
- import { AccountTypeEnum } from '../models/account-type.enum';
6
-
7
- import { VKUser } from './user.vk.schema';
8
- import { OKUser } from './user.ok.schema';
9
- import { YAUser } from './user.ya.schema';
10
- import { TGUser } from './user.tg.schema';
11
- import { GoogleUser } from './user.google.schema';
12
- import { FBUser } from './user.fb.schema';
13
-
14
- export type UserDocument = HydratedDocument<User>;
15
-
16
- @Schema()
17
- export class User {
18
- @Virtual({
19
- get: function (this: Document) {
20
- return this._id.toString();
21
- },
22
- })
23
- readonly userId: string;
24
-
25
- @Prop({ required: true })
26
- fullName: string;
27
-
28
- @Prop({ required: true })
29
- balance: number;
30
-
31
- @Prop({ required: true })
32
- avatarUrl: string;
33
-
34
- @Prop({ default: new Date() })
35
- registerDate: Date;
36
-
37
- @Prop({ required: true })
38
- premiumExpired: Date;
39
-
40
- // settings
41
-
42
- @Prop({ default: '' })
43
- fullNameAlias: string;
44
-
45
- @Prop({ default: '' })
46
- avatarAliasUrl: string;
47
-
48
- @Prop({ default: '' })
49
- avatar: string;
50
-
51
- @Prop({ default: 'theme__light' })
52
- theme: string;
53
-
54
- @Prop({ default: 'language__ru' })
55
- language: string;
56
-
57
- @Prop({ default: 'avatar_frame__default' })
58
- avatarFrame: string;
59
-
60
- @Prop({ default: 'card_skin__default' })
61
- cardSkin: string;
62
-
63
- @Prop({ default: 'game_sounds__on' })
64
- gameSounds: string;
65
-
66
- @Prop({ default: 'bg_pattern__default' })
67
- bgPattern: string;
68
-
69
- @Prop({ default: 'room_table__on' })
70
- roomTable: string;
71
-
72
- @Prop({ default: 'color_schema__default' })
73
- colorSchema: string;
74
-
75
- @Prop({ default: 0 })
76
- experience: number;
77
-
78
- @Prop({ default: 1 })
79
- level: number;
80
-
81
- // users
82
-
83
- @Prop({ type: VKUser })
84
- vkUser?: VKUser;
85
-
86
- @Prop({ type: OKUser })
87
- okUser?: OKUser;
88
-
89
- @Prop({ type: YAUser })
90
- yaUser?: YAUser;
91
-
92
- @Prop({ type: GoogleUser })
93
- googleUser?: GoogleUser;
94
-
95
- @Prop({ type: FBUser })
96
- fbUser?: FBUser;
97
-
98
- @Prop({ type: TGUser })
99
- tgUser?: TGUser;
100
-
101
- // virtuals
102
-
103
- @Virtual({
104
- get: function (this: User) {
105
- return dayjs().isAfter(this.premiumExpired);
106
- },
107
- })
108
- readonly hasPremiumAccount: boolean;
109
-
110
- @Virtual({
111
- get: function (this: User) {
112
- return this.fullNameAlias || this.fullName;
113
- },
114
- })
115
- readonly publicFullName: string;
116
-
117
- @Virtual({
118
- get: function (this: User) {
119
- return this.avatarAliasUrl || this.avatarUrl;
120
- },
121
- })
122
- readonly publicAvatarUrl: string;
123
-
124
- @Virtual({
125
- get: function (this: User) {
126
- if (this.yaUser) {
127
- return AccountTypeEnum.YA;
128
- } else if (this.vkUser) {
129
- return AccountTypeEnum.VK;
130
- } else if (this.okUser) {
131
- return AccountTypeEnum.OK;
132
- } else if (this.fbUser) {
133
- return AccountTypeEnum.FB;
134
- } else if (this.googleUser) {
135
- return AccountTypeEnum.GOOGLE;
136
- }
137
-
138
- return AccountTypeEnum.GUEST;
139
- },
140
- })
141
- readonly accountType: string;
142
-
143
- @Virtual({
144
- get: function (this: User) {
145
- return (
146
- this.accountType === AccountTypeEnum.GUEST || !!this.yaUser?.isGuest
147
- );
148
- },
149
- })
150
- readonly isGuest: boolean;
151
-
152
- @Virtual({
153
- get: function (this: User) {
154
- return this.language.replace('language__', '');
155
- },
156
- })
157
- readonly normalizedLang: string;
158
- }
159
-
160
- export const UserSchema = SchemaFactory.createForClass(User);
1
+ import { Prop, Schema, SchemaFactory, Virtual } from '@nestjs/mongoose';
2
+ import { Document, HydratedDocument } from 'mongoose';
3
+ import dayjs from 'dayjs';
4
+
5
+ import { AccountTypeEnum } from '../models/account-type.enum';
6
+
7
+ import { VKUser } from './user.vk.schema';
8
+ import { OKUser } from './user.ok.schema';
9
+ import { YAUser } from './user.ya.schema';
10
+ import { TGUser } from './user.tg.schema';
11
+ import { GoogleUser } from './user.google.schema';
12
+ import { FBUser } from './user.fb.schema';
13
+
14
+ export type UserDocument = HydratedDocument<User>;
15
+
16
+ @Schema()
17
+ export class User {
18
+ @Virtual({
19
+ get: function (this: Document) {
20
+ return this._id.toString();
21
+ },
22
+ })
23
+ readonly userId: string;
24
+
25
+ @Prop({ required: true })
26
+ fullName: string;
27
+
28
+ @Prop({ required: true })
29
+ balance: number;
30
+
31
+ @Prop({ required: true })
32
+ avatarUrl: string;
33
+
34
+ @Prop({ default: new Date() })
35
+ registerDate: Date;
36
+
37
+ @Prop({ required: true })
38
+ premiumExpired: Date;
39
+
40
+ // settings
41
+
42
+ @Prop({ default: '' })
43
+ fullNameAlias: string;
44
+
45
+ @Prop({ default: '' })
46
+ avatarAliasUrl: string;
47
+
48
+ @Prop({ default: '' })
49
+ avatar: string;
50
+
51
+ @Prop({ default: 'theme__light' })
52
+ theme: string;
53
+
54
+ @Prop({ default: 'language__ru' })
55
+ language: string;
56
+
57
+ @Prop({ default: 'avatar_frame__default' })
58
+ avatarFrame: string;
59
+
60
+ @Prop({ default: 'card_skin__default' })
61
+ cardSkin: string;
62
+
63
+ @Prop({ default: 'game_sounds__on' })
64
+ gameSounds: string;
65
+
66
+ @Prop({ default: 'bg_pattern__default' })
67
+ bgPattern: string;
68
+
69
+ @Prop({ default: 'room_table__on' })
70
+ roomTable: string;
71
+
72
+ @Prop({ default: 'color_schema__default' })
73
+ colorSchema: string;
74
+
75
+ @Prop({ default: 0 })
76
+ experience: number;
77
+
78
+ @Prop({ default: 1 })
79
+ level: number;
80
+
81
+ // users
82
+
83
+ @Prop({ type: VKUser })
84
+ vkUser?: VKUser;
85
+
86
+ @Prop({ type: OKUser })
87
+ okUser?: OKUser;
88
+
89
+ @Prop({ type: YAUser })
90
+ yaUser?: YAUser;
91
+
92
+ @Prop({ type: GoogleUser })
93
+ googleUser?: GoogleUser;
94
+
95
+ @Prop({ type: FBUser })
96
+ fbUser?: FBUser;
97
+
98
+ @Prop({ type: TGUser })
99
+ tgUser?: TGUser;
100
+
101
+ // virtuals
102
+
103
+ @Virtual({
104
+ get: function (this: User) {
105
+ return dayjs().isAfter(this.premiumExpired);
106
+ },
107
+ })
108
+ readonly hasPremiumAccount: boolean;
109
+
110
+ @Virtual({
111
+ get: function (this: User) {
112
+ return this.fullNameAlias || this.fullName;
113
+ },
114
+ })
115
+ readonly publicFullName: string;
116
+
117
+ @Virtual({
118
+ get: function (this: User) {
119
+ return this.avatarAliasUrl || this.avatarUrl;
120
+ },
121
+ })
122
+ readonly publicAvatarUrl: string;
123
+
124
+ @Virtual({
125
+ get: function (this: User) {
126
+ if (this.yaUser) {
127
+ return AccountTypeEnum.YA;
128
+ } else if (this.vkUser) {
129
+ return AccountTypeEnum.VK;
130
+ } else if (this.okUser) {
131
+ return AccountTypeEnum.OK;
132
+ } else if (this.fbUser) {
133
+ return AccountTypeEnum.FB;
134
+ } else if (this.googleUser) {
135
+ return AccountTypeEnum.GOOGLE;
136
+ }
137
+
138
+ return AccountTypeEnum.GUEST;
139
+ },
140
+ })
141
+ readonly accountType: string;
142
+
143
+ @Virtual({
144
+ get: function (this: User) {
145
+ return (
146
+ this.accountType === AccountTypeEnum.GUEST || !!this.yaUser?.isGuest
147
+ );
148
+ },
149
+ })
150
+ readonly isGuest: boolean;
151
+
152
+ @Virtual({
153
+ get: function (this: User) {
154
+ return this.language.replace('language__', '');
155
+ },
156
+ })
157
+ readonly normalizedLang: string;
158
+ }
159
+
160
+ export const UserSchema = SchemaFactory.createForClass(User);
@@ -1,30 +1,30 @@
1
- import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
- import { HydratedDocument } from 'mongoose';
3
-
4
- export type TGUserDocument = HydratedDocument<TGUser>;
5
-
6
- @Schema()
7
- export class TGUser {
8
- @Prop()
9
- id: number;
10
-
11
- @Prop()
12
- firstName: string;
13
-
14
- @Prop()
15
- lastName?: string;
16
-
17
- @Prop()
18
- username?: string;
19
-
20
- @Prop()
21
- languageCode?: string;
22
-
23
- @Prop()
24
- photoUrl?: string;
25
-
26
- @Prop()
27
- allowsWriteToPm?: boolean;
28
- }
29
-
30
- export const TGUserSchema = SchemaFactory.createForClass(TGUser);
1
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
+ import { HydratedDocument } from 'mongoose';
3
+
4
+ export type TGUserDocument = HydratedDocument<TGUser>;
5
+
6
+ @Schema()
7
+ export class TGUser {
8
+ @Prop()
9
+ id: number;
10
+
11
+ @Prop()
12
+ firstName: string;
13
+
14
+ @Prop()
15
+ lastName?: string;
16
+
17
+ @Prop()
18
+ username?: string;
19
+
20
+ @Prop()
21
+ languageCode?: string;
22
+
23
+ @Prop()
24
+ photoUrl?: string;
25
+
26
+ @Prop()
27
+ allowsWriteToPm?: boolean;
28
+ }
29
+
30
+ export const TGUserSchema = SchemaFactory.createForClass(TGUser);
@@ -1,70 +1,70 @@
1
- import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
- import { HydratedDocument } from 'mongoose';
3
-
4
- export type VKUserCityDocument = HydratedDocument<VKUserCity>;
5
-
6
- @Schema()
7
- export class VKUserCity {
8
- @Prop()
9
- id: number;
10
-
11
- @Prop()
12
- title: string;
13
- }
14
-
15
- export const VKUserCitySchema = SchemaFactory.createForClass(VKUserCity);
16
-
17
- export type VKUserDocument = HydratedDocument<VKUser>;
18
-
19
- @Schema()
20
- export class VKUser {
21
- @Prop()
22
- id: number;
23
-
24
- @Prop()
25
- first_name: string;
26
-
27
- @Prop()
28
- last_name: string;
29
-
30
- @Prop()
31
- sex: number;
32
-
33
- @Prop()
34
- bdate: string;
35
-
36
- @Prop()
37
- city: VKUserCity;
38
-
39
- @Prop()
40
- country: VKUserCity;
41
-
42
- @Prop()
43
- photo_100: string;
44
-
45
- @Prop()
46
- photo_200: string;
47
-
48
- @Prop()
49
- photo_max_orig: string;
50
-
51
- @Prop()
52
- timezone: number;
53
-
54
- @Prop()
55
- is_closed: boolean;
56
-
57
- @Prop()
58
- can_access_closed: boolean;
59
-
60
- @Prop()
61
- can_invite_to_chats: boolean;
62
-
63
- @Prop()
64
- is_app_ios: boolean;
65
-
66
- @Prop()
67
- is_vk_user_id?: boolean;
68
- }
69
-
70
- export const VKUserSchema = SchemaFactory.createForClass(VKUser);
1
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
+ import { HydratedDocument } from 'mongoose';
3
+
4
+ export type VKUserCityDocument = HydratedDocument<VKUserCity>;
5
+
6
+ @Schema()
7
+ export class VKUserCity {
8
+ @Prop()
9
+ id: number;
10
+
11
+ @Prop()
12
+ title: string;
13
+ }
14
+
15
+ export const VKUserCitySchema = SchemaFactory.createForClass(VKUserCity);
16
+
17
+ export type VKUserDocument = HydratedDocument<VKUser>;
18
+
19
+ @Schema()
20
+ export class VKUser {
21
+ @Prop()
22
+ id: number;
23
+
24
+ @Prop()
25
+ first_name: string;
26
+
27
+ @Prop()
28
+ last_name: string;
29
+
30
+ @Prop()
31
+ sex: number;
32
+
33
+ @Prop()
34
+ bdate: string;
35
+
36
+ @Prop()
37
+ city: VKUserCity;
38
+
39
+ @Prop()
40
+ country: VKUserCity;
41
+
42
+ @Prop()
43
+ photo_100: string;
44
+
45
+ @Prop()
46
+ photo_200: string;
47
+
48
+ @Prop()
49
+ photo_max_orig: string;
50
+
51
+ @Prop()
52
+ timezone: number;
53
+
54
+ @Prop()
55
+ is_closed: boolean;
56
+
57
+ @Prop()
58
+ can_access_closed: boolean;
59
+
60
+ @Prop()
61
+ can_invite_to_chats: boolean;
62
+
63
+ @Prop()
64
+ is_app_ios: boolean;
65
+
66
+ @Prop()
67
+ is_vk_user_id?: boolean;
68
+ }
69
+
70
+ export const VKUserSchema = SchemaFactory.createForClass(VKUser);
@@ -1,24 +1,24 @@
1
- import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
- import { HydratedDocument } from 'mongoose';
3
-
4
- export type YAUserDocument = HydratedDocument<YAUser>;
5
-
6
- @Schema()
7
- export class YAUser {
8
- @Prop()
9
- userId: string;
10
-
11
- @Prop()
12
- fullName: string;
13
-
14
- @Prop()
15
- language: string;
16
-
17
- @Prop()
18
- avatarUrl: string;
19
-
20
- @Prop()
21
- isGuest: boolean;
22
- }
23
-
24
- export const YAUserSchema = SchemaFactory.createForClass(YAUser);
1
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
2
+ import { HydratedDocument } from 'mongoose';
3
+
4
+ export type YAUserDocument = HydratedDocument<YAUser>;
5
+
6
+ @Schema()
7
+ export class YAUser {
8
+ @Prop()
9
+ userId: string;
10
+
11
+ @Prop()
12
+ fullName: string;
13
+
14
+ @Prop()
15
+ language: string;
16
+
17
+ @Prop()
18
+ avatarUrl: string;
19
+
20
+ @Prop()
21
+ isGuest: boolean;
22
+ }
23
+
24
+ export const YAUserSchema = SchemaFactory.createForClass(YAUser);