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
b47ed7b699
rate limit tweaks
...
the /users/{id} prefix contains most API routes so it's not a good idea
to put a single rate limit on *all* of them combined. the rate limiter
will now ignore the /users/{id} prefix *if* there's a second {id}
parameter in the URL.
also, X-RateLimit-Bucket is no longer hashed, so it can be directly
decoded by clients to get the actual bucket name. i'm not sure if this
will actually be useful, but it's nice to have the option.
2024-12-02 16:13:56 +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
4780be3019
fix(backend): add unique index to auth methods
2024-11-28 21:29:25 +01:00
8b1d5b2c1b
feat(backend): validate custom preferences on save
2024-11-28 17:28:52 +01:00
71b59dbb00
feat: add icon list generation script
...
this is used to validate icons for custom preferences. it generates both
typescript and c# code
2024-11-27 20:00:28 +01:00
59496a8cd8
feat(frontend): edit names/pronouns
2024-11-25 23:07:17 +01:00
c237aa8827
fix(backend): add unlisted param to patch member
2024-11-25 21:24:28 +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
0c78cd25b0
fix(backend): use serilog theme that actually works with a light terminal
2024-11-24 16:01:40 +01:00
c8cd483d20
feat: sid redirect controller
2024-11-24 15:40:12 +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
142ff36d3a
fix: stop crash on start with empty sentry dsn, make max avatar length a constant
2024-11-23 20:43:43 +01:00
d87856bf2c
refactor: change ConvertBase64UriToImage from extension method to static method
2024-11-23 20:42:14 +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
567e794154
feat(frontend): hide everything email related if it's disabled on the backend
2024-10-02 21:05:52 +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
06f7019330
feat(backend): move internal endpoints to /api/internal
2024-10-02 00:15:14 +02:00
aa756ac56a
chore(backend): format
2024-10-01 21:58:13 +02:00
42041d49bc
feat: add force log out endpoint
2024-10-01 21:25:51 +02:00
2a66e3e25e
feat(frontend): add username editing
2024-10-01 16:06:02 +02:00
5a8b7aae80
fix(backend): fix username regex accepting characters with diacritics
2024-10-01 16:04:36 +02:00
4002893323
feat(backend): limit total members per user
2024-09-30 21:44:41 +02:00
8f3478d57a
fix(backend): only validate member name if it's changed
2024-09-30 20:14:16 +02:00
f539902711
feat(backend): render flags in member response
2024-09-29 19:52:22 +02:00
e11e60e16b
feat(backend): add update member endpoint
2024-09-28 22:28:59 +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
6a4aa8064a
feat(backend): update flag endpoint
2024-09-27 00:38:34 +02:00
758ab9ec5b
feat(backend): delete flag endpoint
2024-09-26 23:03:50 +02:00
e20a7d3465
fix(backend): *actually* correctly hash images
2024-09-26 22:30:24 +02:00
14e6e35cb7
feat(backend): add create flag endpoint and job
2024-09-26 22:26:40 +02:00
ff2ba1fb1b
fix(backend): correctly hash images
2024-09-26 22:25:47 +02:00
a70078995b
feat(backend): add pride flag models
2024-09-26 20:15:04 +02:00
39b0917585
add script to prune designer files from migrations, add README with acknowledgements
2024-09-26 17:11:52 +02:00
e83895255e
fix(backend): return last_sid_reroll in API, update last sid reroll + last active correctly
2024-09-26 17:09:40 +02:00
b5f9ef9bd6
feat(backend): add short ID reroll endpoints
2024-09-26 16:38:43 +02:00
e76c634738
feat(backend): return short IDs
2024-09-26 15:26:52 +02:00
df93f28273
feat(backend): add short IDs to models
2024-09-26 15:08:08 +02:00
a4a62fa6b6
fix(backend): invert unlisted member filter in RenderUserAsync
2024-09-26 02:14:58 +02:00
f81ae97821
feat(backend): return unlisted status in partial member for authenticated users
2024-09-25 19:48:09 +02:00
862a64840e
feat: add avatar/bio/links/names/pronouns to user page
2024-09-24 20:56:10 +02:00
412d720abc
feat: add .net user importer
2024-09-18 21:44:47 +02:00
6388e3127d
add dev command to repository root
2024-09-17 20:58:31 +02:00
6acd9b94f4
fix(backend): reference System.Text.RegularExpressions directly to avoid CVE
2024-09-14 23:24:23 +02:00
cf2f624ae4
feat: add docker configuration
2024-09-14 18:07:49 +02:00
821712f43b
fix(backend): use packages.lock file when restoring
2024-09-14 16:45:33 +02:00
2cef7523d2
chore(backend): silence some more resharper errors
2024-09-14 16:37:52 +02:00
ff22530f0a
feat(frontend): add discord callback page
...
this only handles existing accounts for now, still need to write an action function
2024-09-13 14:56:38 +02:00
4ac0001795
fix: only query user ID in /api/internal/request-data
2024-09-11 16:34:08 +02:00
2682cabfb0
refactor: add DatabaseContext.GetToken method
2024-09-11 16:23:45 +02:00
be34c4c77e
feat(frontend): working email login
2024-09-10 21:24:40 +02:00
498d79de4e
feat(frontend): internationalization
2024-09-10 20:33:22 +02:00
2323810b06
feat(backend): add option to disable postgres connection pooling
2024-09-10 18:52:13 +02:00
3d22385689
feat: add rate limiter proxy
2024-09-10 16:53:43 +02:00
13a0cac663
feat(backend): email registration
2024-09-10 02:39:07 +02:00
c77ee660ca
refactor: more consistent field names, also in STYLE.md
2024-09-09 14:50:00 +02:00
344a0071e5
start (actual) email auth, add CancellationToken to most async methods
2024-09-09 14:37:59 +02:00
acc54a55bc
format(frontend): change line width to 100
2024-09-06 15:01:44 +02:00
fa3c1ccaa7
feat: add user settings endpoint
2024-09-05 22:17:10 +02:00
22d09ad7a6
fix: return correct error in GET /users/@me
2024-09-05 21:10:45 +02:00
6c9d1c328b
fix: add class context to all loggers, format
2024-09-04 14:25:44 +02:00
fb324e7576
refactor: replace periodic tasks loop with background service
2024-09-04 01:46:39 +02:00
54ec469cd9
feat: add actual metrics using prometheus-net
2024-09-03 17:00:14 +02:00
4a6b5f3b85
Merge branch 'main' of vulpine.solutions:sam/Foxnouns.NET
2024-09-03 16:31:02 +02:00
0aadc5fb47
feat: replace Hangfire with Coravel
2024-09-03 16:29:51 +02:00
2915893049
start user pages
2024-08-22 17:27:04 +02:00
ef221b2c45
feat: update custom preferences endpoint
2024-08-22 15:13:46 +02:00
c4e39d4d59
chore: update dependencies
2024-07-25 22:52:15 +02:00
2b91723696
feat(backend): add member delete endpoint
2024-07-14 21:41:16 +02:00
a069d0ff15
feat(backend): add more params to POST /users/@me/members
2024-07-14 21:25:23 +02:00
fb34464199
feat(backend): improve bad request errors
2024-07-14 16:44:41 +02:00
e7ec0e6661
feat(backend): add member GET endpoints, POST /users/@me/members endpoint
2024-07-13 19:38:40 +02:00
16f230b97d
feat(backend): start work on metrics
2024-07-13 17:23:52 +02:00
fa49030b06
feat: add deleted user columns in database
2024-07-13 03:09:07 +02:00
e95e0a79ff
feat: add PATCH request support, expand PATCH /users/@me, serialize enums correctly
2024-07-12 17:12:24 +02:00
d6c9345dba
too many things to list (notably, user avatar update)
2024-07-08 19:03:04 +02:00
a7950671e1
feat: initial working discord authentication
2024-06-13 02:23:55 +02:00
6186eda092
feat(backend): add RequestDiscordTokenAsync method
2024-06-12 16:19:49 +02:00
25540f2de2
feat(backend): start authentication controllers
2024-06-12 03:47:20 +02:00
493a6e4d29
feat(backend): add skeleton discord auth controller
2024-06-10 16:25:49 +02:00
50257d61f8
switch frontend css from bootstrap to bulma
2024-06-09 23:21:28 +02:00
a2f001392b
stuff
2024-06-09 15:48:26 +02:00
14f8e77e6a
add sveltekit template
2024-06-08 21:02:12 +02:00
401e268281
chore: add back Properties/launchSettings.json
2024-06-04 17:47:16 +02:00
24155a149c
fix: fix BuildInfo not being initialized
2024-06-04 17:43:48 +02:00
588afeec20
feat: add debug registration endpoint, fix snowflake serialization
2024-06-04 17:38:59 +02:00
852036a6f7
format, add more query extensions
2024-05-30 16:59:40 +02:00
f674d059fd
add UserRendererService and improve errors
2024-05-28 17:09:50 +02:00