Commit graph

643 commits

Author SHA1 Message Date
Malo Hamon
b55419dfc0
Custom Filters [Backend] (#3105) (#3110)
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters

* Added Add and Remove functions for `ResultFilters` in user DAL

Also added unit tests

* Added Custom Filter configuration

Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user

* Add and Remove functions for `ResultFilters` in user controller
2022-06-11 22:38:09 -04:00
Malo Hamon
ba843419a1
Custom Filters [Backend] (#3105)
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters

* Added Add and Remove functions for `ResultFilters` in user DAL

Also added unit tests

* Added Custom Filter configuration

Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user

* Add and Remove functions for `ResultFilters` in user controller
2022-06-11 20:32:06 -04:00
Miodec
957ea335c7 updated message 2022-06-09 21:43:00 +02:00
Bruce Berrios
603455d6eb
Add logic to handle fetching previous daily leaderboards (#3087)
* Add logic to handle fetching previous daily leaderboards

* Add basic select controls for time range

* Fix issue

* updated styling

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-09 21:04:10 +02:00
Bruce Berrios
270fa5dfbe
Fix lines stylinh (#3082) 2022-06-07 23:56:20 +02:00
Bruce Berrios
1260f13293
Add config for discord integration (#3081) Bruception 2022-06-07 23:41:37 +02:00
Bruce Berrios
b25ac99527
Add leaderboard avatars and badges (#3069) bruception
* Add leaderboard avatars and badges

* Add discord id

* badges -> badgeIds
2022-06-07 23:10:58 +02:00
Bruce Berrios
f2998b1d28
Add server configuration panel (#3070) bruception
* Add server configuration panel

* Remove unnecessaary check

* Remove break

* styling changes
showing when configuration was saved

* changing color based on response

* Remove comment

* Changes

* Add support for arrays

* Arbitrary nesting

* Add array item controls

* added button to quickly open the configuration panel

* removed excessive padding

* text inputs same height and style as checkboxes

* monkey stylng

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-07 14:06:15 +02:00
Miodec
48679e0cc2 returning discordid and avatar 2022-06-03 19:58:40 +02:00
Bruce Berrios
4dc6f1e791
Update discord avatar (#3068)
* Update avatar

* Remove linking notification

* fixed spacing

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-03 19:42:00 +02:00
Bruce Berrios
90b5d6bb8b
Add get avatar endpoint (#3060) bruception
* Add get avatar endpoint

* Change API

* Fix response message

* Fix udpate
2022-06-03 16:53:00 +02:00
Bruce Berrios
0bd0812416
Check redis status when getting client connection (#3065) 2022-06-03 14:01:03 +02:00
Bruce Berrios
defa9a3f55
Save discord avatar uri on link (#3059)
* Initial avatars

* Only store hash

* avatarHash -> discordAvatar
2022-06-01 15:36:22 -04:00
Miodec
71bba2581c logging auto ban event 2022-06-01 14:21:23 +02:00
Miodec
a17343636a updated rate limit 2022-05-31 20:30:41 +02:00
Miodec
dc7295f3f6 storing name history 2022-05-31 20:19:45 +02:00
Miodec
2e248f5ee8 fixed task args 2022-05-29 15:45:19 +02:00
Bruce Berrios
07b3053c5a
Add maintenance check for cron jobs (#3034) 2022-05-27 21:20:37 +02:00
Bruce Berrios
efbfffaa75
Fix daily leaderboard score (#3031)
* Fix daily leaderboard score

* Remove comment
2022-05-27 14:25:46 +02:00
Bruce Berrios
cd767bff1c
Use better score metric (#3030) 2022-05-27 02:21:23 +02:00
Bruce Berrios
5d45898893
check if user is banned (#3029) 2022-05-26 22:13:42 +02:00
Miodec
1d64387b92 logging daily lb update 2022-05-26 18:44:50 +02:00
Miodec
532db055b4 rate limit 2022-05-26 16:48:26 +02:00
Bruce Berrios
0ef52ed9da
Add daily leaderboards (#3023) bruception
* Setup daily leaderboards backend (#2987) bruception

* Setup daily leaderboards backend

* Add enabled checks

* Consistent naming

* Add initial unit tests

* Use more flexible daily leaderboard rule logic

* Fix seed rule

* Add LRU Cache + Rank Calculation

* Use native functions

* Optional daily leaderboard rank

* Proper status code for invalid lb mode

* Add result criteria check

* Make daily leaderboard cache size configurable

* Add Ape endpoint for daily leaderboard (#2997)

* support for switching to viewing daily lbs

* test

* buttons

* only checking daily if user has more than 2 hours typed

* updated structure

* setting rank if its undefined

* only when daily

* storing uid

* fixed media queries

* Daily leaderboards pagination (#3006)

* Pagination

* Remove with scores

* Add daily leaderboard rank (#3014) Bruception

* Add daily leaderboard rank

* Remove unused import

* Use object instead

* Add client logic

* Add limit checks

* Announce top daily leaderboard results (#3017)

* Add rank in daily leaderboard results (#3022)

* not showing lb memory and top % on daily

* Fix rank pagination

* Actual fix

* showing new rank

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-05-26 16:30:11 +02:00
Evan
66c912e817
use interfaces instead of types (#3002) ferotiq
* use interfaces instead of types

* Update custom-text.ts
2022-05-26 12:19:01 +02:00
Miodec
2e3db31a39 changed error condition 2022-05-24 00:31:51 +02:00
Miodec
b029d86460 added note about the package to the api docs. closes #2999 2022-05-23 21:19:54 +02:00
Miodec
42d984981a 2 hours minimum to be placed on the lb 2022-05-21 01:32:09 +02:00
Miodec
12b4b899a5 overriding name later 2022-05-21 01:18:09 +02:00
Miodec
7c711bc4c2 only getting accounts with more than an hour of typing 2022-05-21 01:15:15 +02:00
Miodec
632b7e4bf6 Merge branch 'master' of https://github.com/Miodec/monkeytype 2022-05-21 00:13:13 +02:00
Miodec
4710a70e0c overriding result name to be sure 2022-05-21 00:12:50 +02:00
Bruce Berrios
294ff4c95a
Remove uid from last result (#2998) 2022-05-19 20:44:24 +02:00
Bruce Berrios
1384e9f81d
Add pretty check (#2990) bruception
* Add pretty check

* test

* test

* Add pretty check

* Add condition check

* Enforce style on code changes

* Update scripts

* Any src
2022-05-19 11:31:18 +02:00
Jack
46e0c5c960
Auto ban (#2984)
* added auto ban if user triggers anticheat too much

* updated base configuration

* autoban is optional

* storing updated autoban array

* only checking autoban in time 15 and 60

* miliseconds

* removed unnecessary if check

* returning if already banned

* storing now in variable
greater not greater equal

* moved constant outside function

* using partial type

* renamed variables

* renamed to autoBanTimestamps

* added autoban tests

* increased coverage minimum

* slightly better test

* added autoBanTimestamps checks to other tests
2022-05-16 21:03:44 +02:00
Miodec
699ddd8737 renamed field 2022-05-13 09:41:41 +02:00
Bruce Berrios
6c666f12ba
Add user creation flow test (#2971) bruception 2022-05-13 09:05:57 +02:00
Bruce Berrios
0a371b531a
Add more tests (#2965) Bruception and sondrekje
* Cover updateName

* Test clearPb, export getUsersCollection for testing purposes

* Add base coverage

* Month -> thirty days

Co-authored-by: Sondre Kjempekjenn <sondre.kjempekjenn@gmail.com>
2022-05-11 14:08:06 +02:00
Miodec
41c142b49a blocking users from submitting results if they need to change name 2022-05-08 20:47:45 +02:00
Miodec
616d068e2f needsToUpdateName > needsToChangeName 2022-05-08 16:59:45 +02:00
Miodec
0a1ac828e7 moved invalid name check higher 2022-05-08 16:58:57 +02:00
Miodec
0a4a7eabe7 added test to make sure users cant take an unavailable name 2022-05-08 14:54:15 +02:00
Miodec
a0f6fabf10 is name available is async 2022-05-08 14:24:02 +02:00
Miodec
1baa5c1651 not checking last name change if user needs to change name 2022-05-08 13:20:18 +02:00
Bruce Berrios
cdbc0bf770
Add logic to handle duplicate names (#2958) 2022-05-08 08:59:12 +02:00
Bruce Berrios
ee5ef57d89
Delete bot dal (#2953) 2022-05-06 17:36:23 -05:00
Evan
d9ffcfb4ee
Preparing for George Update (#2895)
* bot-commands rename

* removed bot dal

* reomoved unnecessary configuration entry

* quotes:code_javascript: Add regex-heavy quote. (#2929) markstos

* quotes:code_javascript: Add regex-heavy quote.

This quote contains a long regex that will be a workout for typing
symbols and numbers.

Source code can be confirmed to available under an open source license
here: https://github.com/markstos/parse-coordinates/blob/master/index.js

* fixed length

Co-authored-by: Miodec <bartnikjack@gmail.com>

* fixed script names

* fixed incorrect path

* definitely didnt forget about those

Co-authored-by: Miodec <bartnikjack@gmail.com>
Co-authored-by: Mark Stosberg <mark@rideamigos.com>
Co-authored-by: Jack <jack@monkeytype.com>
2022-05-06 23:48:15 +02:00
Miodec
6d52d8ce1b fixed incorrect path 2022-05-05 23:28:02 +02:00
Bruce Berrios
8095dd6bfc
Add test step in pr-check action (#2942) Bruception
* Add test step in pr-check action

* Add jest action

* Specify wd

* Remove action

* Remove test

* Add anti-cheat check
2022-05-05 23:06:40 +02:00
Sondre Kjempekjenn
afd288a717
Testing - mock setup for redis (#2944) 2022-05-05 14:05:31 -04:00