Commit Graph

158 Commits

Author SHA1 Message Date
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
Gergő Jedlicska ef043ee234 gergo/web 2158 previews module multi region (#3492)
* feat(previews): multi region previews module

* feat(preview-service): talk multi region

* fix(preview-service): test helper await

* fix(preview-service): remove linting issue, this prob makes it worse
2024-11-19 16:35:39 +01:00
Iain Sproat a1ee8a89a7 chore(server): graceful shutdown (#3125)
* chore(server): graceful shutdown
- stop() on the apollo server should be called

* chore(server): gracefully drain apollo server

* Allow grace period to be configured

* Terminus manages the readiness and liveness endpoints

* terminus is responsible for stopping the graphql server

* remove logging on shutdown

* Remove redundant parameter

* move healthchecks out of business modules to top-level directory
- terminus can only handle readiness check, not liveness
- app needs to return readiness handler, so that server terminus can use it

* fix tests

* Fix broken merge

* fix broken merge

* incorporate review comments

* fix invalid merge

* fix readinesscheck not being passed as parameter
2024-11-19 11:08:38 +01:00
Gergő Jedlicska 6038611974 feat(webhook-service): learn to speak multi region (#3473)
* feat(webhook-service): learn to speak multi region

* refactor(webhook-service): remove unnecesary factories

* docs(activities): brain dump

* fix(shared): need to add knex as a dev dep

* fix(shared): align dev dep
2024-11-11 17:10:29 +01:00
Gergő Jedlicska 153b1c3802 feat(version): require project id in version mutations 2024-11-11 09:57:22 +01:00
Gergő Jedlicska 1c19f67dd2 feat(models): support streamId, branchId in models 2024-11-11 06:09:53 +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 da7f0dda0e gergo/web 2047 user joins the workspace event (#3412)
* feat(gatekeeper): add gatekeeper module feature flag

* feat(gatekeeper): add workspace pricing table domain

* feat(gatekeeper): add checkout session creation

* feat(gatekeeper): verify stripe signature

* wip(gatekeeper): checkout callbacks

* feat(gatekeeper): add unlimited and academia plan types

* refactor(envHelper): getStringFromEnv helper

* chore(gatekeeper): add future todos

* feat(gatekeeper): add productId to the subscription domain

* feat(gatekeeper): add in memory repositories

* feat(gatekeeper): add more errors

* feat(gatekeeper): complete checkout session service

* feat(gatekeeper): add stripe client implementation

* feat(gatekeeper): add checkout session completion webhook callback path

* feat(gendo): fix not needing env vars if gendo module is not enabled

* feat(gatekeeper): require a license for billing

* chore(gatekeeper): cleanup before testing

* feat(gatekeeper): subscriptionData parsing model

* ci: add billing integration and gatekeeper modules to test config

* test(gatekeeper): add checkout service tests

* feat(gatekeeper): make completeCheckout callback idempotent properly

* feat(gatekeeper): move to knex based repositories

* test(gatekeeper): billing repository tests

* feat(gatekeeper): add yearly billing cycle toggle

* feat(ci): add stripe integration context to test job

* feat(billingPage): conditionally render the checkout CTAs

* fix(gatekeeper): remove flaky test condition

* feat(helm): add billing integration feature flag

* WIP billing gql api

* feat(gatekeeper): cancel checkout session api

* feat(gatekeeper): handle existing checkout sessions, when trying to create a new one

* feat(gatekeeper): add workspace plans gql api

* feat(gatekeeper): handle cancelation and subscription updates

* fix(gatekeeper): scope initialization

* fix(gatekeeper): eliminate stripe client import sideeffect

* fix(gatekeeper): eliminate stripe client import sideeffect 2

* feat(gatekeeper): upsize subscription on workspace role change

* feat(shared): add command pattern implementation

* refactor(eventBus): remove return capabilities from the event bus

* refactor(workspaces): use new commandFactory in workspace resolver

* feat(core): facelift taskLock

* feat(gatekeeper): shedule subscription downscale

* feat(gatekeeper): manage subscription downscale

* feat(gatekeeper): get workspace subscriptions, that are about to expire

* feat(gatekeeper): manage subscription downscale

* fix(gatekeeper): do not update subscription to canceled subs

* ci: bump postgres and max connections

* feat(workspaces): fix command factory event bugs
2024-10-30 15:51:40 +01:00
Kristaps Fabians Geikins f690f1016a branchDeleted 2024-10-25 13:57:58 +03:00
Kristaps Fabians Geikins 64d2888506 branchUpdated sub 2024-10-25 13:55:26 +03:00
Kristaps Fabians Geikins cedc1beb6c branchCreated sub 2024-10-25 13:50:01 +03:00
Alessandro Magionami b701a3361c chore(activitystream): addBranchDeletedActivity refactor multiregion 2024-10-22 10:07:24 +02:00
Alessandro Magionami 282af83bd8 chore(activitystream): addBranchUpdatedActivity refactor multiregion 2024-10-22 09:53:36 +02:00
Alessandro Magionami a2e9693a6a chore(activitystream): addBranchCreatedActivity refactor multiregion 2024-10-22 09:52:47 +02:00
Alessandro Magionami 8502ac5db4 chore(activitystream): add missing deps 2024-10-21 17:58:16 +02:00
Alessandro Magionami 59663a81f9 chore(activitystream): addReplyAddedActivity refactor multiregion 2024-10-21 17:52:09 +02:00
Alessandro Magionami 4b4963a75e chore(activitystream): addCommentArchivedActivity refactor multiregion (#3343) 2024-10-21 11:47:31 +03:00
Alessandro Magionami 8e794a78c0 Merge pull request #3340 from specklesystems/alessandro/web-943-add-comment-created-activity
Activitystream IoC 1 addCommentCreatedActivity
2024-10-21 10:46:02 +02:00
Alessandro Magionami 221904756d Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-943-add-comment-created-activity 2024-10-18 16:00:46 +02:00
Alessandro Magionami 16b99388e1 chore(activitystream): addCommentCreatedActivity refactor multiregion 2024-10-18 15:57:09 +02:00
Kristaps Fabians Geikins f33dcb0849 chore(server): core IoC #88 - createObjectFactory 2024-10-18 16:13:15 +03:00
Kristaps Fabians Geikins f27f289dc6 chore(server): core IoC #78 - getServerInfoFactory 2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins da88f5925c chore(server): core IoC #72 - createPersonalAccessTokenFactory 2024-10-16 17:13:03 +03:00
Alessandro Magionami eb3be8c9f5 chore(activitystream): addCommitReceivedActivity refactor multiregion (#3285) 2024-10-16 11:19:00 +03:00
Alessandro Magionami b4bf1b917b chore(activitystream): addCommitDeletedActivity refactor multiregion (#3284) 2024-10-16 11:04:20 +03:00
Alessandro Magionami 0f838912c7 Merge pull request #3270 from specklesystems/alessandro/web-943-add-commit-moved-activity
Activitystream IoC 1 addCommitMovedActivity
2024-10-16 09:29:17 +02:00
Alessandro Magionami be3bd547d1 chore(activitystream): addCommitMovedActivity refactor multiregion 2024-10-15 12:42:02 +02: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 53844db17b chore(server): core IoC #43 - scheduleExecutionFactory 2024-10-14 12:00:47 +03:00
Alessandro Magionami 6e6d1a00b5 Activitystream IoC 1 addCommitUpdatedActivity (#3250)
* chore(activitystream): addStreamUpdatedActivity refactor multi region

* chore(activitystream): addStreamAccessRequestedActivity refactor multiregion

* chore(activitystream): addStreamAccessRequestDeclinedActivity refactor multiregion

* chore(activitystream): onUserCreated refactor multiregion

* chore(activitystream): addCommitCreatedActivity refactor multiregion

* chore(activitystream): fix types

* chore(activitystream): addCommitUpdatedActivity refactor multiregion

* chore(activitystream): fix build
2024-10-14 10:30:36 +02:00
Alessandro Magionami d489975037 Activitystream IoC 4 addCommitCreatedActivity (#3239)
* chore(activitystream): addStreamUpdatedActivity refactor multi region

* chore(activitystream): addStreamAccessRequestedActivity refactor multiregion

* chore(activitystream): addStreamAccessRequestDeclinedActivity refactor multiregion

* chore(activitystream): onUserCreated refactor multiregion

* chore(activitystream): addCommitCreatedActivity refactor multiregion

* chore(activitystream): fix types
2024-10-11 15:49:38 +02:00
Alessandro Magionami 78ae75eb25 Activitystream IoC 3 onUserCreated (#3234)
* chore(activitystream): addStreamUpdatedActivity refactor multi region

* chore(activitystream): addStreamAccessRequestedActivity refactor multiregion

* chore(activitystream): addStreamAccessRequestDeclinedActivity refactor multiregion

* chore(activitystream): onUserCreated refactor multiregion

* chore(activitystream): fix build
2024-10-11 13:51:02 +03:00
Alessandro Magionami 20bf7181b9 Activitystream IoC 2 addStreamAccessRequestDeclinedActivity (#3231)
* chore(activitystream): addStreamUpdatedActivity refactor multi region

* chore(activitystream): addStreamAccessRequestedActivity refactor multiregion

* chore(activitystream): addStreamAccessRequestDeclinedActivity refactor multiregion
2024-10-11 11:37:41 +02:00
Alessandro Magionami 689bed652d Activitystream IoC 1 addStreamAccessRequestedActivity (#3227)
* chore(activitystream): addStreamUpdatedActivity refactor multi region

* chore(activitystream): addStreamAccessRequestedActivity refactor multiregion
2024-10-11 11:25:42 +03:00
Alessandro Magionami 7f4df2dfdd chore(activitystream): addStreamUpdatedActivity refactor multi region (#3222) 2024-10-10 12:06:11 +02: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 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 380fe049e6 chore(server): IoC 31 - getStreamCollaboratorsFactory 2024-10-09 10:39:29 +03:00
Kristaps Fabians Geikins 5b5dd201e2 chore(server): IoC 29 - getStream(s)Factory 2024-10-09 10:39:00 +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
Alessandro Magionami f52bafc7e2 chore(activitystream): addStreamPermissionsAddedActivity refactor multi region (#3198) 2024-10-08 14:00:17 +03:00
Alessandro Magionami 8a31d90d57 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-943-add-stream-invite-accepted-activity 2024-10-08 11:00:09 +02:00
Alessandro Magionami b5f1857b1b chore(activitystream): addStreamPermissionsRevokedActivity refactor multiregion (#3195) 2024-10-08 11:55:07 +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