Commit Graph

199 Commits

Author SHA1 Message Date
Alessandro Magionami 17c8ada369 chore(workspaces): use logic function to check workspace is joinable 2025-01-22 12:08:36 +01:00
Alessandro Magionami 37cf9f0281 chore(workspaces): fix request to join test 2025-01-22 11:10:23 +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 9f74693259 chore(workspaces): remove double dot in email text 2025-01-16 16:59:53 +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 507c83ef80 chore(workspaces): fix test types 2025-01-15 15:42:21 +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 b236f8f58e chore(workspaces): fix tests 2025-01-14 12:02:09 +01:00
Alessandro Magionami fd7a8d436e feat(workspaces): code review changes 2025-01-14 10:34:32 +01:00
Alessandro Magionami 0d6148aa6a feat(workspaces): update email 2025-01-14 10:34:32 +01:00
Alessandro Magionami 0762f95600 feat(workspaces): random email in test 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
Gergő Jedlicska db8de114d3 feat(server): new projects are placed in a configurable region (#3801)
* feat(server): log subscription started messages with info

* feat(server): create projects in a default region

* feat(server): allow project default region config

* feat(server): load project region from multi region config
2025-01-13 18:38:44 +01:00
Alessandro Magionami c0ec088846 Alessandro/web 2358 filter discoverable workspaces by join request (#3773)
* feat(workspaces): filter discoverable workspaces with existing requests

* feat(workspaces): fix query

* feat(workspaces): test indentation fix

* feat(workspaces): add assertions to test
2025-01-13 11:47:44 +01: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 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
Alessandro Magionami c25418a1d2 feat(workspaces): test indentation fix 2025-01-09 09:49:39 +01:00
Alessandro Magionami 844133f435 feat(workspaces): fix query 2025-01-07 17:34:12 +01:00
Alessandro Magionami 30f35992cc feat(workspaces): filter discoverable workspaces with existing requests 2025-01-07 16:42:12 +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 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
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
Gergő Jedlicska 2a72631e8b feat(gatekeeper): expire trail workspace plans (#3669) 2024-12-11 17:22:04 +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 02be49f71f fix(automate): redirect github auth flow to workspace if possible (#3632)
* fix(automate): redirect to workspace after auth if possible

* fix(automate): include session in github auth flow

* chore(automate): update props after merge

* fix(automate): pick => fragment

* fix(automate): use fragments correctly
2024-12-06 08:24:23 +00:00
Kristaps Fabians Geikins 4b6e7af19d feat(fe2): scope comment mentions to parent project collaborators (#3635)
* backend done

* get rid of email mention

* project scoped mentions work

* lint fix

* better user sanitization safety

* tests fix
2024-12-05 13:33:05 +02: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
Chuck Driesler b41b08d688 fix(sso): oidc state parameter (#3598)
* feat(sso): use state parameter

* chore(sso): fix tests

* fix(sso): entraid moment

* chore(sso): use specific errors
2024-12-02 18:16:28 +00:00
Chuck Driesler 3319dd731c fix(sso): repair error handling during validation flow (#3551)
* fix(sso): better redirect urls I think

* fix(sso): handle both flows

* fix(sso): some more error handling tweaks

* chore(sso): fix test oops

* Handle validation messages

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
2024-12-02 16:36:03 +01: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
Chuck Driesler 562902d58b fix(sso): distinguish between missing and invalid sso user profile (#3576) 2024-11-28 17:54:43 +00:00
Kristaps Fabians Geikins a90bc3a1ed fix(fe2): workspace region settings broken if non-admin + Workspace.subscription errors (#3567)
* regions fix

* skip logging subscription error

* added default region set mp track

* removed no longer necessary test
2024-11-27 16:42:58 +02: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 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