Skip to content

Commit f78aacf

Browse files
authored
Merge pull request #167 from TaloDev/develop
Release 0.28.1
2 parents 1472b2a + bdb38a8 commit f78aacf

File tree

6 files changed

+744
-78
lines changed

6 files changed

+744
-78
lines changed

LICENSE.md

Lines changed: 661 additions & 0 deletions
Large diffs are not rendered by default.

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "game-services",
3-
"version": "0.28.0",
3+
"version": "0.28.1",
44
"description": "",
55
"main": "src/index.ts",
66
"scripts": {
@@ -22,7 +22,7 @@
2222
"author": "Sleepy Studios",
2323
"license": "MIT",
2424
"devDependencies": {
25-
"@mikro-orm/cli": "^5.6.8",
25+
"@mikro-orm/cli": "^5.6.11",
2626
"@types/koa": "^2.13.5",
2727
"@types/koa-bodyparser": "^4.3.7",
2828
"@types/koa-logger": "^3.1.2",
@@ -44,15 +44,15 @@
4444
"ts-node-dev": "^2.0.0",
4545
"typescript": "4.9",
4646
"vite": "^4.0.4",
47-
"vitest": "^0.28.0"
47+
"vitest": "^0.28.5"
4848
},
4949
"dependencies": {
5050
"@dinero.js/currencies": "^2.0.0-alpha.8",
5151
"@koa/cors": "3.4.3",
52-
"@mikro-orm/core": "^5.6.8",
53-
"@mikro-orm/migrations": "^5.6.8",
54-
"@mikro-orm/mysql": "^5.6.8",
55-
"@mikro-orm/reflection": "^5.6.8",
52+
"@mikro-orm/core": "^5.6.11",
53+
"@mikro-orm/migrations": "^5.6.11",
54+
"@mikro-orm/mysql": "^5.6.11",
55+
"@mikro-orm/reflection": "^5.6.11",
5656
"@sendgrid/mail": "^7.6.2",
5757
"@sentry/node": "^7.0.0",
5858
"@sentry/tracing": "^7.0.0",

src/lib/groups/rulesValidation.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,34 @@ export const rulesValidation = async (val: unknown): Promise<ValidationCondition
1010
},
1111
{
1212
check: (val as PlayerGroupRule[]).every?.((rule) => Object.values(PlayerGroupRuleName).includes(rule.name)),
13+
error: 'Invalid rule name(s) provided',
1314
break: true
1415
},
1516
{
1617
check: (val as PlayerGroupRule[]).every?.((rule) => Object.values(PlayerGroupRuleCastType).includes(rule.castType)),
18+
error: 'Invalid rule type(s) provided',
1719
break: true
1820
},
1921
{
2022
check: (val as PlayerGroupRule[]).every?.((rule) => [true, false].includes(rule.negate)),
23+
error: 'Missing rule type(s)',
2124
break: true
2225
},
2326
{
2427
check: (val as PlayerGroupRule[]).every?.((rule) => {
2528
const matchesRuleField = PlayerRuleFields
2629
.map((f) => f.mapsTo)
27-
.filter((_, idx) => idx > 0) // exclude the first field, checked by regex below
30+
.filter((_, idx) => idx > 0) // exclude the props field, checked by regex below
2831
.includes(rule.field as PlayerField)
2932

3033
return matchesRuleField || rule.field.match(/props\.(.)*/)
3134
}),
35+
error: 'Invalid rule field(s) provided',
3236
break: true
3337
},
3438
{
3539
check: (val as PlayerGroupRule[]).every?.((rule) => Array.isArray(rule.operands)),
40+
error: 'Rule operand(s) must be an array',
3641
break: true
3742
}
3843
]

