Commit graph

58 commits

Author SHA1 Message Date
sam
7759225428
refactor(backend): replace coravel with hangfire for background jobs
for *some reason*, coravel locks a persistent job queue behind a
paywall. this means that if the server ever crashes, all pending jobs
are lost. this is... not good, so we're switching to hangfire for that
instead.

coravel is still used for emails, though.

BREAKING CHANGE: Foxnouns.NET now requires Redis to work. the EFCore
storage for hangfire doesn't work well enough, unfortunately.
2025-03-04 17:03:39 +01:00
sam
cacd3a30b7
feat: report page, take action on reports 2025-02-03 17:03:32 +01:00
sam
12eddb9949
feat(backend): user lookup 2024-12-27 17:48:37 -05:00
sam
7791c91960
feat(backend): initial /api/v1/users endpoint 2024-12-25 11:19:50 -05:00
sam
546e900204
feat(backend): report context, fix deleting reports 2024-12-18 21:26:35 +01:00
sam
80385893c7
feat: split migration into batches 2024-12-17 21:23:02 +01:00
sam
36cb1d2043
feat: moderation API 2024-12-17 17:52:32 +01:00
sam
11257ae069
chore: clean up backend code, fix most inspections 2024-12-14 16:51:58 +01:00
sam
51e335f090
feat: use a FixedWindowRateLimiter keyed by IP to rate limit emails
we don't talk about the sent_emails table :)
2024-12-11 21:17:46 +01:00
sam
ff8d53814d
feat: rate limit emails to two per address per hour 2024-12-11 20:42:48 +01:00
sam
5cb3faa92b
feat(backend): allow suspended users to access some endpoints, add flag scopes 2024-12-11 20:42:26 +01:00
sam
7e6698c3fb
update to .net 9 and add new OpenAPI packages 2024-12-10 15:28:44 +01:00
sam
d30ebacc72
chore: add license headers to all c# files 2024-12-09 21:11:46 +01:00
sam
d9d48c3cbf
feat: flag management 2024-12-09 14:52:31 +01:00
sam
f8e6032449
chore(backend): add roslynator and fix diagnostics 2024-12-08 15:17:18 +01:00
sam
649988db25
refactor(backend): use explicit types instead of var by default 2024-12-08 15:07:25 +01:00
sam
03209e4028
chore(backend): clean imports 2024-12-03 20:05:24 +01:00
sam
9966656c0c
fix(backend): don't need [NotMapped] for these actually 2024-12-03 20:04:28 +01:00
sam
18bdbc0745
feat(backend): clean deleted users 2024-12-03 14:55:19 +01:00
sam
903be2709c
feat(backend): initial data export support
obviously it's missing things that haven't been added yet
2024-12-02 18:06:19 +01:00
sam
4780be3019
fix(backend): add unique index to auth methods 2024-11-28 21:29:25 +01:00
sam
261435c252
feat: so much more frontend stuff 2024-11-24 22:19:53 +01:00
sam
4e9c4af4a5
feat(auth): misc fediverse auth improvements
- remove automatic app validation
- add force refresh option to GetFediverseUrlAsync
- pass state to mastodon authorization URI
2024-11-24 15:37:36 +01:00
sam
d982342ab8
refactor: pass DbContextOptions into context directly
turns out efcore doesn't like it when we create a new options instance
(which includes a new data source *and* a new logger factory)
every single time we create a context. this commit extracts
OnConfiguring into static methods which are called when the context is
added to the service collection and when it's manually created for
migrations and the importer.
2024-10-30 15:35:23 +01:00
sam
0077a165b5
feat: add some fediverse authentication code
* create applications on instances
* generate authorize URLs
* exchange oauth code for token and user info (untested)
* recreate mastodon app on authentication failure
2024-10-06 15:34:31 +02:00
sam
7f971e8549
chore: add csharpier to husky, format backend with csharpier 2024-10-02 00:28:07 +02:00
sam
f539902711
feat(backend): render flags in member response 2024-09-29 19:52:22 +02:00
sam
e11e60e16b
feat(backend): add update member endpoint 2024-09-28 22:28:59 +02:00
sam
8fe8755183
feat(backend): validate links, allow setting links in POST /users/@me/members 2024-09-27 15:29:33 +02:00
sam
a3cbdc1a08
feat(backend): ability to set profile flags, return profile flags in get user endpoint 2024-09-27 14:48:09 +02:00
sam
a70078995b
feat(backend): add pride flag models 2024-09-26 20:15:04 +02:00
sam
39b0917585
add script to prune designer files from migrations, add README with acknowledgements 2024-09-26 17:11:52 +02:00
sam
b5f9ef9bd6
feat(backend): add short ID reroll endpoints 2024-09-26 16:38:43 +02:00
sam
df93f28273
feat(backend): add short IDs to models 2024-09-26 15:08:08 +02:00
sam
412d720abc
feat: add .net user importer 2024-09-18 21:44:47 +02:00
sam
2cef7523d2
chore(backend): silence some more resharper errors 2024-09-14 16:37:52 +02:00
sam
4ac0001795
fix: only query user ID in /api/internal/request-data 2024-09-11 16:34:08 +02:00
sam
2682cabfb0
refactor: add DatabaseContext.GetToken method 2024-09-11 16:23:45 +02:00
sam
2323810b06
feat(backend): add option to disable postgres connection pooling 2024-09-10 18:52:13 +02:00
sam
3d22385689
feat: add rate limiter proxy 2024-09-10 16:53:43 +02:00
sam
344a0071e5
start (actual) email auth, add CancellationToken to most async methods 2024-09-09 14:37:59 +02:00
sam
fa3c1ccaa7
feat: add user settings endpoint 2024-09-05 22:17:10 +02:00
sam
22d09ad7a6
fix: return correct error in GET /users/@me 2024-09-05 21:10:45 +02:00
sam
6c9d1c328b
fix: add class context to all loggers, format 2024-09-04 14:25:44 +02:00
sam
ef221b2c45
feat: update custom preferences endpoint 2024-08-22 15:13:46 +02:00
sam
a069d0ff15
feat(backend): add more params to POST /users/@me/members 2024-07-14 21:25:23 +02:00
sam
e7ec0e6661
feat(backend): add member GET endpoints, POST /users/@me/members endpoint 2024-07-13 19:38:40 +02:00
sam
fa49030b06
feat: add deleted user columns in database 2024-07-13 03:09:07 +02:00
sam
e95e0a79ff
feat: add PATCH request support, expand PATCH /users/@me, serialize enums correctly 2024-07-12 17:12:24 +02:00
sam
d6c9345dba
too many things to list (notably, user avatar update) 2024-07-08 19:03:04 +02:00