Commit Graph

124 Commits

Author SHA1 Message Date
Iain Sproat c593990b22 Move ratelimiter from services to utils 2025-02-25 09:27:24 +00:00
Iain Sproat 4c57a2ea8c Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-25 09:23:59 +00:00
Kristaps Fabians Geikins eb050bb649 feat(server): new plans + disabled checkout/upgrade/sidegrade (#4057)
* feat(server): new plans + disabled checkout/upgrade/sidegrade

* pushed in CR fixes
2025-02-25 09:46:46 +01:00
Iain Sproat 1e3bb19d99 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-02-24 14:33:42 +00:00
Iain Sproat 62b65bb566 wrap the logic into a callable function and add tests 2025-02-24 12:26:34 +00: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
Iain Sproat d2436e3a4d fix(ratelimiter): do not check rates if rate limiter disabled 2025-02-21 17:45:31 +00:00
Gergő Jedlicska 5b0bb3b65d gergo/web 2635 set up new plans in the backend (#4031)
* feat(gatekeeper): add new free plan option as an unpaid workspace plan

* feat(workspaces): add feature flag for new plans

* feat(gatekeeper): add free plan option to workspace plans

* Added button in FE

* Make button more beautifuller

* feat(gatekeeper): enable creating workspaces on a free plan

* Fix

* Fix FE linting

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-02-21 14:49:04 +01:00
Chuck Driesler 86c113b29b feat(regions): move project automations (#3925)
* feat(regions): repo functions for copying project branches and commits

* chore(regions): wire up move to resolver

* chore(regions): successful basic test of project region change

* fix(regions): sabrina carpenter please please please

* fix(regions): repair multiregion test setup

* chore(regions): appease ts

* chore(multiregion): update test multiregion config

* chore(multiregion): fix test docker config and test

* chore(multiregion): use transaction

* chore(multiregion): maybe this will work

* fix(multiregion): drop subs synchronously

* chore(multiregion): desperate test logs

* chore(multiregion): somehow that worked?

* chore(multiregion): add load-bearing log statement

* chore(multiregion): move services

* fix(multiregion): test drop waits

* chore(regions): fix import

* chore(regions): make test a bit more thorough for good measure

* fix(regions): move project objects

* chore(regions): add tests for object move

* feat(regions): move project automations

* chore(regions): add tests for moving automations

* chore(regions): more tests for moving automate data

* fix(regions): speed up inserts

* fix(regions): simplify postgres usage

* chore(regions): repair build

* fix(regions): improve queries

* chore(regions): again
2025-02-18 15:48:00 +00:00
Alessandro Magionami bc70332d97 fix(workspaces): block god mode on mutations (#3999) 2025-02-17 14:41:23 +01:00
Kristaps Fabians Geikins 4b7740eb17 Merge branch 'main' into fabians/web-2415-6 2025-02-17 15:15:52 +02:00
Chuck Driesler 60e74b34e1 feat(regions): move project objects (#3924)
* feat(regions): repo functions for copying project branches and commits

* chore(regions): wire up move to resolver

* chore(regions): successful basic test of project region change

* fix(regions): sabrina carpenter please please please

* fix(regions): repair multiregion test setup

* chore(regions): appease ts

* chore(multiregion): update test multiregion config

* chore(multiregion): fix test docker config and test

* chore(multiregion): use transaction

* chore(multiregion): maybe this will work

* fix(multiregion): drop subs synchronously

* chore(multiregion): desperate test logs

* chore(multiregion): somehow that worked?

* chore(multiregion): add load-bearing log statement

* chore(multiregion): move services

* fix(multiregion): test drop waits

* chore(regions): fix import

* chore(regions): make test a bit more thorough for good measure

* fix(regions): move project objects

* chore(regions): add tests for object move

* fix(regions): speed up inserts

* fix(regions): simplify postgres usage

* chore(regions): 100 => 10
2025-02-17 10:51:12 +00:00
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
Chuck Driesler c382064585 feat(regions): move project branches and commits (#3843)
* feat(regions): repo functions for copying project branches and commits

* chore(regions): wire up move to resolver

* chore(regions): successful basic test of project region change

* fix(regions): sabrina carpenter please please please

* fix(regions): repair multiregion test setup

* chore(regions): appease ts

* chore(multiregion): update test multiregion config

* chore(multiregion): fix test docker config and test

* chore(multiregion): use transaction

* chore(multiregion): maybe this will work

* fix(multiregion): drop subs synchronously

* chore(multiregion): desperate test logs

* chore(multiregion): somehow that worked?

* chore(multiregion): add load-bearing log statement

* chore(multiregion): move services

* fix(multiregion): test drop waits

* chore(regions): fix import

* chore(regions): make test a bit more thorough for good measure

* fix(regions): speed up inserts

* fix(regions): ignore workspace conflict on move
2025-02-13 14:39:23 +00:00
Chuck Driesler 4cbeeef0d0 Automate API Circuit breaker (#3914)
* fix(automate): invokeSafeJsonRequest

* fix(automate): correct fallback values
2025-01-30 15:26:12 +00:00
Chuck Driesler 35b59ca4f2 chore(workspaces): drop defaultLogoIndex (#3898) 2025-01-28 08:56:13 +01:00
Gergő Jedlicska 188c333921 fix(workspaces): non region enabled workspace project creation (#3847)
* fix(workspaces): non region enabled workspace project creation

* fix(projects): remove duplicate getProject repo function

This was the cause of the default project region switch bug, we had two
almost identical implementations...
2025-01-27 17:45:55 +01:00
Kristaps Fabians Geikins 9b46747815 chore(server): refactor activityStream invocations - batch #6 - project invites 2025-01-24 18:35:21 +02:00
Chuck Driesler 80a0573894 fix(workspaces): return role as string (#3886) 2025-01-24 14:25:40 +01:00
Mike e798fc4e8a Feat: Request to join workspace (#3871) 2025-01-24 14:05:53 +01:00
Alessandro Magionami 9973894b7d chore(workspaces): fix resolver 2025-01-22 10:33:39 +01:00
Alessandro Magionami abf0ccf835 chore(workspaces): check user email verified and add user to workspace 2025-01-22 09:57:38 +01:00
Alessandro Magionami adaad0d027 chore(workspaces): add user to workspace on approved request 2025-01-21 17:18:26 +01:00
Alessandro Magionami 3a197792b3 chore(workspaces): create id resolver for workspace join request 2025-01-21 17:03:23 +01:00
Alessandro Magionami 8cd060f869 chore(workspaces): use commandFactory in deny workspace join request 2025-01-16 16:55:22 +01:00
Alessandro Magionami 6d0f08b7b5 feat(workspaces): approve join request (#3833)
* feat(workspaces): approve join request

* chore(workspaces): add missing dep to resolver call

* chore(workspaces): use commandFactory
2025-01-16 16:46:59 +01:00
Gergő Jedlicska 35bc6918cb gergo/web 2428 academia should be free business (#3831)
* feat(server): workspace shoul equal unpaid business

* feat(server): add free workspace plans

* feat(gatekeeper): rename plans to invoiced
2025-01-16 10:21:59 +01:00
Alessandro Magionami 7bf3c5df74 chore(workspaces): fix graphql enum 2025-01-14 17:58:51 +01:00
Alessandro Magionami 85ce151264 feat(workspaces): make query for single workspace 2025-01-14 12:02:57 +01:00
Alessandro Magionami bb73ecbe3c feat(workspaces): list workspace join requests for admin 2025-01-14 12:02:57 +01:00
Alessandro Magionami fd7a8d436e feat(workspaces): code review changes 2025-01-14 10:34:32 +01:00
Alessandro Magionami 7105a67124 feat(workspaces): request to join workspace mutation 2025-01-14 10:34:32 +01:00
Alessandro Magionami c9fe57fa74 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2359-dismiss-joinable-workspace 2025-01-13 19:09:48 +01:00
Alessandro Magionami ee5797af28 feat(workspaces): fix dismiss and tests 2025-01-10 18:21:14 +01:00
Chuck Driesler a784a72365 feat(workspaces): add workspaceRole to LimitedUser type (#3721)
* feat(workspaces): add workspaceRole to LimitedUser type

* fix(users): require workspace access for query
2025-01-09 15:11:18 +01:00
Alessandro Magionami c32026b6d6 feat(workspaces): dismiss workspace mutation 2025-01-09 11:21:46 +01:00
Gergő Jedlicska c186b23db6 feat(gatekeeper): send workspace trial expiry emails 2024-12-13 17:30:02 +01:00
Gergő Jedlicska ded5b0a78b fix(workspaces): make sure to return from switch statement (#3680) 2024-12-12 10:42:49 +01:00
Gergő Jedlicska 229a19c981 gergo/workspaceAdmin (#3677)
* feat(workspaces): add unified paginated items service

* feat(workspaces): admin update workspace plan
2024-12-11 18:54:24 +01: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 b4aa0f7608 fix(sso): disable slug edit if sso enabled (#3621)
* fix(sso): disable slug edit if sso enabled

* fix(sso): guard on backend

* chore(sso): more test fixes
2024-12-03 18:05:04 +00:00
Chuck Driesler 101a0b2d54 fix(workspaces): no default discovery (#3622)
* fix(workspaces): do not enable discoverability by default

* chore(workspaces): fix test

* chore(workspaces): more tests fix
2024-12-03 16:01:05 +00:00
Kristaps Fabians Geikins 51579b76ef fix(server): various fixes related to subs + further improved utils + way quicker tests (#3573)
* fixed test util throwing + added new tests

* more tests

* more tests

* various model tests

* version tests

* removed shitty old tests

* lint fix

* workspaceProjectsUpdated test

* workspace updated on invite

* workspace subs support team changes

* tests fix

* test fix hopefully?
2024-12-02 13:30:24 +02:00
Chuck Driesler e312110933 Automate Public Beta (#3472)
* feat(automate): query active user functions

* fix(automate): show automations to non-stream-owners

* feat(automate): associate function with workspace

* fix(automate): split functions page between user and example functions

* fix(automate): ugh

* fix(functions): use correct query type in different places

* fix(automate): workspace functions page

* feat(automate): query specific categories of functions

* fix(automate): checkpoint

* fix(workspaces): successful queries w local env

* fix(automate): createFunctionWithoutVersion

* fix(automate): successful associate function with workspace

* fix(automate): query and return workspaces on functions

* fix(automate): show current function workspace

* fix(automate): query functions in automation create dialog

* fix(automate): audit non-owner automation access

* 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): successful usage of multiregion results

* 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

* fix(automate): inject projectid correctly

* fix(automate): drop user-source functions

* fix(automate): owners edit, others can view

* fix(automate): simplify queries, auto workspace association

* chore(automate): appease

* chore(automate): fix function types

* fix(automate): get to workspace functions from empty state

* chore(automate): death to all slugs

* fix(automate): no create automation from function

* fix(automate): hide workspace change, tweak role access

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-11-29 17:33:14 +01:00
Chuck Driesler 9ad3fb8d0e fix(sso): continue with sso from any verified email (#3577)
* fix(sso): continue with sso from any verified email

* chore(sso): fix/add tests
2024-11-29 06:33:00 +01:00
Gergő Jedlicska ec27e394d9 feat(workspaces): add workspace creation state (#3578) 2024-11-28 20:50:53 +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
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 e30b8c83b9 gergo/workspacesMultiRegion (#3477)
* feat(webhook-service): learn to speak multi region

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

* feat(fileuploads, blobs): multi region

* feat(workspaces): update delet workspace with billing and regions

* fix typo

* feat(workspaces): remove old billing resolvers

* test(workspaces): fix tests

* fix(workspaces): remove unused schema
2024-11-19 15:45:03 +01:00
Chuck Driesler 22167d215f feat(sso): delete sso (#3452)
* feat(sso): delete sso

* fix(sso): simplify delete
2024-11-12 09:17:48 +00:00