Commit Graph

71 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins 4db1531064 feat: "workspace" project visibility (#4704)
* WIP new visi

* test fixes

* visibility seems to work

* authz policies & authorizeResolver updated

* various test fixes

* users tests

* frontend changes

* minor adjustments

* shared test fix

* test fixes

* force rerun CI
2025-05-14 15:20:26 +03:00
Iain Sproat ef290baff1 fix(server): throw stream not found error if stream not found 2025-05-13 14:41:32 +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
Kristaps Fabians Geikins 10832655d4 fix(server): all project created subs firing for workspace guests + req ctx cache fix for subs (#4453)
* WIP sub fix

* fix sub resolver caching issue
2025-04-16 11:21:17 +03:00
Chuck Driesler c6e0714bc4 chore(authz): hoist authorizeresolver (#4253)
* chore(authz): hoist deleteStreamAndNotify

* chore(authz): hoist updateStreamAndNotify

* chore(authz): comment
2025-03-24 16:51:19 +00:00
Kristaps Fabians Geikins d903e8ffc4 feat(server): support editor -> viewer seat downgrades (#4181)
* new seat based project role checks implemented

* everything done

* minor bugfix
2025-03-14 14:21:25 +02:00
Kristaps Fabians Geikins fb6dc448ca feat(server): prevent viewer seat from becoming project contributor/owner + extra fixes (#4117)
* unrelated fixes that i noticed

* tests for fix

* tests & working restrictions

* test fix

* test fixx
2025-03-06 13:26:16 +02:00
Kristaps Fabians Geikins 6051917b59 chore(server): refactor activityStream invocations - batch #7 - streams (#4014)
* chore(server): refactor activityStream invocations - batch #7 - streams

* test fix

* more test fixes

* CR comment fix
2025-02-24 12:34:56 +02:00
Kristaps Fabians Geikins 4b7740eb17 Merge branch 'main' into fabians/web-2415-6 2025-02-17 15:15:52 +02:00
Iain Sproat 0ce23be6f3 chore(logging): log messages related to a request should include request ID (#3945)
- this requires passing the request logger through to the method invoking the logger
2025-02-06 16:04:51 +00:00
Kristaps Fabians Geikins 9b46747815 chore(server): refactor activityStream invocations - batch #6 - project invites 2025-01-24 18:35:21 +02: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
Alessandro Magionami f227a9b91d fix(activitystream): move activity creation after transaction commimt 2024-12-02 12:14:57 +01:00
Kristaps Fabians Geikins 1800dbbdbd feat(server): improved subscription testing DX + tests for common subs + new subs (#3554)
* userProjectsUpdated.added test

* multi region support

* userStreamAdded

* commit subs tested

* fix for proj workspace assignment

* undo commitHelper main changes

* disable all ffs mode

* createTestWorkspace support when workspaces arent enabled

* project create fix

* workspace projects updated subscription

* WIP new workspace sub

* updated workspaceCreated

* updated workspaceUpdated

* BE for workspace updated sub

* workspace updated sub

* ts err fix
2024-11-27 15:41:04 +02:00
Kristaps Fabians Geikins a9a313ee63 feat(server): cli and cross-server-sync multiregion support (#3527)
* feat(server): cross-server-sync multiregion ready

* fixed various db commands

* db cli works

* final changes
2024-11-22 19:52:58 +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
Gergő Jedlicska f210d9b749 gergo/web 2109 project region based db connection selector (#3434)
* feat(projects): add project regions, default to null

* feat(multiregion): add projectRegion Db client lookup logic

* feat(multiregion): add project region repositories and caching

* feat(multiRegion): db initialization and get project db client

* feat(docker-compose): add second db for regions testing

* feat(multiRegion): initialize region with pubs and subs working

* fix(multiRegion): get region client even if it was registered in another pod

* feat(workspaces): create workspace resolver split

* feat: update server region metadata

* feat(projects): rewrite project creation

* feat(multiRegion): getRegionDb

* fix(workspaces): get projects now can retur null

* feat(multiRegion): make local multi region DB-s work

* feat: set d efault workspace region

* CR changes

* tests

* feat(multiRegion): bind region properly

* fe update

* test fixes

* feat(multiRegion): automatically create aiven extras plugin

* ci(postgres): use published postgres with aiven extras

* fix(multiRegion): roll back the aiven extras migration, there is a better way

* tests fix

* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-11-06 17:29:08 +01:00
Kristaps Fabians Geikins 284d94f8ca chore(server): core IoC #104 - validatePermissionsWriteStreamFactory 2024-10-22 12:22:36 +03:00
Kristaps Fabians Geikins b128d13dbe chore(server): core IoC #103 - validatePermissionsReadStream 2024-10-22 12:16:04 +03:00
Kristaps Fabians Geikins 766a189465 chore(server): core IoC #62 - deleteUserFactory 2024-10-15 14:22:06 +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 adc7abe63d chore(server): core IoC #40 - favoriteStreamFactory (#3252) 2024-10-14 10:44:45 +02:00
Alessandro Magionami 7f4df2dfdd chore(activitystream): addStreamUpdatedActivity refactor multi region (#3222) 2024-10-10 12:06:11 +02:00
Kristaps Fabians Geikins 7fa3b22366 chore(server): core IoC 39 - getFavoriteStreamsCollectionFactory (#3220) 2024-10-10 10:27:20 +02:00
Kristaps Fabians Geikins 82162963ee chore(server): core IoC 37 - getDiscoverableStreamsFactory 2024-10-10 10:59:37 +03:00
Kristaps Fabians Geikins 491f837ff1 chore(server): IoC 36 - createOnboardingStreamFactory 2024-10-10 10:58:51 +03:00
Kristaps Fabians Geikins f58b83870d Merge branch 'main' into fabians/core-ioc-35-1 2024-10-10 10:57:38 +03:00
Alessandro Magionami 394b25c3c9 chore(activitystream): addStreamDeletedActivity refactor multi region (#3213) 2024-10-10 09:52:19 +03:00
Kristaps Fabians Geikins 6cb5022ac4 chore(server): IoC 35 - updateStreamRoleAndNotify 2024-10-09 16:31:20 +03:00
Kristaps Fabians Geikins a3252f88f3 chore(server): IoC 34 - updateStreamAndNotifyFactory 2024-10-09 12:54:10 +03:00
Kristaps Fabians Geikins ad9cb3aafd chore(server): IoC 33 - deleteStreamAndNotifyFactory 2024-10-09 12:37:57 +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
Kristaps Fabians Geikins 17c5cbfe42 Merge branch 'main' into fabians/core-ioc-28 2024-10-09 10:38:11 +03:00
Alessandro Magionami a3fb0d7c0e Activitystream IoC 2 addStreamClonedActivity (#3207)
* chore(activitystream): addStreamPermissionsAddedActivity refactor multi region

* chore(activitystream): addStreamCreatedActivity refactor multi region

* chore(activitystream): addStreamClonedActivity refactor multi region
2024-10-09 10:29:24 +03:00
Alessandro Magionami c2c95d20c2 Activitystream IoC 1 addStreamCreatedActivity (#3206)
* chore(activitystream): addStreamPermissionsAddedActivity refactor multi region

* chore(activitystream): addStreamCreatedActivity refactor multi region
2024-10-09 10:28:17 +03:00
Kristaps Fabians Geikins 6cfee3e6d4 Merge branch 'main' into fabians/core-ioc-28 2024-10-08 14:01:07 +03:00
Alessandro Magionami f52bafc7e2 chore(activitystream): addStreamPermissionsAddedActivity refactor multi region (#3198) 2024-10-08 14:00:17 +03:00
Kristaps Fabians Geikins 55fe69ce13 chore(server): core IoC 28 - cloning object repo fns 2024-10-08 12:26:28 +03:00
Alessandro Magionami d8e789ef6a chore(activitystream): addStreamInviteAcceptedActivity refactor multi region 2024-10-08 10:43:16 +02:00
Alessandro Magionami 9476db0b09 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-943-add-stream-permissions-revoked-activity 2024-10-08 09:52:01 +02:00
Alessandro Magionami 68dc836e7f chore(activitystream): addStreamPermissionsRevokedActivity refactor multiregion 2024-10-08 09:51:47 +02:00
Fabis a4bb99ec45 chore(server): core IoC 22 - cloning related commit repo fns 2024-10-07 16:15:59 +03:00
Fabis b2b8386bca import fix 2024-10-01 14:51:11 +01:00
Kristaps Fabians Geikins f92b6b37d4 chore(server): core IoC 9 - createBranchAndNotifyFactory 2024-09-26 16:36:41 +03:00
Kristaps Fabians Geikins 0412deeda3 chore(server): comments IoC 1 - createComment 2024-09-23 15:03:45 +03:00
Kristaps Fabians Geikins aab9bdcd66 chore(server): cross-server-sync IoC Part 3 (#2909) 2024-09-09 18:36:54 +03:00
Kristaps Fabians Geikins c92938eff3 chore(server): apollo server v3 -> v4 (#2880)
* main changes seem to be done?

* lint fix

* minor cleanup

* dataloader clear
2024-09-05 12:27:13 +03:00
Alessandro Magionami a0224e2f40 Alessandro/web 1660 workspace cost items subtotal and currency (#2793)
* chore(workspaces): workspace cost schema

* chore(workspaces): test helper for workspace cost

* feat(workspaces): workspace billing cost

* fix(workspaces): fix onProjectCreated failing for the project creator if the creator is a member

* refactor(workspaces): change workspace cost calculation to a simpler query

* test(workspaceCost): fix costing logic and tests

* fix(workspaceTests): project emmiter needs owner now

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-08-29 13:45:04 +02:00
Kristaps Fabians Geikins ede566eed9 feat(server): serverInvites refactor + workspace invites CRUD & GQL API (#2530)
* prep for new resources algo

* typescriptifying stuff

* minor types fix

* migrate to resources col

* repo & creation updated, WIP processing/retrieval

* WIP invite processing

* finished finalization refactor

* project invite management

* transformed all invites services

* fixed up projects & core serverinvites resolvers

* test fixes

* WIP workspace create GQL & test

* basic invite creation test works

* a buncha working tests

* more tests

* cancelation tests

* minor invite use refactor

* invite retrieval tasks

* invite use() works as expected

* filtering out broken invites

* enabled invite retrieval by token irregardless of who is it for

* minor adjustments

* tests fix

* test config improvements

* test env adjustment

* extra test case

* making resource access limits harder to ignore

* linter fixes

* eventBus type cleanup

* better generic names

* refactored serverinvites resource migration

* fix(server): better error message in project invite edge case
2024-07-29 14:37:54 +03:00