You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Bring in new database changes for extra player stats.
* Fix Dockerfile to avoid potential COPY errors.
* Begin refactor for extra stats as playerstats is too large of a file.
* Update DB layout.
Begin extra stats documentation.
* Include new extra stats route and non-live gets.
* Finish CRUD operations. Move onto new API implementation for OnPlayerDeath?
* Bring in initial start of call for plugin.
Update database to use actual steam IDs and whatnot.
* Implement additional stat carry over. Needs to be tested.
* Include typescript generation for v2 api.
Remove extra player stats from legacy api since they were not finished.
Update serverrcon.js
- Breakout packet handling to its own function.
- Check version for 0.14 or higher. TBD if we can use 0.13.
- Set log and backup URLs and keys to use API keys.
- Fix formatting
Update prodrun to point to dist for compiled js.
* Update deps and include types from docs.
* Massive refactor of code to follow a better folder structure.
Everything mainly in src now, types in types, services (like db and various service calls to database) in services, etc.
Bring in start of finding API key and match id. These will be checked before being sent off to different cases.
* Continue on rewiring tests.
* Tests working, application not.
* Tests passing and app launching!
* OnSeriesResult implemented.
Removed OnSeriesInit as it is not needed.
Forfeits are not implemented, but may not be needed right now, can check on round end instead and update as needed.
* Fix up some comments.
Finish map and series finishing.
Start on pick/ban updates.
* Bring in team ID in the match configs since it's supported.
Update mapupdate to not use team ids from database.
Update various TS calls to user lowercase identifiers.
* Veto updates and side selection complete.
* Properly tag releases on push with version number as well.
* Finish series flow service.
Adjust imports on map flow service.
Update api.ts to include new cases for the series flow.
* OnGoingLive implemented.
* Update the player stat extras table.
Include OnPlayerDeath and OnMatchPaused and OnMatchUnpaused.
Update serverrcon to include demo, logs, and backups.
Update match creation to get version number if we select a server.
* Include bomb plant and defuse events from game server to API calls.
Since these are game specific, we will not create public API calls for this.
* Finish map and series flows.
Update github actions to deploy next and version tag.
Begin work on demo uploads.
* Change docker tags to use latest and next for now.
* Docker debugging.
Update package json version.
* Add in demo API.
Update leaderboard swagger to add success option.
Consider moving components to their own JS files for easier typing and location.
* Bring in remote backup API calls.
* Update JSDocs.
Include more docs for the MapFlowService.
* Fix error with incomplete packets call.
* Fix server rcon values not being respected in strings.
Fix match registering version numbers for get5.
* Delete match from database if we fail to load on the server.
This should fix the bug of multiple matches being generated with the same server.
Only update game server if the server is alive and available as well.
* Update README.md
* Update workflow to push next on any branch but version only on final release.
Update README.
Copy file name to clipboardexpand all lines: README.md
+11-4
Original file line number
Diff line number
Diff line change
@@ -21,11 +21,18 @@ G5API is an API that will allow users to create, manage, and control Counter-Str
21
21
22
22
This API is complete enough to provide the most functionality out of [get5](https://github.com/splewis/get5).
23
23
24
-
For the plugin [G5WS](https://github.com/PhlexPlexico/G5WS), the routes currently put into place located in the `./routes/legacy/` and still point to `/match/` on this app.
24
+
<detailsclosed>
25
+
<summary><b>Note:</b> While available for backwards compatibility, it is recommended you use the <i>latest</i> version of get5, as you will no longer need an additional plugin for enhanced reporting. The only extension needed is SteamWorks. </summary>
26
+
<br>
27
+
28
+
29
+
For the plugin [G5WS](https://github.com/PhlexPlexico/G5WS"), the routes currently put into place located in the `./src/routes/legacy/` and still point to `/match/` on this app.
30
+
</details>
25
31
26
-
Game server interaction will still take place under the `/matches/:match_id` directive, but the logic can be found under `./matches/matchserver.js`.
27
32
28
-
The webapi plugin for this can be downloaded from [here](https://github.com/PhlexPlexico/G5WS) to include the use of vetoes being recorded, as well as demoes being uploaded to the API server once the match is complete.
33
+
If you are using get5 0.14 or later, the G5WS plugin is **not** needed, and should be removed or disabled from your game server to avoid any conflicting actions. The new routes are located in `./src/routes/v2`, and the main logic can be found in their respective services under `./src/services`
34
+
35
+
Game server interaction will still take place under the `/matches/:match_id` directive, but the logic can be found under `./matches/matchserver.js`.
29
36
30
37
There is also Challonge integration within the API. If a user provides a tournament ID to create a season, it will auto-fill a season start date, empty teams, and will auto-update the brackets at the end of each match if the match exists under the Season/Tournament.
31
38
@@ -108,7 +115,7 @@ For more details on these variables, follow along with production.json.template
108
115
### Docs:
109
116
```yarn doc```
110
117
111
-
This will generate all the API information that I've created in the app, in the hopes of making it more readable and easier to pickup for anyone who wants to try more implementation, or even creating a front-end for this API. Swagger Express is also included, which can be accessed from `/api-docs` on application launch. This will house all the API calls, where JSDocs will show all the internal function calls in this application.
118
+
This will generate all the API information that I've created in the app, in the hopes of making it more readable and easier to pickup for anyone who wants to try implementing more actions, or even creating a front-end for this API. Swagger Express is also included, which can be accessed from `/api-docs` on application launch. This will house all the API calls, where JSDocs will show all the internal function calls in this application. All TypeScript functions will be shown in the JSDocs.
112
119
113
120
### Coverage Tests
114
121
Steam OAuth will be mocked in order to check if a user is "logged in", and create a temporary database (`get5test`) that will insert new values, and check various features of routes. If you wish to alter the "user" it authenticates as, you can edit `utility/mockProfile.js` to the values you prefer.
// For a detailed explanation regarding each configuration property, visit:
2
3
// https://jestjs.io/docs/en/configuration.html
3
4
process.env.NODE_ENV="test";
4
5
module.exports={
6
+
preset: 'ts-jest/presets/js-with-ts-esm',
7
+
// A path to a custom resolver
8
+
resolver: "jest-ts-webcompat-resolver",
5
9
// All imported modules in your tests should be mocked automatically
6
10
// automock: false,
7
11
@@ -58,7 +62,9 @@ module.exports = {
58
62
globalTeardown: "./test-teardown-globals.cjs",
59
63
60
64
// A set of global variables that need to be available in all test environments
61
-
// globals: {},
65
+
// globals: {
66
+
// extensionsToTreatAsEsm: ['.ts', '.js']
67
+
// },
62
68
63
69
// The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
64
70
// maxWorkers: "50%",
@@ -71,11 +77,14 @@ module.exports = {
71
77
// An array of file extensions your modules use
72
78
moduleFileExtensions: [
73
79
"js",
74
-
"cjs"
80
+
"cjs",
81
+
"ts"
75
82
],
76
83
77
84
// A map from regular expressions to module names that allow to stub out resources with a single module
78
-
// moduleNameMapper: {},
85
+
moduleNameMapper: {
86
+
87
+
},
79
88
80
89
// An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
81
90
// modulePathIgnorePatterns: [],
@@ -101,8 +110,6 @@ module.exports = {
101
110
// Reset the module registry before running each individual test
102
111
// resetModules: false,
103
112
104
-
// A path to a custom resolver
105
-
// resolver: undefined,
106
113
107
114
// Automatically restore mock state between every test
108
115
// restoreMocks: false,
@@ -162,7 +169,11 @@ module.exports = {
162
169
// timers: "real",
163
170
164
171
// A map from regular expressions to paths to transformers
0 commit comments