Commit Graph

143 Commits

Author SHA1 Message Date
Gergő Jedlicska af3857a209 gergo/web 2038 billing graphql api (#3379)
* 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

* fix(mainConstants): fitler gatekeeper scopes with feature flag
2024-10-25 10:46:09 +02:00
Kristaps Fabians Geikins 6d53308fd8 chore(server): gendo IoC #1 - prep/cleanup before getting started 2024-10-24 15:39:41 +03:00
Chuck Driesler dc9519f141 fix(workspaces): emit slug with discoverable workspaces (#3361)
* fix(workspaces): emit slug with discoverable workspaces

* chore(workspaces): gql lint
2024-10-23 09:50:08 +01: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 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 42fa2d0460 Merge pull request #3328 from specklesystems/fabians/core-ioc-88
chore(server): core IoC #88 - createObjectFactory
2024-10-21 10:08:32 +02:00
Gergő Jedlicska 8cba7eb6f7 gergo/web 1968 add features list (#3332)
* 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
2024-10-20 15:40:31 +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 5016fad919 feat(server): make Project.version query throw if version not found (#3336) 2024-10-18 15:32:58 +03:00
Kristaps Fabians Geikins f27f289dc6 chore(server): core IoC #78 - getServerInfoFactory 2024-10-17 12:37:43 +03:00
Kristaps Fabians Geikins b2efcdd951 chore(server): core IoC #67 - remaining users repo 2024-10-16 12:10:13 +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 d2e5385ee4 chore(server): core IoC #49 - markOnboardingBaseStreamFactory 2024-10-14 16:18:13 +03:00
Kristaps Fabians Geikins 30331c6f8e chore(server): core IoC #48 - markCommitStreamUpdatedFactory 2024-10-14 16:01:53 +03: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
Chuck Driesler e7ba48e320 Feat: Remove guests from workspace members table (#3219) 2024-10-10 14:25:45 +02:00
Kristaps Fabians Geikins 491f837ff1 chore(server): IoC 36 - createOnboardingStreamFactory 2024-10-10 10:58:51 +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
Kristaps Fabians Geikins 7d9bb3c4ea fix: single workspace admin cant accept own invite (#3197) 2024-10-08 12:44:17 +03:00
Kristaps Fabians Geikins 84130ccfa1 chore(server): core IoC 27 - getObjectFactory 2024-10-07 18:55:33 +03:00
Kristaps Fabians Geikins 96c30f50cb chore(server): core IoC 26 - getStreamObjectsFactory 2024-10-07 18:13:18 +03:00
Kristaps Fabians Geikins e3405486fc Merge branch 'main' into fabians/core-ioc-19 2024-10-07 16:12:15 +03:00
Alessandro Magionami 892e1b82f7 Merge pull request #3168 from specklesystems/fabians/core-ioc-17
chore(server): core IoC 17 - createCommitByBranchIdFactory
2024-10-07 11:04:59 +02:00
andrewwallacespeckle ebef771c3a refactor(fe2): Update queries to use workspaceBySlug (#3177)
* Use workspaceBySlug

* workspace invite support slug

* fix workspace invite email link

* added tests

* Update workspaceInvite query to use new option

* useSlug directly in query

---------

Co-authored-by: Fabis <fabis94@live.com>
2024-10-02 13:01:38 +01:00
Fabis c6486b4ef4 chore(server): core IoC 19 - getAllBranchCommitsFactory 2024-10-01 16:49:06 +01:00
Fabis 857210be10 chore(server): core IoC 17 - createCommitByBranchIdFactory 2024-10-01 14:45:12 +01:00
Kristaps Fabians Geikins f42dea7331 chore(server): core IoC 16 - getSpecificBranchCommitsFactory 2024-09-27 14:32:13 +03:00
Kristaps Fabians Geikins f92b6b37d4 chore(server): core IoC 9 - createBranchAndNotifyFactory 2024-09-26 16:36:41 +03:00
Kristaps Fabians Geikins b2459e84e9 chore(server): core IoC 5 - getBranchLatestCommitsFactory 2024-09-26 15:48:07 +03:00
Kristaps Fabians Geikins 0f27d41cae chore(server): core IoC 4 - getStreamBranch(es)ByNameFactory 2024-09-26 15:26:48 +03:00
Iain Sproat f93d9093a0 fix(errors): all error should define an appropriate status code (#3112)
* fix(errors): all error should define a status code (default is 500)
- rename NoInviteFoundError to InviteNotFoundError to match xNotFoundError pattern

* remove unused errors
2024-09-25 13:08:13 +02:00
Kristaps Fabians Geikins afc6477745 chore(server): comments IoC 10 - createCommentReplyAndNotifyFactory 2024-09-24 13:14:28 +03:00
Kristaps Fabians Geikins 5ab3428456 chore(server): comments IoC 9 - createCommentThreadAndNotifyFactory 2024-09-24 12:57:08 +03:00
Alessandro Magionami fe424a98b6 Merge pull request #3082 from specklesystems/alessandro/web-943-get-stream-activity
Alessandro/web 943 get stream activity
2024-09-24 10:48:52 +02:00
Alessandro Magionami daa742382f Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-943-get-stream-activity 2024-09-23 15:59:55 +02:00
Gergő Jedlicska 4b944bb259 feat(workspaces): get workspace by slug gql api (#3080) 2024-09-23 15:56:00 +02:00
Alessandro Magionami 6920bb1f0c chore(activitystream): refactor getStreamActivity 2024-09-23 15:40:49 +02:00
Gergő Jedlicska 00c01db923 feat(workspaces): add workspace slug support (#2982)
* feat(workspaces): add workspace slug support

* chore(workspaces): lint

* feat(workspaces): add slug validation and generation

* fix(workspaces): test lint miss
2024-09-18 13:29:36 +02:00
Chuck Driesler 56d392424d feat(workspaces): move project to workspace (#2992)
* feat(workspaces): move project, like this

* fix(workspaces): use new event

* fix(workspaces): add resolver again after merge

* chore(workspaces): lint

* fix(workspaces): works but is a bit illegal

* fix(workspaces): use service update

* chore(workspaces): add unit tests

* fix(workspaces): use transaction

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-09-18 10:38:27 +02:00
Chuck Driesler ac6dd70d27 feat(workspaces): default workspace project role (#3013)
* feat(workspaces): enable default project role in workspace

* fix(workspaces): not satisfying

* chore(workspaces): phrasing

* fix(workspaces): use new field in role mapping

* chore(workspaces): use roles

* fix(workspaces): update tests

* fix(workspaces): more parallel role update errors

* chore(workspaces): like this now

* chore(workspaces): revert changes to deps

* fix(workspaces): assert domain type conversion at gql layer

* fix(workspaces): repair tests

* fix(workspaces): fix more tests
2024-09-17 22:17:10 +02:00
Alessandro Magionami c84924b474 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-1767-guest-table-should-show-what-they-have-access-to 2024-09-13 10:26:25 +02:00
Alessandro Magionami 090e8b8b3b feat(workspaces): add resolver to workspace for projectRoles 2024-09-13 10:25:46 +02:00
Kristaps Fabians Geikins ee41c83df7 feat(server): allow unlimited project thread retrieval (#2976)
* feat(server): allow unlimited project thread retrieval

* Remove limit from frontend

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
2024-09-12 16:15:14 +01:00
Kristaps Fabians Geikins aab9bdcd66 chore(server): cross-server-sync IoC Part 3 (#2909) 2024-09-09 18:36:54 +03:00