Howl
1826246125
Create `limit' package, remove need of login_attempts.go
2016-09-06 17:04:22 +02:00
Howl
7e5d35d79a
make userpage content nil-able
2016-09-05 23:45:11 +02:00
Howl
9bfbb50ffd
ping now returns both user and token privileges and their string representation
2016-09-03 01:31:03 +02:00
Howl
61527882d1
Get donor info through /users/self/donor_info
2016-09-02 18:27:15 +02:00
Howl
92be078783
move peppyapi into its own group
2016-09-02 18:14:23 +02:00
Howl
e80e557f10
Add custom badge in users/full
2016-09-02 17:00:36 +02:00
Howl
e6c77e64a8
Pagination in badgesGET
2016-09-01 22:58:21 +02:00
Howl
12aaa04fea
use new badge system, users/full now returns badge information rather than just the ID
2016-09-01 22:50:56 +02:00
Howl
e4d27f8d6b
Allow users with AdminManageUsers to see banned users
...
Also:
- General code refactoring
- Allow banned/restricted users to see their scores etc
- common.MethodData now contains UserPrivileges
- UserPrivileges have now their own type
- Implement md.HasQuery, to know if there's a GET querystring parameter or not
2016-08-27 12:04:12 +02:00
Howl
476cd385f8
tiny get_beatmaps performance improvement
2016-08-23 21:30:11 +02:00
Howl
4d9f466491
Forgot a break
inf a for-range loop. Broke all the mode detection system.
2016-08-23 16:45:47 +02:00
Howl
3de3443d87
this is driving me crazy
2016-08-23 16:39:57 +02:00
Howl
42011ad10c
Allow much more freedom to query for different things in /api/v1/beatmaps
2016-08-23 16:27:09 +02:00
Howl
f35bb0a7e8
Fix m = 0 killing the query
2016-08-23 15:42:59 +02:00
Howl
73b0f48586
Add get_beatmaps
2016-08-22 23:04:52 +02:00
Howl
69e1d585cc
LEFT to INNER
2016-08-19 23:48:44 +02:00
Howl
817592e736
Remove common.OsuTime, change all occurencies to common.UnixTimestamp
2016-08-19 17:02:51 +02:00
Howl
67ae6ab3b8
Fix users/full returning "" as the country
2016-08-18 15:15:22 +02:00
Howl
55d7621ef5
remove -o api, as it's the evil
2016-08-15 21:56:29 +02:00
Howl
4f7ef9c071
u param
2016-08-15 21:51:51 +02:00
Howl
cab63a94ac
Make rank actually contain rank
2016-08-15 21:37:24 +02:00
Howl
954ec755b8
Implement get_scores in peppyapi
2016-08-15 21:13:40 +02:00
Howl
b9d35ac46d
Add more where clauses because I forgot 'em
2016-08-15 20:07:40 +02:00
Howl
a6ca8de13e
Implement GET scores in official ripple api
2016-08-15 19:59:46 +02:00
Howl
346f26177c
Change all references to sql.DB to references to sqlx.DB
2016-08-15 13:45:42 +02:00
Howl
e41be44397
Use sqlx instead of sql. Rewrite of most clusterfucks incoming
2016-08-15 13:37:03 +02:00
Howl
c3b56164f5
Change X-Ripple-Token cookie to simply "rt"
2016-08-10 12:25:26 +02:00
Howl
f1fa5e8b91
Allow to get a blog post's content by slug
2016-08-10 09:45:01 +02:00
Howl
af691bee1c
Change system for hanayo requests
2016-08-09 23:06:23 +02:00
Howl
4f217781cc
GET /tokens/self now returns 404 if no token is given
2016-08-09 19:22:41 +02:00
Howl
17fef6c654
Silently ignore time.ParseErrors
2016-08-09 19:15:53 +02:00
Nyo
38008a5451
Fix error on scores handlers
2016-07-20 10:49:29 +02:00
Howl
3a2928be53
hey nyo i may or may not have fixed beatmap difficulties
2016-07-18 23:27:37 +02:00
Howl
a999033e4b
Add X-Real-404 to true 404 responses
2016-07-12 19:55:58 +02:00
Howl
8544c41cc6
Requests from hanayo have no rate limiting
2016-07-12 15:49:02 +02:00
Howl
6926cda1ee
Fix banned response code, fix typo
2016-07-10 20:53:06 +02:00
Howl
ab8e1ad7e2
Log errors
2016-07-07 17:36:53 +02:00
Howl
921402b0ee
Add blog API
2016-07-07 00:20:36 +02:00
Howl
24933cc08f
Show countries of everyone, without checking show_country.
2016-07-06 23:43:43 +02:00
Howl
09523369b7
Use custom type UnixTimestamp instead of repeating boilerplate code over and over.
2016-07-06 22:32:30 +02:00
Howl
ff1d2fa1c3
.HIDE. shit
2016-07-06 19:36:46 +02:00
Howl
15559d0be2
use c.ClientIP() rather than manually accessing c.Request.RemoteAddr
2016-07-06 19:35:49 +02:00
Howl
45d0de234b
Fix race condition in specificRateLimiter
2016-07-06 19:24:11 +02:00
Howl
faf948b037
Implement rate limiting
...
- 60 requests per minute for requests without a valid API token
- 2000 requests per minute per user for requests with a valid API token
2016-07-06 16:33:58 +02:00
Howl
0a870ee742
Remove read privilege. Public data is now readable by everyone without having to pass an API token. Feel free to test around as much as you like!
2016-07-06 14:22:43 +02:00
Howl
534d5183ed
It's not rank, it's privileges
2016-07-06 14:12:57 +02:00
Howl
fcdd042d6c
Finish up with new ranks and stuff on the API
2016-07-04 00:06:23 +02:00
Nyo
39f6b2bbcf
New privileges on API (allowed column only)
2016-07-03 21:55:03 +02:00
Nyo
244186cf4e
Allow compilation of the API on Windows
2016-06-22 13:13:33 +02:00
Howl
7cbbb626c1
LEFT JOIN -> INNER JOIN
2016-06-18 02:42:47 +02:00
Howl
b3e31734f5
Release logging to sentry
2016-06-17 10:34:53 +02:00
Howl
427f2ff890
Remove errore_meme
2016-06-16 14:06:09 +02:00
Howl
02f0449b39
Stack traces are only useful for panics
2016-06-16 14:05:26 +02:00
Howl
6554447cbc
Use ID rather than IP, memes
2016-06-16 14:01:37 +02:00
Howl
ef9c0c6c6a
When erroring from c.Error(), give actual error, not a *gin.Error
2016-06-16 13:59:18 +02:00
Howl
9658957067
Better recovery
2016-06-16 13:49:35 +02:00
Howl
cbcfacb06a
Fix misplaced if
2016-06-16 13:14:19 +02:00
Howl
06eb64ecf5
error logging with schiavo -> error logging with sentry
2016-06-16 12:45:10 +02:00
Howl
24d34eb741
v1.TokenNewPOST => /tokens, /tokens/new
2016-06-15 00:23:55 +02:00
Howl
fc38503bdd
add GET /tokens/self
2016-06-14 12:01:30 +02:00
Howl
4d9ec829a8
Add token listing at GET /tokens, also add a token-fixing tool at /tokens/fix_privileges.
...
By the way, 100th commit on the API!
2016-06-14 11:32:11 +02:00
Howl
52d7b65493
Add /api/v1/tokens/self/delete
2016-06-14 10:03:53 +02:00
Howl
a9b82f99b5
Add global leaderboard
2016-06-14 09:37:11 +02:00
Howl
a65cf086f0
Add Documentation API
2016-06-13 22:40:01 +02:00
Howl
32738aaae0
Simplify string to int conversion where possible
2016-06-13 21:48:09 +02:00
Howl
2f027ce853
Remove Message from 404 response, to allow easy distinction between missing method and data not found
2016-06-13 21:47:35 +02:00
Howl
da6fcb83f7
Don't allow "weird" characters in jsonp callback
2016-06-13 21:17:43 +02:00
Howl
f32de541a4
Fix set_status 500 ing when beatmap is not found by ID
2016-06-09 10:52:55 +02:00
Howl
d87027c85a
always rank the whole mapset, not just a single diff
2016-06-09 00:29:00 +02:00
Howl
b1fc609706
Add BeatmapsRankedFrozenFullGET, an endpoint to get all beatmaps having a frozen ranked status
2016-06-08 23:33:08 +02:00
Howl
9b821e3230
Add /api/v1/beatmaps
2016-06-08 19:55:52 +02:00
Howl
155fbabbbc
Allow auth through cookie X-Ripple-Token
2016-06-08 18:55:48 +02:00
Howl
ee51b999f1
Allow passing a beatmap_id to BeatmapSetStatus
2016-06-08 18:30:23 +02:00
Howl
e27569261a
Update ban_datetime on allowed status change
2016-06-06 12:27:54 +02:00
Howl
122e2afa1b
Don't log message in get_user if it's an ErrNoRows
2016-05-30 19:18:31 +02:00
Howl
ba5a078db3
forgot allowed check
2016-05-29 13:09:36 +02:00
Howl
0c6237ed01
Use userid rather than username
2016-05-28 23:48:29 +02:00
Howl
fb08a80308
fixes
2016-05-28 20:31:46 +02:00
Howl
571325e98f
Send error logs asynchronously
2016-05-28 20:28:13 +02:00
Howl
6a374a4f9d
Implement get_user_best and get_user_recent in peppyapi
2016-05-28 20:24:39 +02:00
Howl
0fcb1cc391
diobono
2016-05-26 21:19:00 +02:00
Howl
fde01c6f84
Don't print 0pp scores on std on user/scores/best
2016-05-26 21:13:36 +02:00
Howl
d5caa1fdc2
Report errors in API to #bunker
2016-05-22 17:11:07 +02:00
Howl
a25512fb96
Add completed status in users/scores/*
2016-05-22 16:22:13 +02:00
Howl
ce739a8ae5
Implement users/scores/recent
2016-05-19 17:31:49 +02:00
Howl
da2a36537e
Implement user/scores/best
2016-05-19 17:15:17 +02:00
Howl
45c67cf9b7
Start implementing get_beatmaps
2016-05-18 18:37:36 +02:00
Howl
de2aeb338b
Revert "Fix normalisation not actually happening in users/full"
...
This reverts commit ef14f027b7
.
2016-05-18 18:00:39 +02:00
Howl
52e1fa09ca
Revert "Normalise floats (don't use Inf in JSON)"
...
This reverts commit 330757ec78
.
2016-05-18 18:00:22 +02:00
Howl
ef14f027b7
Fix normalisation not actually happening in users/full
2016-05-18 17:49:46 +02:00
Howl
330757ec78
Normalise floats (don't use Inf in JSON)
2016-05-18 17:48:19 +02:00
Howl
2afc557ef8
peppyapi: replicate behaviour of original API (check for user ID first, then for username)
2016-05-18 17:47:39 +02:00
Howl
5320c62e17
Be more permissive in UserLookupGET (wildcard both at start and at end of username)
2016-05-17 17:40:30 +02:00
Howl
c86bc1e420
Use precise level in /api/v1/users/full
2016-05-17 17:06:15 +02:00
Howl
a16c196799
Add level in /api/get_user
2016-05-17 17:00:09 +02:00
Howl
32b9d1e2d5
Escape backslashes in UserLookupGET
2016-05-17 15:35:18 +02:00
Howl
f7559e8cc5
Implement /api/get_match (will return empty array, match data is currently not stored in ripple)
2016-05-15 14:04:59 +02:00
Howl
e043dd9cdf
Remove useless println
2016-05-15 13:57:28 +02:00
Howl
d6f67915c5
Start implementing peppyapi; implement /api/get_user
2016-05-15 13:57:04 +02:00
Howl
a939d15779
Force private API keys to have Privileges write, read, read confidential
2016-05-15 07:20:11 +02:00