Commit graph

526 commits

Author SHA1 Message Date
Miodec
5b0f170b10 converted to ts 2022-03-04 00:20:29 +01:00
Miodec
6370f6a624 moved is test too short check to validation 2022-03-04 00:10:49 +01:00
Miodec
9962edd020 added result types 2022-03-04 00:10:35 +01:00
Miodec
9de4019b80 reducing nesting 2022-03-04 00:09:31 +01:00
Miodec
16bb753601 reduced user db calls 2022-03-03 23:25:30 +01:00
Miodec
6752b6086a optimising promises, reduced await use 2022-03-03 23:24:19 +01:00
Bruce Berrios
374a2089c3
Rename handlers to utils (#2620) 2022-03-03 16:31:57 -05:00
Bruce Berrios
0429c560ee
Migrate users controller (#2618)
* Migrate users controller + other things

* Undo import rename

* Fix return type

* Change status code

* Fix spacing
2022-03-03 14:50:06 -05:00
Miodec
2d4df4edf3 using collation for name checking 2022-03-03 20:41:03 +01:00
Miodec
042d9dd9a2 actually fixed name check 2022-03-03 19:24:09 +01:00
Miodec
6f235a2479 fixed name checking regex 2022-03-03 19:06:23 +01:00
Miodec
70d0639fc7 added regex escaping function 2022-03-03 19:06:06 +01:00
Jack
226de70e36
Added monkey status codes (#2613)
* test code

* added some monkey status codes

* adding status message to response

* added more codes

* using all new codes
2022-03-02 02:14:32 +01:00
Bruce Berrios
d792844473
Add ape key authentication (#2610)
* Add ape key authentication

* Move ape key config to server config

* Remove full stops

* Fix
2022-03-01 17:43:22 -05:00
Bruce Berrios
3017f8808d
Fix errors (#2609) 2022-03-01 17:21:06 +01:00
Bruce Berrios
2f70d1ab8a
Add ApeKeys CRUD (#2606)
* Add ApeKeys CRUD

* Fix

* Omit ape key data

* Encode id + key
2022-03-01 11:11:01 -05:00
Miodec
5adb03a360 updated result schema once more 2022-03-01 00:33:32 +01:00
Miodec
55f60d0788 updated result custom text schema 2022-03-01 00:30:27 +01:00
Miodec
c448769401 temporary/initial solution to seeing response message in swagger stats 2022-02-28 22:58:28 +01:00
Miodec
258fd433b5 added user routes
part of #2605
2022-02-28 21:17:37 +01:00
Miodec
97d87554e4 increased apdex threshold 2022-02-28 20:24:06 +01:00
Miodec
6d58497422 added temporary route to notify users of outdated website 2022-02-28 20:14:20 +01:00
Jack
c91dd52f88
Partial config save (#2604)
* saving key by key instead to support partial config

* using new savefullconfig funciton

* moved default config to its own file

* using full config update function

* merging potentially partial config from the db with default config

* added partial saving
moved default config to another file

* refactored with lodash

* removed unnecessary json parse

* changed parameter types
2022-02-28 19:53:55 +01:00
Miodec
2c05a1ccc1 added basic swagger spec
part of #2605
2022-02-28 19:53:07 +01:00
Bruce Berrios
999e8636e1
Remove pii (#2602)
* Remove JWT tokens and ip addresses from records

* Use save exact

* Fix

* Fix

* Rename

* Downgrade status code

* Check if dev

* Make server stats still accessible in maintenance

Co-authored-by: Jack <jack@monkeytype.com>
2022-02-28 15:13:59 +01:00
Miodec
053ca05d00 removed duplicate validation 2022-02-28 12:44:46 +01:00
Bruce Berrios
182d0b6b22
Add ape keys routing and configuration (#2599)
* Add ape keys routing and configuration

* Fix

* Add 404 route
2022-02-28 12:37:05 +01:00
Miodec
d958b2b48a we good 2022-02-28 00:49:11 +01:00
Miodec
b0c2e3e024 added prom client 2022-02-28 00:39:44 +01:00
Miodec
e3840d63c9 PICNIC 2022-02-28 00:21:35 +01:00
Miodec
962eeeec45 back to testing 2022-02-28 00:14:07 +01:00
Miodec
c71c8a3054 PICNIC 2022-02-28 00:10:46 +01:00
Miodec
c3b517cf10 added stats package 2022-02-28 00:06:12 +01:00
Bruce Berrios
bbc8c837df
Move quote moderation logic to quotes (#2590)
* Move quote moderation logic to quotes

* Add note

* Fix issue
2022-02-27 18:37:51 +01:00
Ferotiq
34ac755630
Add dynamic keymap legend style (#2592) by Ferotiq
* Add dynamic keymap legend style

* Speed

* make it work with all layouts

* Fix bug

* Update layout-emulator.js

* Update layout-emulator.js

* mac fix

* we didn't need layout state

* make quote show up

* remove some

* Rename

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-02-27 01:11:52 +01:00
Miodec
0390fa8319 converted to ts 2022-02-26 22:59:22 +01:00
Miodec
160f2b830f converted to ts 2022-02-26 22:54:16 +01:00
Bruce Berrios
6b1e9efe73
Fix quote ratings (#2586) by Bruception
* Fix quote ratings

* Reorder logic

* Update message

* Fix consistency
2022-02-25 19:22:44 +01:00
Bruce Berrios
4daf76e7d9
Migrate config client to ts (#2588) by Bruception 2022-02-25 19:20:38 +01:00
Bruce Berrios
8b23cdd7dc
Migrate some controller files (#2584)
* Migrate some controller files

* Rename variable
2022-02-24 13:14:33 +01:00
Bruce Berrios
7a1596d562
Migrate routes (#2582) 2022-02-23 22:44:49 -06:00
Bruce Berrios
8c5b88ef5d
Migrate files to ts (#2581) 2022-02-23 22:17:17 -06:00
Ferotiq
8620b45ea7
fix some backend errors (#2580) 2022-02-23 21:54:38 -06:00
Bruce Berrios
8dbf0966d1
Upgrade mongo library to 4.x.x (#2576) 2022-02-23 14:23:54 -05:00
Miodec
efea8afab2 logging database name 2022-02-23 18:40:14 +01:00
Bruce Berrios
1ba7a76b86
Migrate middlewares to TypeScript (#2574)
* Migrate middlewares

* Update workflow

* Fix ignore

* Fix

* Fix

* Remove babel loader from root dependencies

* Remove mongoDb
2022-02-23 10:03:38 -05:00
Miodec
c71baadc9b commented out worker file to avoid it producing errors and warnings 2022-02-23 13:24:53 +01:00
Miodec
f00bc98db8 moved database down message to the top of the if stack 2022-02-23 13:07:18 +01:00
Miodec
ad250d7f5c Merge branch 'master' of https://github.com/Miodec/monkeytype 2022-02-22 23:39:25 +01:00
Miodec
80f822c76a removed unnecessary types 2022-02-22 23:39:21 +01:00
Bruce Berrios
61f16584c9
Action anti cheat step (#2570)
* Add anti-cheat check

* Add anti-cheat step

* Test

* Revert

* .

* Fix
2022-02-22 23:02:37 +01:00
Miodec
91657fd53f reenabled helmet 2022-02-22 23:00:27 +01:00
Miodec
e18da7da87 added log message
using implemented checking function
2022-02-22 22:58:00 +01:00
Miodec
8c3c6d004d added anticheat stub 2022-02-22 22:50:47 +01:00
Miodec
96323f2af5 new anticheat import 2022-02-22 22:41:01 +01:00
Miodec
9b7b0e257e disabled helmet middleware 2022-02-22 21:03:50 +01:00
Bruce Berrios
f9d6f52c15
Api overhaul (#2555) by Bruception
* Feat:Update response structure (#2427)

* Fix:response and error structure

* update:response message

* update:response class

* update

* Update response message

Co-authored-by: Mustafiz Kaifee Mumtaz <mustafiz.mumtaz@freecharge.com>

* Add MonkeyToken foundation (#2487) by Bruception

* Api changes (#2492)

* API changes

* Remove unused import

* Add Ape client (#2513)

* Add all endpoints (#2514)

* Merged backend typescript into api overhaul (#2515)

* Install typescript and add backend tsconfig

Cannot yet build due to a number of compilation errors in JS code

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Fix typescript compilation errors

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Migrated backend to ES modules

Switched to import export syntax

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add typescript declaration for anticheat

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Rename top level files to .ts

Fix service account json file typing

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add dev build scripts for backend typescript

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Removed empty lines and switched to using db

Cleaned up imports by removing needless empty lines and migrated to the new db.js instead of mongodb.js.

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Fixed backend commonjs syntax to ES module syntax

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Add build to backend start script

Signed-off-by: Brian Evans <ebrian101@gmail.com>

* Migrate some endpoints to Ape

* Strict equals

* Remove artifact

* ape -> Ape

* Ape migration p2 (#2522)

* Migrate leaderboard endpoints to ape

* Fixed comment

* Init backend types

* Fail

* Return

* Migrate Quotes to Ape (#2528)

* Migrate quotes to Ape

* Fix backend response

* Fix issue

* Fix rate limit (#2533)

* fix rate limit

* Fix import

* Fix issues

* Ape migration p4 (#2547)

* Migrate results endpoints to ape

* Remove unused import

* Remove unused import

* Fix loaders

* Make function async

* Hide try saving results

* Migrate some users endpoints to Ape (#2548)

* Complete Ape Migration (#2553)

* Complete ape migration

* Fix preset

* Return preset data

* Add typings

* Move captcha reset

* Read from params

* Fix result tags endpoint

* Fix stuck loader

* fixed lb memory not saving

* fixed quote rating popup not showing up for new users

Co-authored-by: Mustafiz Kaifee <49086821+Mustafiz04@users.noreply.github.com>
Co-authored-by: Mustafiz Kaifee Mumtaz <mustafiz.mumtaz@freecharge.com>
Co-authored-by: Brian Evans <53117772+mrbrianevans@users.noreply.github.com>
Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-02-22 20:55:48 +01:00
Miodec
6cf1f06d0d temporairly accepting both strings and numbers 2022-02-21 13:56:25 +01:00
Octahedron
a0f911961f
added "show average" setting (#2551) by octahedronv2
* added "show average" setting

hopefully this doesn't break everything :)

* Delete config-schema.js

* Delete commandline-lists.ts

* Delete config.ts

* Delete db.ts

* Delete index.html

* Delete modes-notice.ts

* Delete settings.ts

* Delete types.d.ts

* added show average setting

* changed the capitalization of ONE character

* Rounded the wpm calculation when mode is PB or AVG

* Only display average if user is logged in

* Only display average if wpm > 0

and by extension, only when the user is logged in.

* changed look of average display

Co-authored-by: Jack <jack@monkeytype.com>
2022-02-21 02:49:33 +01:00
Ferotiq
4ea967d677
Add Config Validation to Every Config Value (#2542)
* add what I got so far

* add validation for the rest of the config settings

* some changes

* fix font size, tested all config settings

* add arrow function back

* change font size type

* change font size type

* Revert "change font size type"

This reverts commit fc6f0e78a4.

* merge
2022-02-20 19:30:15 +01:00
Miodec
775fe34851 added auto switch theme
allows auto switching between light and dark theme based on system theme
closes #2088 and #1629
2022-02-20 17:07:02 +01:00
Jack
f8727b5c68
Action only installs node and dependencies when a changed file passes the filters 2022-02-18 20:23:58 +01:00
Ferotiq
dcbdca0990
Some fixes (#2478)
* Some fixes

* Add dep-graph script, fix keyboard icon not restarting test

* remove my keyboard icon fix, force ===

* Revert "remove my keyboard icon fix, force ==="

This reverts commit 481316a7da.

* revert page fix

* fix mio's smooth brain
2022-02-12 16:53:00 +01:00
Miodec
b3f85e830d removed requirement 2022-02-12 15:57:11 +01:00
Miodec
6684155cef added kogasa function 2022-02-09 19:19:10 +01:00
Miodec
351cc2bcb2 added indicate typos: replace,
added indicate typos: below,
removed indicate typos: on
closes #2444
2022-02-09 19:18:54 +01:00
Miodec
c7a200b476 checking if token wasnt revoked
added error if token was revoked
fixed token errors
2022-02-09 14:18:49 +01:00
Bruce Berrios
c8af14baab
Fix PR check action (#2447)
* fix

* Install all dependencies

* Fix PR check action

* Fix lint

* Update install.sh and remove pretty check
2022-02-08 22:17:26 +01:00
Bruce Berrios
ccafcee72d
Oops (#2446)
* fix

* Install all dependencies
2022-02-08 21:41:59 +01:00
Bruce Berrios
f4a9147308
Setup PR check action (#2445) by Bruception 2022-02-08 21:27:14 +01:00
Bruce Berrios
345740db5f
Separate backend and frontend dependencies (#2441) by Bruception
* Add request validation to user endpoints

* Remove tag id log

* Remove verbs from endpoints

* Remove old code

* Remove uid

* Fix

* Remove name from URI

* Rename utils

* Fix

* Move prettier

* Update gulp file

* Add additional scripts

* Update package-lock

* Update contributing.md

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-02-08 20:33:41 +01:00
Bruce Berrios
76bcc4bd56
Add request validation to user endpoints (#2423) by Bruception
* Add request validation to user endpoints

* Remove tag id log

* Remove verbs from endpoints

* Remove old code

* Remove uid

* Fix

* Remove name from URI

* Rename utils

* Fix
2022-02-07 20:22:39 +01:00
Miodec
68e7c6ff63 Revert "overriding rules in backend"
This reverts commit 50b75c78862cfba0f83f319034dd736ff8ba1132.
2022-02-07 18:47:24 +01:00
Miodec
61cdf4d1a9 overriding rules in backend 2022-02-07 18:47:24 +01:00
Miodec
79c5b432fc moved eslint to root directory
using file eslint config
keeping folder structure when moving to dist/gen
updated some imports
2022-02-07 18:47:24 +01:00
Miodec
22c0f58cd8 min wpm increase 2022-02-06 13:54:03 +01:00
Bruce Berrios
bbcbc687ae
Add results schema validation (#2417) by Bruception 2022-02-06 13:33:15 +01:00
Miodec
a3fef55be4 not comparing if hash is not 64 in length 2022-02-04 21:29:37 +01:00
Bruce Berrios
957b4cf1a8
Endpoint schemas/Improved Auth Middleware (#2411) by Bruception
* Lots of stuff

* Changed code order

* Change message

* Use strict comparison

* Fix Bearer auth

* changed failed validation message

* removed full stops

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-02-04 21:18:22 +01:00
Miodec
61f39b64b9 handling one possible exception 2022-02-04 13:06:09 +01:00
Miodec
059630c606 added report reason 2022-02-04 12:51:38 +01:00
Miodec
69da49d71a allowing shorthand hex 2022-02-04 12:28:31 +01:00
Miodec
b4288d9bd2 user tags not required when loading user 2022-02-03 23:18:30 +01:00
Miodec
0ef370ca80 added name to stack 2022-02-03 22:54:01 +01:00
Miodec
a30b0b6295 added stack to log 2022-02-03 22:51:12 +01:00
Miodec
5c04dff242 added message to stack 2022-02-03 22:47:42 +01:00
Miodec
f1c60b93c1 typo 2022-02-03 22:42:46 +01:00
Miodec
89c86ecd95 showing value 2022-02-03 22:39:49 +01:00
Miodec
b0c9362735 stringify 2022-02-03 22:24:31 +01:00
Miodec
1aab7ab39f added more info 2022-02-03 22:21:32 +01:00
Miodec
0ce23c0041 changed to let 2022-02-03 22:06:38 +01:00
Miodec
a016d66474 throw instead of next 2022-02-03 22:01:31 +01:00
Miodec
2fdf28fcf3 updated status code 2022-02-03 21:59:02 +01:00
Miodec
601e5f522b typo 2022-02-03 21:56:41 +01:00
Bruce Berrios
83f1253f42
Add config schema (#2401) by Bruception
* Add config schema

* Change schema

* Fix custom validator

* Relax schema

* add result filters schema

* Remove result filters

* Fix quoteLength schema
2022-02-03 20:26:34 +01:00
Miodec
60d35a2a45 typo 2022-02-02 23:14:30 +01:00
Bruce Berrios
5beb1bf619
Update Configuration to handle arrays/ Add new db client (#2395)
* Update Configuration to handle arrays

* Add new db client

* Add comment
2022-02-02 19:26:43 +01:00
Miodec
5074cc733c typo 2022-02-01 21:33:48 +01:00
Miodec
169d6ebfb3 removed keys length check 2022-02-01 21:32:57 +01:00
Miodec
bccc4f24fc added a check to only update the database configuration once 2022-02-01 21:01:24 +01:00