summaryrefslogtreecommitdiff
path: root/internal/api
AgeCommit message (Collapse)AuthorFiles
2021-09-11add git.iim.gay/grufwub/go-store for storage backend, replacing blob.StorageLibravatar kim (grufwub)5
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
2021-09-11kim is a reply guy (#208)Libravatar tobi3
* bun debug * bun trace logging hooks * more tests * fix up some stuffffff * drop the frontend cache until a proper fix is made * go fmt
2021-09-10fixes + db changes (#204)Libravatar tobi4
* fixes + db changes * make duration more lenient
2021-09-09Import export (#194)Libravatar tobi1
* start with export/import code * messing about with decoding/encoding * some more fiddling * stuff is WORKING * working pretty alright! * go fmt * fix up tests, add docs * start backup/restore doc * tweaks * credits * update advancedVisibility settings * update bun library -> v1.0.4 Signed-off-by: kim (grufwub) <grufwub@gmail.com> * update oauth library -> v4.3.1-SSB Signed-off-by: kim (grufwub) <grufwub@gmail.com> * handle oauth token scope, fix user.SigninCount + token.UserID Signed-off-by: kim (grufwub) <grufwub@gmail.com> * update oauth library --> v4.3.2-SSB Signed-off-by: kim (grufwub) <grufwub@gmail.com> * update sqlite library -> v1.13.0 Signed-off-by: kim (grufwub) <grufwub@gmail.com> * review changes * start with export/import code * messing about with decoding/encoding * some more fiddling * stuff is WORKING * working pretty alright! * go fmt * fix up tests, add docs * start backup/restore doc * tweaks * credits * update advancedVisibility settings * review changes Co-authored-by: kim (grufwub) <grufwub@gmail.com> Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
2021-09-08handle oauth token scope, fix user.SigninCount + token.UserIDLibravatar kim (grufwub)1
Signed-off-by: kim (grufwub) <grufwub@gmail.com>
2021-09-01moving stuff aroundLibravatar tsmethurst6
2021-09-01move oauth models into gtsmodelLibravatar tsmethurst6
2021-09-01Improve GetRemoteStatus and db.GetStatus() logic (#174)Libravatar kim5
* only fetch status parents / children if explicity requested when dereferencing Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Remove recursive DB GetStatus logic, don't fetch parent unless requested Signed-off-by: kim (grufwub) <grufwub@gmail.com> * StatusCache copies status so there are no thread-safety issues with modified status objects Signed-off-by: kim (grufwub) <grufwub@gmail.com> * remove sqlite test files Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix bugs introduced by previous commit Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix not continue on error in loop Signed-off-by: kim (grufwub) <grufwub@gmail.com> * use our own RunInTx implementation (possible fix for nested tx error) Signed-off-by: kim (grufwub) <grufwub@gmail.com> * fix cast statement to work with SQLite Signed-off-by: kim (grufwub) <grufwub@gmail.com> * be less strict about valid status in cache Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add cache=shared ALWAYS for SQLite db instances Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Fix EnrichRemoteAccount when updating account fails Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add nolint tag Signed-off-by: kim (grufwub) <grufwub@gmail.com> * ensure file: prefixes the filename in sqlite addr Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add an account cache, add status author account from db Signed-off-by: kim (grufwub) <grufwub@gmail.com> * Fix incompatible SQLite query Signed-off-by: kim (grufwub) <grufwub@gmail.com> * *actually* use the new getAccount() function in accountsDB Signed-off-by: kim (grufwub) <grufwub@gmail.com> * update cache tests to use test suite Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add RelationshipTestSuite, add tests for methods with changed SQL Signed-off-by: kim (grufwub) <grufwub@gmail.com>
2021-08-29Add SQLite support, fix un-thread-safe DB caches, small performance f… (#172)Libravatar kim5
* Add SQLite support, fix un-thread-safe DB caches, small performance fixes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add SQLite licenses to README Signed-off-by: kim (grufwub) <grufwub@gmail.com> * appease the linter, and fix my dumbass-ery Signed-off-by: kim (grufwub) <grufwub@gmail.com> * make requested changes Signed-off-by: kim (grufwub) <grufwub@gmail.com> * add back comment Signed-off-by: kim (grufwub) <grufwub@gmail.com>
2021-08-26fix broken db queries in auth (#160)Libravatar tobi2
2021-08-25Pg to bun (#148)Libravatar tobi61
* start moving to bun * changing more stuff * more * and yet more * tests passing * seems stable now * more big changes * small fix * little fixes
2021-08-20Database updates (#144)Libravatar tobi2
* start moving some database stuff around * continue moving db stuff around * more fiddling * more updates * and some more * and yet more * i broke SOMETHING but what, it's a mystery * tidy up * vendor ttlcache * use ttlcache * fix up some tests * rename some stuff * little reminder * some more updates
2021-08-16Text/status parsing fixes (#141)Libravatar Tobi Smethurst1
* aaaaaa * vendor minify * update + test markdown parsing
2021-08-12Grand test fixup (#138)Libravatar Tobi Smethurst2
* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
2021-08-10Dereference remote replies (#132)Libravatar Tobi Smethurst14
* decided where to put reply dereferencing * fiddling with dereferencing threads * further adventures * tidy up some stuff * move dereferencing functionality * a bunch of refactoring * go fmt * more refactoring * bleep bloop * docs and linting * start implementing replies collection on gts side * fiddling around * allow dereferencing our replies * lint, fmt
2021-08-02Frodo swaggins (#126)Libravatar Tobi Smethurst50
* more swagger fun * document a whole bunch more stuff * more swagger yayyyyyyy * progress + go fmt
2021-07-31more swagger docs + other changes (#125)Libravatar Tobi Smethurst6
* more swagger docs + other changes * go fmt
2021-07-31Swagger (#124)Libravatar Tobi Smethurst26
* start experimenting with swagger documentation * further adventures in swagger * do a few more api paths * account paths documented * go fmt * fix up some models * bit o lintin'
2021-07-29Link hashtag bug (#121)Libravatar Tobi Smethurst1
* link + hashtag bug * remove printlns * tidy up some duplicated code
2021-07-26Markdown Statuses (#116)Libravatar Tobi Smethurst1
* parse markdown statuses if desired * add some preliminary docs for writing posts
2021-07-23Oidc (#109)Libravatar Tobi Smethurst5
* add oidc config * inching forward with oidc idp * lil webfingy fix * bit more progress * further oidc * oidc now working * document dex config * replace broken images * add additional credits * tiny doc update * update * add oidc config * inching forward with oidc idp * bit more progress * further oidc * oidc now working * document dex config * replace broken images * add additional credits * tiny doc update * update * document * docs + comments
2021-07-21lil webfingy fix (#106)Libravatar Tobi Smethurst6
* lil webfingy fix * return requested content type from fede requests
2021-07-19allow different host + accountDomain (#103)Libravatar Tobi Smethurst1
* allow different host + accountDomain * use accountDomain in tags
2021-07-11Block/unblock (#96)Libravatar Tobi Smethurst7
* remote + local block logic, incl. federation * improve blocking stuff * fiddle with display of blocked profiles * go fmt
2021-07-09favourites GET implementation (#95)Libravatar Tobi Smethurst4
2021-07-08fix up some of the instance patching stuff (#85)Libravatar Tobi Smethurst2
2021-07-08Auth flow fixes (#82)Libravatar Tobi Smethurst4
* preliminary fixes to broken auth flow * fix some auth/cookie weirdness * fmt
2021-07-07clean up some weirdness in the router (#80)Libravatar Tobi Smethurst1
2021-07-06Blocklist import (#77)Libravatar Tobi Smethurst3
* first steps on importing blocklists * unblock domains properly
2021-07-05Domain block (#76)Libravatar Tobi Smethurst27
* start work on admin domain blocking * move stuff around + further work on domain blocks * move + restructure processor * prep work for deleting account * tidy * go fmt * formatting * domain blocking more work * check domain blocks way earlier on * progress on delete account * delete more stuff when an account is gone * and more... * domain blocky block block * get individual domain block, delete a block
2021-06-27Go fmtLibravatar tsmethurst1
2021-06-26separate public key handler (#64)Libravatar Tobi Smethurst2
2021-06-24nodeinfo compliance (#61)Libravatar Tobi Smethurst6
2021-06-23Instance settings updates (#59)Libravatar Tobi Smethurst3
Allow admins to set instance settings through a PATCH to /api/v1/instance Update templates to reflect some of the new fields
2021-06-21Deletes+unboosts (#52)Libravatar Tobi Smethurst2
* Status deletes properly streamed now. * Unboosts now work locally and federated. * Documentation updates.
2021-06-19Streaming (#49)Libravatar Tobi Smethurst2
Add new status and notification websocket streaming capabilities
2021-06-13Timeline manager (#40)Libravatar Tobi Smethurst14
* start messing about with timeline manager * i have no idea what i'm doing * i continue to not know what i'm doing * it's coming along * bit more progress * update timeline with new posts as they come in * lint and fmt * Select accounts where empty string * restructure a bunch, get unfaves working * moving stuff around * federate status deletes properly * mention regex better but not 100% there * fix regex * some more hacking away at the timeline code phew * fix up some little things * i can't even * more timeline stuff * move to ulid * fiddley * some lil fixes for kibou compatibility * timelines working pretty alright! * tidy + lint
2021-05-31Tidy + timeline embetterment (#38)Libravatar Tobi Smethurst14
* tidy up timelines a bit + stub out some endpoints * who's faved and who's boosted, reblog notifs * linting * Update progress with new endpoints
2021-05-30Move a lot of stuff + tidy stuff (#37)Libravatar Tobi Smethurst24
Lots of renaming and moving stuff, some bug fixes, more lenient parsing of notifications and home timeline.
2021-05-29Search (#36)Libravatar Tobi Smethurst3
First implementation of search functionality for remote account and status lookups.
2021-05-28Announce/boost (#35)Libravatar Tobi Smethurst1
Remote boosts incoming/outgoing now working.
2021-05-27Notifications (#34)Libravatar Tobi Smethurst4
Notifications working for: * Mentions * Faves * New follow requests * New followers
2021-05-23status deletes, profile updates (#30)Libravatar Tobi Smethurst3
1. Proper DELETE of federated statuses (not yet deleting all the media and stuff -- i still have to implement this -- but the actual status is toast). 2. Proper UPDATE of profiles. When you change your profile picture on your remote instance, that will now register properly in GoToSocial. 3. Scrolling down the home timeline - it no longer just sort of ends, and will keep loading older statuses as you scroll. 4. Little bugfixes -- still had some nil pointer errors when dereferencing remote accounts.
2021-05-22small fiddling to allow whalebird to work (a bit)Libravatar tsmethurst2
2021-05-21Home timeline (#28)Libravatar Tobi Smethurst3
* v. basic implementation of home timeline * Go fmt ./...
2021-05-21Follows and relationships (#27)Libravatar Tobi Smethurst16
* Follows -- create and undo, both remote and local * Statuses -- federate new posts, including media, attachments, CWs and image descriptions.
2021-05-17Refine statuses (#26)Libravatar Tobi Smethurst5
Remote media is now dereferenced and attached properly to incoming federated statuses. Mentions are now dereferenced and attached properly to incoming federated statuses. Small fixes to status visibility. Allow URL params for filtering statuses: // ExcludeRepliesKey is for specifying whether to exclude replies in a list of returned statuses by an account. // PinnedKey is for specifying whether to include pinned statuses in a list of returned statuses by an account. // MaxIDKey is for specifying the maximum ID of the status to retrieve. // MediaOnlyKey is for specifying that only statuses with media should be returned in a list of returned statuses by an account. Add endpoint for fetching an account's statuses.
2021-05-15Inbox post (#22)Libravatar Tobi Smethurst20
Inbox POST from federated servers now working for statuses and follow requests. Follow request client API added. Start work on federating outgoing messages. Other fixes and changes/tidying up.
2021-05-10Mediahandler (#21)Libravatar Tobi Smethurst9
Media GET and media PUT handlers
2021-05-09Webfinger + Small fixes (#20)Libravatar Tobi Smethurst3