fe1cf7ce8a
feat: GET /api/v1/users/@me
2024-12-25 16:04:32 -05:00
478ba2a406
feat: GET /api/v1/users/{userRef}/members/{memberRef}
2024-12-25 14:53:36 -05:00
78afb8b9c4
feat: GET /api/v1/users/{userRef}/members
2024-12-25 14:33:42 -05:00
e908e67ca6
chore: license headers
2024-12-25 14:24:18 -05:00
d182b07482
feat: GET /api/v1/members/{id}, api v1 flags
2024-12-25 14:23:16 -05:00
7791c91960
feat(backend): initial /api/v1/users endpoint
2024-12-25 11:19:50 -05:00
661c3eab0f
fix(backend): save data exports as data-export.zip
...
change the random base 64 to a directory rather than part of the
filename, so that users downloading their exports aren't greeted with a
completely incomprehensible file in their downloads folder
2024-12-19 16:19:27 +01:00
80385893c7
feat: split migration into batches
2024-12-17 21:23:02 +01:00
f766a2054b
feat: allow suspended *and* self-deleted users to access a handful of pages
2024-12-17 18:08:43 +01:00
36cb1d2043
feat: moderation API
2024-12-17 17:52:32 +01:00
11257ae069
chore: clean up backend code, fix most inspections
2024-12-14 16:51:58 +01:00
49b2902d6d
fix: use url-unsafe base 64 for auth tokens
...
.net throws an error when decoding url-safe base 64
luckily we never decode it *except* for tokens, so those can keep using
url-unsafe base 64. they're never used in URLs after all
2024-12-14 16:39:02 +01:00
9d33093339
feat: forgot password/reset password
2024-12-14 16:32:08 +01:00
77c3047b1e
feat: misskey auth
2024-12-12 16:44:01 +01:00
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
ff8d53814d
feat: rate limit emails to two per address per hour
2024-12-11 20:42:48 +01:00
80b7f192f1
clean up RemoteAuthService
2024-12-10 14:09:32 +01:00
3338243cea
feat: log in with tumblr
2024-12-09 21:48:07 +01:00
d30ebacc72
chore: add license headers to all c# files
2024-12-09 21:11:46 +01:00
8a8b4caa18
feat: log in with google
2024-12-09 21:07:53 +01:00
d9d48c3cbf
feat: flag management
2024-12-09 14:52:31 +01:00
8bd4449804
refactor(backend): move all request/response types to a new Dto namespace
2024-12-09 13:58:18 +01:00
f8e6032449
chore(backend): add roslynator and fix diagnostics
2024-12-08 15:17:18 +01:00
649988db25
refactor(backend): use explicit types instead of var by default
2024-12-08 15:07:25 +01:00
bc7fd6d804
feat(frontend): register/log in with email
2024-12-04 17:43:02 +01:00
57e1ec09c0
feat: link fediverse account to existing user
2024-12-04 01:49:03 +01:00
03209e4028
chore(backend): clean imports
2024-12-03 20:05:24 +01:00
18bdbc0745
feat(backend): clean deleted users
2024-12-03 14:55:19 +01:00
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
de733a0682
feat(frontend): discord registration/login/linking
...
also moves the registration form found on the mastodon callback page
into a component so we're not repeating the same code for every auth method
2024-11-28 21:37:30 +01:00
c0bb76580d
even more frontend stuff
2024-11-25 17:35:24 +01:00
261435c252
feat: so much more frontend stuff
2024-11-24 22:19:53 +01:00
7cb17409cd
fix: explicitly set sids to null so the find free sid functions actually trigger
2024-11-24 15:39:44 +01:00
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
6abf505c40
refactor: make Member.display_name non-nullable and fall back to Member.name
2024-11-23 20:41:11 +01:00
d0bf638a21
fix: check for obviously invalid instance URLs, use correct JSON key for mastodon scopes
2024-11-23 20:40:09 +01:00
9160281ea2
feat: remove auth method
2024-11-04 22:04:04 +01:00
201c56c3dd
feat: link discord account to existing account
2024-11-03 13:53:16 +01:00
c4cb08cdc1
feat: initial fediverse registration/login
2024-11-03 02:07:07 +01:00
5a22807410
fix: don't pass CancellationToken to method that shouldn't abort
...
also add license header to project
2024-11-02 21:23:49 +01:00
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
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
e030342358
feat(frontend): add, list email
2024-10-02 02:46:39 +02:00
5b17c716cb
feat(backend): add add email address endpoint
2024-10-02 00:52:49 +02:00
7f971e8549
chore: add csharpier to husky, format backend with csharpier
2024-10-02 00:28:07 +02:00
2a66e3e25e
feat(frontend): add username editing
2024-10-01 16:06:02 +02:00
f539902711
feat(backend): render flags in member response
2024-09-29 19:52:22 +02:00
8fe8755183
feat(backend): validate links, allow setting links in POST /users/@me/members
2024-09-27 15:29:33 +02:00
a3cbdc1a08
feat(backend): ability to set profile flags, return profile flags in get user endpoint
2024-09-27 14:48:09 +02:00
a70078995b
feat(backend): add pride flag models
2024-09-26 20:15:04 +02:00