* feat: moved project roles to activity
* fix: added previous project role filed on activity
* fix: remvoke does not get logged as an actvity for every project in a workspace when removed from workspace
* fix: on delete user account, emit also seat and project event
Co-authored-by: Charles Driesler <chuck@speckle.systems>
* backend seems to work
* bigger menu support
* FE nearly done
* merge fix
* ui changes
* workspace invite disclaimer
* project disclaimer
* project invite viewer -> editor flow
* extra minor fixes
* Change project role input label
* extra test assertions
---------
Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
* first batch of changes
* tests fix
* FE fixed
* renaming constants
* test fixes
* moar test fixes
* another test fix
* reenable app rover check
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* fix(gatekeeper): missing priceId-s should stop the server from booting
* feat(shared): add all new workspace plans
* feat(billing): add new world plans
* feat(ci): use stripe sandbox id-s from test env vars
* chore(ci): remove defunct stripe context
* chore(server-env): fix server env example
* feat(gatekeeper): add missing plans to graphql schema
* test(gatekeeper): update plan upgrade tests to match implementation
* fix(ci): update ci .env source
* fix(ci): we do need some secrets from stripe
* fix(ci): run gql schema introspect with the test env
* fix(frontend): format new plan names
* chore(ci): temp disable gql schema checks
* feat(helm): add unlimited seat prices env vars
* feat(helm): add unlimited seat prices to values
* feat(gatekeeper): do not load priceId-s as a side effect, load with module init
* WIP can create project
* WIP can create project more work
* complete body, stencil tests
* feat(shared): move workspace plan types into shared
* test progress wip
* feat(shared): add more logic to canCreateWorkspaceProject
* a few more tests, as a treat
* chore(authz): round out tests
* fixed loaders, new GQL checks, dataLoaders in auth loaders
* fix(authz): get workspace limits loader
* chore(authz): update loaders
* frontend fixed up to snuff
* fix(authz): fix workspace plans for tests
* fix(authz): classic
* fix(authz): 0 counts
---------
Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
* 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>
* 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?
* 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>
* 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
* feat(workspaces): add workspace sso feature flag
* feat(workspaceSso): wip validate sso
* feat(workspaces): validate and add sso provider to the workspace with user sso sessions
* feat(workspaces): validate and add sso provider to the workspace with user sso sessions
* WIP
* fix(sso): restructure to handle all branches at end of flow
* fix(sso): add and validate emails used for sso
* fix(sso): park progress
* chore(workspaces): review sso login/valdate
* fix(sso): adjust validate url
* chore(sso): auth header puzzle
* fix(sso): happy-path config
* chore(gql): gqlgen
* fix(sso): almost almost
* fix(sso): auth endpoint
* a lil more terse
* fix(sso): light at the end of the tunnel
* fix(sso): improve catch block error messages
* fix(sso): session lifespan => validUntil
* fix(sso): I think we've got it
* feat(sso): limited workspace values for public sso login
* fix(sso): use factory functions
* fix(sso): til decrypt is single-use
* fix(sso): correct usage of access codes
* fix(sso): use finalize middleware in all routes
* chore(sso): cheeky tweak
* fix(sso): move some types around
* fix(sso): stencil final shape I'm sleepy
* fix(sso): more factories more factories
* fix(sso): on to final boss of factories
* fix(sso): needs a haircut but she works
* fix(sso): init rest w function, not side-effects
* fix(sso): /authn => /sso
* chore(sso): errors
* chore(sso): test test test
* chore(sso): test all the corners
* feat(sso): list workspace sso memberships
* chore(sso): tests, expose in rest
* fix(sso): sketch active user auth
* fix(sso): expose search via gql
* fix(sso): active user session information
* chore(sso): sso session test utils
* chore(sso): test sso session repo/services
* chore(sso): gqlgen
* feat(sso): throw error on missing or expired sso session
* chore(sso): tests for SSO access protection
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
* 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