src/migrations/20230205220924CreateGameSecretsTable.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export class CreateGameSecretsTable extends Migration {
55
async up(): Promise<void> {
66
this.addSql('create table `game_secret` (`id` int unsigned not null auto_increment primary key, `secret` varchar(255) not null) default character set utf8mb4 engine = InnoDB;')
77

8-
this.addSql('alter table `game` add `api_secret_id` int unsigned default null;') // default to null for the migration
8+
this.addSql('alter table `game` add `api_secret_id` int unsigned not null;')
99
this.addSql('alter table `game` add constraint `game_api_secret_id_foreign` foreign key (`api_secret_id`) references `game_secret` (`id`) on update cascade;')
1010
this.addSql('alter table `game` add unique `game_api_secret_id_unique`(`api_secret_id`);')
1111
}

tests/services/player-group/post.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ describe('Player group service - post', () => {
165165

166166
expect(res.body).toStrictEqual({
167167
errors: {
168-
rules: ['The provided rules value is invalid']
168+
rules: ['Invalid rule name(s) provided']
169169
}
170170
})
171171
})
@@ -195,7 +195,7 @@ describe('Player group service - post', () => {
195195

196196
expect(res.body).toStrictEqual({
197197
errors: {
198-
rules: ['The provided rules value is invalid']
198+
rules: ['Invalid rule type(s) provided']
199199
}
200200
})
201201
})
@@ -225,7 +225,7 @@ describe('Player group service - post', () => {
225225

226226
expect(res.body).toStrictEqual({
227227
errors: {
228-
rules: ['The provided rules value is invalid']
228+
rules: ['Missing rule type(s)']
229229
}
230230
})
231231
})
@@ -255,7 +255,7 @@ describe('Player group service - post', () => {
255255

256256
expect(res.body).toStrictEqual({
257257
errors: {
258-
rules: ['The provided rules value is invalid']
258+
rules: ['Invalid rule field(s) provided']
259259
}
260260
})
261261
})

yarn.lock

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -244,62 +244,62 @@
244244
semver "^7.3.5"
245245
tar "^6.1.11"
246246

247-
"@mikro-orm/cli@^5.6.8":
248-
version "5.6.8"
249-
resolved "https://registry.yarnpkg.com/@mikro-orm/cli/-/cli-5.6.8.tgz#eb7617ecce71f64a750b65e8f4b423f4ceb66d30"
250-
integrity sha512-IUd719fLY+eH2rKgoS7RbyY1yWwKFJeJ1Vea3lYA5ab3y1LlxOmEDl6tSOSfmsGH7mdUStoBrssWDtYYMjzknw==
247+
"@mikro-orm/cli@^5.6.11":
248+
version "5.6.11"
249+
resolved "https://registry.yarnpkg.com/@mikro-orm/cli/-/cli-5.6.11.tgz#8f363ecc5f81024521da10ea575a1c590862ccab"
250+
integrity sha512-wbLDz81d7E0H80ihjf6hYRz5n6HDjLIBFD+XeGe1qntbarY5bonzXdRt0TfmgfW7F73Cyn37GVMZ7ohbTSn9Pg==
251251
dependencies:
252252
"@jercle/yargonaut" "1.1.5"
253-
"@mikro-orm/core" "~5.6.8"
254-
"@mikro-orm/knex" "~5.6.8"
253+
"@mikro-orm/core" "~5.6.11"
254+
"@mikro-orm/knex" "~5.6.11"
255255
fs-extra "11.1.0"
256256
tsconfig-paths "4.1.2"
257257
yargs "15.4.1"
258258

259-
"@mikro-orm/core@^5.6.8", "@mikro-orm/core@~5.6.8":
260-
version "5.6.8"
261-
resolved "https://registry.yarnpkg.com/@mikro-orm/core/-/core-5.6.8.tgz#1df62c6c64c34c335e34d3ba8cefc3fc72dcceba"
262-
integrity sha512-R0ex3+3DNXuVm6eZz7t8pXowYkfOH3SU7WsdIeUVvV8I1KLsv3nJqA6ZcrYbyeW68ULho4gWjbkLeiLee88idQ==
259+
"@mikro-orm/core@^5.6.11", "@mikro-orm/core@~5.6.11":
260+
version "5.6.11"
261+
resolved "https://registry.yarnpkg.com/@mikro-orm/core/-/core-5.6.11.tgz#934c9003fc44beb486e71681d537b3333675d375"
262+
integrity sha512-aJZSoEOoKsKtgVrBnxCnb+Q5jxkGbjtm+zC5UH3z5v5uqGgjPjkL0bRkoH5gAENDBcDYB1ujABRXz9jkiAritA==
263263
dependencies:
264264
acorn-loose "8.3.0"
265265
acorn-walk "8.2.0"
266266
dotenv "16.0.3"
267267
fs-extra "11.1.0"
268268
globby "11.1.0"
269-
mikro-orm "~5.6.8"
269+
mikro-orm "~5.6.11"
270270
reflect-metadata "0.1.13"
271271

272-
"@mikro-orm/knex@~5.6.8":
273-
version "5.6.8"
274-
resolved "https://registry.yarnpkg.com/@mikro-orm/knex/-/knex-5.6.8.tgz#561c142057a17ea73f538ef088671d4bfe038d9a"
275-
integrity sha512-u9hScJ2pcWEDmh+Hj06Skny1gpmMjbcxJXvUZRkZW46P89juFLTS6xiR+ZqhhH61KVXM69Ua8ttWw08HVLoCKw==
272+
"@mikro-orm/knex@~5.6.11":
273+
version "5.6.11"
274+
resolved "https://registry.yarnpkg.com/@mikro-orm/knex/-/knex-5.6.11.tgz#9b6690db96da6053f9766777798fa76eff47119d"
275+
integrity sha512-cJNLlqpsLfK2205qgd7x3onP0WMgxZOtsk315IJY4w/sYC7i6y9hy8/tP2Vc8hHv6NqooBMuB9qzQzqPN+UgtA==
276276
dependencies:
277277
fs-extra "11.1.0"
278278
knex "2.4.2"
279279
sqlstring "2.3.3"
280280

281-
"@mikro-orm/migrations@^5.6.8":
282-
version "5.6.8"
283-
resolved "https://registry.yarnpkg.com/@mikro-orm/migrations/-/migrations-5.6.8.tgz#7be1700efcc051088042838cb2cef9b057ff400d"
284-
integrity sha512-7KlbinxGhX91aNphUITCVbHfwc6zF5Sd/hafi0bx9bqNUMycfmZN5dLPqvIPDFnibBo17tgRca+CtuoQ8OXqdw==
281+
"@mikro-orm/migrations@^5.6.11":
282+
version "5.6.11"
283+
resolved "https://registry.yarnpkg.com/@mikro-orm/migrations/-/migrations-5.6.11.tgz#b2f2852b69a9a33141ecdba09873ec01288dccce"
284+
integrity sha512-UMQevaDmBh4kadRlu+SdlK//G5znVe4O0xq+/dDsp9bu0l0IkDhBvD8JColkmq8pM5YgMEUnCNdLcvCA7eAWEw==
285285
dependencies:
286-
"@mikro-orm/knex" "~5.6.8"
286+
"@mikro-orm/knex" "~5.6.11"
287287
fs-extra "11.1.0"
288288
knex "2.4.2"
289289
umzug "3.2.1"
290290

291-
"@mikro-orm/mysql@^5.6.8":
292-
version "5.6.8"
293-
resolved "https://registry.yarnpkg.com/@mikro-orm/mysql/-/mysql-5.6.8.tgz#7fc301088454f20f932e7664cc45a363a66af708"
294-
integrity sha512-238Y/nJzKUI1fbbvEjXxod31UjLkgrdAQXH8dx5z7kzfjZyuI399x+A5D1s9XtPvISxtkmPuFXeZ3OyrT4+VIQ==
291+
"@mikro-orm/mysql@^5.6.11":
292+
version "5.6.11"
293+
resolved "https://registry.yarnpkg.com/@mikro-orm/mysql/-/mysql-5.6.11.tgz#b7f70a5bec43c8e2f7a51a96069e504548a89482"
294+
integrity sha512-0J1WPSSOGIbhWQq9xdhdC6504rIAaq+XQx9lUOXZkf5TjmBZGs9v4rTy4zR1LK/3wGWp9iLo7Ezv+BKmCuBNSw==
295295
dependencies:
296-
"@mikro-orm/knex" "~5.6.8"
296+
"@mikro-orm/knex" "~5.6.11"
297297
mysql2 "2.3.3"
298298

299-
"@mikro-orm/reflection@^5.6.8":
300-
version "5.6.8"
301-
resolved "https://registry.yarnpkg.com/@mikro-orm/reflection/-/reflection-5.6.8.tgz#0c9dade844da3099d34996d41fa34b552fc1e5b5"
302-
integrity sha512-xTT/o/PVR7cQntDwbM7utgF/CZY5GtZ6mr5lPQvUEXrdB5b1uyYyLaYNYclkyBupig0BGbgJQ2VO2NvTUNYliQ==
299+
"@mikro-orm/reflection@^5.6.11":
300+
version "5.6.11"
301+
resolved "https://registry.yarnpkg.com/@mikro-orm/reflection/-/reflection-5.6.11.tgz#c3fb79c5052255af2c4fd88e1388e77e16b298bb"
302+
integrity sha512-wIt8CjK/XDgxAnQ8RvR/98JYgdyE0yd2S8OiKZyge8rBD7Yh6LjidWj0fVvjVaXqbWpdkJ6FXdRqHiQAxVW0NA==
303303
dependencies:
304304
globby "11.1.0"
305305
ts-morph "17.0.1"
@@ -814,13 +814,13 @@
814814
"@vitest/utils" "0.28.1"
815815
chai "^4.3.7"
816816

817-
"@vitest/expect@0.28.3":
818-
version "0.28.3"
819-
resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.28.3.tgz#8cd570b662e709f56ba29835879890c87429a194"
820-
integrity sha512-dnxllhfln88DOvpAK1fuI7/xHwRgTgR4wdxHldPaoTaBu6Rh9zK5b//v/cjTkhOfNP/AJ8evbNO8H7c3biwd1g==
817+
"@vitest/expect@0.28.5":
818+
version "0.28.5"
819+
resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.28.5.tgz#d5a6eccd014e9ad66fe87a20d16426a2815c0e8a"
820+
integrity sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==
821821
dependencies:
822-
"@vitest/spy" "0.28.3"
823-
"@vitest/utils" "0.28.3"
822+
"@vitest/spy" "0.28.5"
823+
"@vitest/utils" "0.28.5"
824824
chai "^4.3.7"
825825

826826
"@vitest/runner@0.28.1":
@@ -832,12 +832,12 @@
832832
p-limit "^4.0.0"
833833
pathe "^1.1.0"
834834

835-
"@vitest/runner@0.28.3":
836-
version "0.28.3"
837-
resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.28.3.tgz#a59bc7a1457957291b6bf1964831284768168314"
838-
integrity sha512-P0qYbATaemy1midOLkw7qf8jraJszCoEvjQOSlseiXZyEDaZTZ50J+lolz2hWiWv6RwDu1iNseL9XLsG0Jm2KQ==
835+
"@vitest/runner@0.28.5":
836+
version "0.28.5"
837+
resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.28.5.tgz#4a18fe0e40b25569763f9f1f64b799d1629b3026"
838+
integrity sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==
839839
dependencies:
840-
"@vitest/utils" "0.28.3"
840+
"@vitest/utils" "0.28.5"
841841
p-limit "^4.0.0"
842842
pathe "^1.1.0"
843843

@@ -848,10 +848,10 @@
848848
dependencies:
849849
tinyspy "^1.0.2"
850850

851-
"@vitest/spy@0.28.3":
852-
version "0.28.3"
853-
resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.28.3.tgz#6f6f7ecdeefecb023a96e69b6083e0314ea6f04c"
854-
integrity sha512-jULA6suS6CCr9VZfr7/9x97pZ0hC55prnUNHNrg5/q16ARBY38RsjsfhuUXt6QOwvIN3BhSS0QqPzyh5Di8g6w==
851+
"@vitest/spy@0.28.5":
852+
version "0.28.5"
853+
resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.28.5.tgz#b69affa0786200251b9e5aac5c58bbfb1b3273c9"
854+
integrity sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==
855855
dependencies:
856856
tinyspy "^1.0.2"
857857

@@ -866,10 +866,10 @@
866866
picocolors "^1.0.0"
867867
pretty-format "^27.5.1"
868868

869-
"@vitest/utils@0.28.3":
870-
version "0.28.3"
871-
resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.28.3.tgz#75c076d4fdde5c48ee5de2808c83d615fc74d4ef"
872-
integrity sha512-YHiQEHQqXyIbhDqETOJUKx9/psybF7SFFVCNfOvap0FvyUqbzTSDCa3S5lL4C0CLXkwVZttz9xknDoyHMguFRQ==
869+
"@vitest/utils@0.28.5":
870+
version "0.28.5"
871+
resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.28.5.tgz#7b82b528df86adfbd4a1f6a3b72c39790e81de0d"
872+
integrity sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==
873873
dependencies:
874874
cli-truncate "^3.1.0"
875875
diff "^5.1.0"
@@ -3044,10 +3044,10 @@ micromatch@^4.0.4, micromatch@^4.0.5:
30443044
braces "^3.0.2"
30453045
picomatch "^2.3.1"
30463046

3047-
mikro-orm@~5.6.8:
3048-
version "5.6.8"
3049-
resolved "https://registry.yarnpkg.com/mikro-orm/-/mikro-orm-5.6.8.tgz#4eb30b8d041a4bc8200050e6c92d14b869faa719"
3050-
integrity sha512-2dbCjQuj4HQBKtKWAS+bky7M5eallUBYu5FTXGs5QA707SEaAMLW9bEGJ3Iwygv/+9uWmeq7UBWfdlWoVqhmZQ==
3047+
mikro-orm@~5.6.11:
3048+
version "5.6.11"
3049+
resolved "https://registry.yarnpkg.com/mikro-orm/-/mikro-orm-5.6.11.tgz#3b536e8b1d7f5b9d1d640b4276e9dfcaa869b8c6"
3050+
integrity sha512-hosYoE56IVf10818VqKgIihGmmCeWa8PPchtsZyDhl84KjVpjt4j47ChG1+lhYYQNqLc0X0tIf4JiQ6KAGo5Ng==
30513051

30523052
mime-db@1.52.0:
30533053
version "1.52.0"
@@ -4383,10 +4383,10 @@ vite-node@0.28.1:
43834383
source-map-support "^0.5.21"
43844384
vite "^3.0.0 || ^4.0.0"
43854385

4386-
vite-node@0.28.3:
4387-
version "0.28.3"
4388-
resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.28.3.tgz#5d693c237d5467f167f81d158a56d3408fea899c"
4389-
integrity sha512-uJJAOkgVwdfCX8PUQhqLyDOpkBS5+j+FdbsXoPVPDlvVjRkb/W/mLYQPSL6J+t8R0UV8tJSe8c9VyxVQNsDSyg==
4386+
vite-node@0.28.5:
4387+
version "0.28.5"
4388+
resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.28.5.tgz#56d0f78846ea40fddf2e28390899df52a4738006"
4389+
integrity sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==
43904390
dependencies:
43914391
cac "^6.7.14"
43924392
debug "^4.3.4"
@@ -4439,18 +4439,18 @@ vitest@0.28.1:
44394439
vite-node "0.28.1"
44404440
why-is-node-running "^2.2.2"
44414441

4442-
vitest@^0.28.0:
4443-
version "0.28.3"
4444-
resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.28.3.tgz#58322a5ae64854d4cdb75451817b9fb795f9102e"
4445-
integrity sha512-N41VPNf3VGJlWQizGvl1P5MGyv3ZZA2Zvh+2V8L6tYBAAuqqDK4zExunT1Cdb6dGfZ4gr+IMrnG8d4Z6j9ctPw==
4442+
vitest@^0.28.5:
4443+
version "0.28.5"
4444+
resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.28.5.tgz#94410a8924cd7189e4f1adffa8c5cde809cbf2f9"
4445+
integrity sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==
44464446
dependencies:
44474447
"@types/chai" "^4.3.4"
44484448
"@types/chai-subset" "^1.3.3"
44494449
"@types/node" "*"
4450-
"@vitest/expect" "0.28.3"
4451-
"@vitest/runner" "0.28.3"
4452-
"@vitest/spy" "0.28.3"
4453-
"@vitest/utils" "0.28.3"
4450+
"@vitest/expect" "0.28.5"
4451+
"@vitest/runner" "0.28.5"
4452+
"@vitest/spy" "0.28.5"
4453+
"@vitest/utils" "0.28.5"
44544454
acorn "^8.8.1"
44554455
acorn-walk "^8.2.0"
44564456
cac "^6.7.14"
@@ -4466,7 +4466,7 @@ vitest@^0.28.0:
44664466
tinypool "^0.3.1"
44674467
tinyspy "^1.0.2"
44684468
vite "^3.0.0 || ^4.0.0"
4469-
vite-node "0.28.3"
4469+
vite-node "0.28.5"
44704470
why-is-node-running "^2.2.2"
44714471

44724472
wcwidth@^1.0.1:

0 commit comments

Comments
 (0)