Gergő Jedlicska
bf80347abf
gergo/web 2664 workspace backend powered metrics ( #3985 )
...
* feat(workspaces): delete workspace emit event
* feat(workspaces): move workspace group metrics to the backend
* Removed FE mixpanel group update
* Remove fragment
* test(gatekeeper): add unittest to new gatekeeper service
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-02-17 09:50:16 +01:00
Alessandro Magionami
fa4022ad14
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2124-set-up-email-notifications-for-trial-expiration
2024-12-23 10:29:12 +01:00
Alessandro Magionami
66f7e98aa7
feat(gatekeeper): remove 14 days trial expiration email
2024-12-20 19:31:47 +01:00
Alessandro Magionami
1ba905d61d
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2124-set-up-email-notifications-for-trial-expiration
2024-12-20 11:08:30 +01:00
Alessandro Magionami
3b82b62943
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2310-return-error-on-object-creation-for-projects-in-readonly
2024-12-20 09:21:19 +01:00
Alessandro Magionami
a363f0e81a
feat(workspaces): expose graphql field readonly for workspace type ( #3659 )
...
* feat(workspaces): add readOnly field to workspace gql type
* feat(workspaces): add readOnly logic for workspace
* refactor(gatekeeper): use exhaustive switch pattern
* chore(billing): fix test
* feat(gatekeeper): fix tests
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2024-12-18 13:47:27 +00:00
Alessandro Magionami
11beefeada
feat(gatekeeper): readOnly validation logic
2024-12-16 10:17:16 +01:00
Gergő Jedlicska
c186b23db6
feat(gatekeeper): send workspace trial expiry emails
2024-12-13 17:30:02 +01:00
Alessandro Magionami
15bc6738ba
chore(billing): fix test
2024-12-12 15:29:27 +01:00
Alessandro Magionami
fd2d6381f8
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2304-expose-graphql-field-readonly-for-workspace-type
2024-12-12 09:41:03 +01:00
Gergő Jedlicska
2a72631e8b
feat(gatekeeper): expire trail workspace plans ( #3669 )
2024-12-11 17:22:04 +01:00
Gergő Jedlicska
45c626323f
feat(gatekeeper): expire trail workspace plans
2024-12-10 19:20:02 +01:00
Alessandro Magionami
b08f25dffa
feat(workspaces): add readOnly logic for workspace
2024-12-09 14:31:59 +01:00
Mike
8f4593e606
Feat: Workspace creation wizard ( #3625 )
2024-12-04 14:19:52 +01:00
Mike
b2cebea7eb
Fix: Various billing fixes ( #3569 )
2024-11-28 20:24:05 +01:00
Gergő Jedlicska
ec02e63707
feat(gatekeeper): upgrade workspace plan ( #3572 )
2024-11-28 11:15:32 +01:00
Gergő Jedlicska
f381dc3d9d
gergo/workspaceDefaultPlan ( #3561 )
...
* feat(gatekeeper): create workspaces with trial plan by default
* feat(gatekeeper): default to starter trial plan
* fix(eventBus): fix tests
2024-11-27 09:51:32 +01:00
Gergő Jedlicska
83a991bfac
feat(gatekeeper): rename workspace plans ( #3533 )
...
* feat(gatekeeper): rename workspace plans
* Updated plans in FE
* feat(gatekeeper): stripe redirect to workspace dashboard
* test(gatekeeper): fix tests
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2024-11-22 05:50:16 +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
Gergő Jedlicska
3352fc4327
Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/gatekeeperFunctions
2024-11-05 06:44:03 +01:00
Gergő Jedlicska
ee514dc7b9
test: fix flaky tests ( #3422 )
2024-10-31 09:04:49 +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
Gergő Jedlicska
8e239ec744
feat(gatekeeper): feature access functions
2024-10-30 09:00:00 +01:00
Gergő Jedlicska
edc70b76bc
fix(gatekeeper): do not update subscription to canceled subs
2024-10-29 20:44:13 +01:00
Gergő Jedlicska
81c20dbdf3
feat(gatekeeper): manage subscription downscale
2024-10-29 20:17:19 +01:00
Gergő Jedlicska
796b1c23ed
feat(gatekeeper): get workspace subscriptions, that are about to expire
2024-10-29 17:44:43 +01:00
Gergő Jedlicska
c0808e5577
feat(gatekeeper): manage subscription downscale
2024-10-29 16:52:00 +01:00
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
Gergő Jedlicska
81b923cf67
feat(gatekeeper): upsize subscription on workspace role change
2024-10-24 10:03:08 +02:00
Gergő Jedlicska
50fff10acd
feat(gatekeeper): handle cancelation and subscription updates
2024-10-22 23:17:22 +02:00
Gergő Jedlicska
ee3b67a3a9
feat(gatekeeper): handle existing checkout sessions, when trying to create a new one
2024-10-21 19:18:22 +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
Gergő Jedlicska
ecfb7a1f69
fix(gatekeeper): remove flaky test condition
2024-10-19 16:01:50 +02:00
Gergő Jedlicska
4770aaf83f
test(gatekeeper): billing repository tests
2024-10-19 14:59:18 +02:00
Gergő Jedlicska
7bb99df3bf
test(gatekeeper): add checkout service tests
2024-10-18 12:03:51 +02:00
Gergő Jedlicska
2ba5e75474
chore(gatekeeper): cleanup before testing
2024-10-17 14:19:30 +02:00
Gergő Jedlicska
49128192de
feat(gatekeeper): require a license for billing
2024-10-17 12:11:22 +02:00
Gergő Jedlicska
5818a44e62
Gatekeeper ( #2572 )
...
* feat(gatekeeper): initial license validation
* test(gatekeeper): add license token to tests
* chore(gatekeeper): cleanup
* chore(gatekeeper): hide from circleci
* feat(helm): load license token from secrets
* chore(circleci): remove unused env var
2024-08-13 11:04:40 +02:00