Commit Graph

90 Commits

Author SHA1 Message Date
Iain Sproat 15d67ba589 Merge pull request #4121 from specklesystems/iain/refactor-blob-storage
refactor(server/file upload): avoid extra http call
2025-05-07 15:11:15 +01:00
Kristaps Fabians Geikins c6dcf18bdb feat(server): workspace project invite auto-accept (for existing wp members) (#4622)
* WIP ts

* DI fix & tests moved to TS

* auto-accept seems to work

* CR comments
2025-04-30 17:39:07 +03:00
Iain Sproat cb0f106c46 Resolve conflicts 2025-04-28 15:17:40 +01:00
Iain Sproat 62c8b571f9 Merge branch 'main' into iain/refactor-blob-storage 2025-04-28 15:06:30 +01:00
Iain Sproat baec1e9156 tests(integration/blobs): can anonymously get blob from public project (#4614)
* tests(integration/blobs): can anonymously get blob from public project

* fix public access

* more fixes

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-04-28 12:26:50 +03:00
Iain Sproat 4529b6b37b Merge branch 'main' into iain/refactor-blob-storage 2025-04-26 08:19:21 +01:00
Kristaps Fabians Geikins eef0a37042 fix: blob upload should use auth policies (#4594)
* fix: blob upload should use auth policies

* tests fix
2025-04-25 09:13:22 +03:00
Chuck Driesler 5c68f8a1da feat(automate): ability to delete automations (#4228)
* feat(automate): delete automation be

* feat(automate): delete automations fe

* fix(automate): delete modal, update cache

* chore(automate): minor formatting

* fix(automate): delete blobs w automations

* chore(automate): repair blob test

* fix(automate): make sure to return

* fix(automate): do soft delete

* fix(automate): include deleted filter in project automation queries
2025-04-22 20:22:44 +01:00
Kristaps Fabians Geikins f76a2c34d3 chore: add no floating promises lint rule (#4249)
* chore: add no floating promises lint rule

* minor cleanup

* fix test by only running if node 22 or greater

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-03-25 13:36:49 +02:00
Iain Sproat dd806b0730 Revert "prefer pipeline over .pipe"
This reverts commit 16049b6a92.
2025-03-11 09:46:55 +00:00
Iain Sproat 16049b6a92 prefer pipeline over .pipe 2025-03-10 10:57:54 +00:00
Iain Sproat 3c132f8098 type the busboy event 2025-03-06 21:51:53 +00:00
Iain Sproat 6499a11d02 Merge branch 'main' into iain/refactor-blob-storage 2025-03-06 09:12:20 +00:00
Iain Sproat 5655b3e758 fix(metrics): pass registry in to modules (#4113)
- ensure metrics are added to the correct registry
2025-03-06 08:37:05 +00:00
Iain Sproat c9fff01dbf fix test 2025-03-05 16:50:01 +00:00
Iain Sproat 7c6ebc95dc refactor fileuploads to avoid http request 2025-03-05 16:39:23 +00:00
Iain Sproat 0035783932 place busboy instantiation in callable function 2025-03-05 15:20:12 +00:00
Iain Sproat 334a7e4988 Tidy deletion endpoint 2025-03-05 15:02:18 +00:00
Iain Sproat 2d73a75cf8 custom error handler can be removed as functionality is already provided by our existing middleware 2025-03-05 14:30:13 +00:00
Iain Sproat 6afad05430 refactor(blobstorage): separate REST components and services 2025-03-05 14:21:50 +00:00
Iain Sproat ce08e5e02d refactor(server): logging directory renamed to observability (#4077) 2025-02-28 08:43:54 +00:00
Chuck Driesler 025ae104db feat(regions): move file uploads and blobs (#3977)
* chore(regions): failing test for moving blobs

* fix(blobs): use blob storage table

* chore(regions): include file_uploads table for thoroughness

* fix(regions): extract repeated string to utils
2025-02-26 19:34:50 +00:00
Kristaps Fabians Geikins aee14edc5b chore(server): getting rid of module-scoped event emitters - batch #1 (#3766)
* got rid of models emitter + added tests

* got rid of projects emitter + added tests

* replaced user event bus

* test migrate
2025-01-13 11:39:46 +02:00
Iain Sproat c2523397be refactor(blobstorage): tests converted to typescript (#3742) 2025-01-07 10:19:08 +00:00
Iain Sproat f8072faf01 fix(server/blobstorage): handles errors with missing content-type header (#3758) 2025-01-03 08:03:39 +00:00
Iain Sproat 35eb2090bc fix(POST /api/file): REST API endpoint returns json content-type (#3463) 2025-01-02 10:15:39 +00:00
Kristaps Fabians Geikins 8d0cbad8b6 feat(server): multi region blob support (#3653)
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2024-12-10 09:05:18 +00:00
Chuck Driesler fd5f316af0 fix(automate): automate module multi region (#3531)
* refactor(automate): logs api can get the projectId from the path

* fix(automate): multiregion gql resolvers

* fix(automate): multiregion event listeners

* fix(automate): drop automationCount

* fix(automate): multiregion run status

* fix(automate): correctness

* fix(automate): actually finish event listeners

* chore(automate): fix tests fix tests

* fix(automate): fix tests but make it multiregion flavor

* fix(automate): logs endpoint

* chore(automate): globalDb to db

* fix(automate): inject projectid correctly

* fix(automate): debug log fetch failure

* chore(automate): fix tests for new message

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-11-27 15:26:09 +00:00
Gergő Jedlicska 01b222ced8 gergo/web 2155 gendo module multi region (#3528)
* fix(workspaces): allow workspace delete for paid workspaces

* feat(gendo): multi region gendo with new api integration and limits

* feat(gendo): user credits

* feat: adds limits to gendo panel, and terms and conditions link

* fix: reworks setting back camera view

* feat(gendo): webhook signature verification

* fix(gendo): nullability

* test(blobstorage): fix test dependency injection

---------

Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
2024-11-22 16:43:31 +01:00
Gergő Jedlicska 68b8341945 gergo/multiRegionFileImport (#3474)
* feat(webhook-service): learn to speak multi region

* feat(fileimport-service): talk multi region to me

* feat(fileuploads, blobs): multi region

* feat(fileimport-service): multi region fixes

* feat(branchesAndCommits): multi region resolvers

* fix(fileimports): no need for ts ignore

* fix(fileimports): fix pr comments
2024-11-13 14:20:25 +01:00
Gergő Jedlicska 73cc7e67d3 gergo/webhookRegions (#3459)
* feat(webhooks): multi region webhook resolver

* feat(webhooks): multi region webhook cleanup

* fix(webhooks): DI fixes

* feat(activitystream): region aware save activity

* feat(accessrequests): multi region

* feat(cli): allow multi region project and commit download

* feat(postgres): make docker postgres 0 day multi region ready

* feat(cli): allow multi region project and commit download properly

* fix(cross-server-sync): di fix

* feat(activitystream): non region aware activities, they are not project data

* fix(webhooks): triggers need to be included

* feat(stream/projectCreate): activity save is not needed any more, its all event based

* feat(multiRegion): get all registered db clients

* fix(regions): test equal in any order

* fix(projectDownload): need to await
2024-11-08 10:45:39 +01:00
Kristaps Fabians Geikins 69ff3864af feat(server): multi region support in dataloaders 2024-11-07 09:57:43 +02:00
Kristaps Fabians Geikins 31f56001f8 Merge pull request #3400 from specklesystems/fabians/quick-js-to-ts-5
chore(server): quick js to ts #5 - remaining stragglers
2024-10-30 08:19:31 +00:00
Alessandro Magionami 811c8207b0 Merge pull request #3389 from specklesystems/fabians/gendo-ioc-2
chore(server): gendo IoC #2 - createRenderRequestFactory
2024-10-28 15:16:37 +01:00
Kristaps Fabians Geikins 11fec3222a cjs doesnt like knex default export 2024-10-28 11:35:20 +02:00
Kristaps Fabians Geikins 716a108c7a got rid of forced casting 2024-10-25 13:31:33 +03:00
Kristaps Fabians Geikins 04400b1ee9 chore(server): easy js to ts migrations #2 - objectStorage.ts 2024-10-25 13:21:30 +03:00
Kristaps Fabians Geikins fcbd7f2eb7 chore(server): gendo IoC #2 - createRenderRequestFactory 2024-10-24 16:07:27 +03:00
Iain Sproat d48d9dfa1d chore(blobstorage): refactor to typescript (#3374) 2024-10-22 12:58:55 +01:00
Kristaps Fabians Geikins f27f289dc6 chore(server): core IoC #78 - getServerInfoFactory 2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins 2ba9d86908 chore(server): core IoC #70 - createTokenFactory 2024-10-16 16:46:21 +03:00
Kristaps Fabians Geikins 573970fc6c chore(server): core IoC #55 - createUserFactory 2024-10-15 12:55:33 +03:00
Kristaps Fabians Geikins 1cb27e6fdd chore(server): core IoC #51 - getUser(s)Factory 2024-10-14 17:24:11 +03:00
Kristaps Fabians Geikins aa4f319277 chore(server): IoC 32 - createStreamFactory (#3204) 2024-10-09 11:10:20 +03:00
Kristaps Fabians Geikins 5b5dd201e2 chore(server): IoC 29 - getStream(s)Factory 2024-10-09 10:39:00 +03:00
Iain Sproat fcf3162e99 fix(server/blob storage): improve error handling (#3131)
- correctly identify 403 errors
- throw error if unable to reach or create bucket
- use EnvironmentResourceError error type
2024-09-26 13:42:43 +01:00
Iain Sproat b3f07fa2ce chore(server): Use helpers to get S3 environment variables (#3118)
- use helper method when converting environment variable to boolean
2024-09-26 11:04:41 +02:00
Kristaps Fabians Geikins c1a87bd6ce chore(server): shared IoC 2 - authz pipelines 2024-09-25 15:59:41 +03:00
Kristaps Fabians Geikins a86fd633b0 chore(server): blobstorage IoC 9 - fullyDeleteBlobFactory 2024-09-12 14:24:28 +03:00
Kristaps Fabians Geikins 0cd997e17b chore(server): blobstorage IoC 8 - markUploadXXXFactories 2024-09-12 14:11:15 +03:00