* 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
* feat(workspaces: shuffle seat type counts around
* fix(workspaces): use new counts
* fix(workspaces): better field placement
* Updated FE
* chore(workspaces): fix tests
* fix(workspaces): use correct flags
* fix(workspaces): correct another test
* fix(workspaces): use correct model count function
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
* chore: add no floating promises lint rule
* minor cleanup
* fix test by only running if node 22 or greater
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
* feat: getting rid of defaultProjectRole setting
* get stdout reporting in CI
* yarn lock fix
* fix package.json
* better CI test output
* pinning mocha-multi
* 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(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
* 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>
* 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
* chore(workspaces): workspace cost schema
* chore(workspaces): test helper for workspace cost
* feat(workspaces): workspace billing cost
* fix(workspaces): fix onProjectCreated failing for the project creator if the creator is a member
* refactor(workspaces): change workspace cost calculation to a simpler query
* test(workspaceCost): fix costing logic and tests
* fix(workspaceTests): project emmiter needs owner now
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* chore(workspaces): billing version limit graphql schema
* chore(workspaces): billing member role required
* chore(core): test helper for random string
* chore(core): test helpers
* chore(workspaces): workspaces billing version resolver
* chore(workspaces): rename version to versionsCount
* Implemented workspace general page
* Added notifications to user input
* Allowed non-admins to view but not edit
* Added redirect to homeroute
* Fixed validation
* Squashed commit of the following:
commit 7bf14ab8af0f76b4c9d0aa87fc08085af7c34959
Author: Chuck Driesler <chuck@speckle.systems>
Date: Tue Aug 6 19:40:50 2024 +0200
mob next [ci-skip] [ci skip] [skip ci]
lastFile:packages/server/modules/workspacesCore/migrations/20240806160740_workspace_domains.ts
commit 8aa3fb0cb052c10eeeb83bf9874ae0d1c065e480
Author: Alessandro Magionami <alessandro.magionami@gmail.com>
Date: Tue Aug 6 18:54:15 2024 +0200
mob next [ci-skip] [ci skip] [skip ci]
lastFile:packages/server/modules/core/domain/userEmails/operations.ts
commit 66dfd0cf6c15a789c8f96a65a3168323e83a7b9e
Author: Chuck Driesler <chuck@speckle.systems>
Date: Tue Aug 6 18:30:22 2024 +0200
mob next [ci-skip] [ci skip] [skip ci]
lastFile:packages/server/modules/workspacesCore/domain/types.ts
Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>
* Move General to workspaces folder
* feat(workspaces): inputs on security section
* feat(workspaces): add domain to workspace mutation
* chore(workspaces): add blocked domains list
* fix(workspaces): modals with buttons
* feat(workspaceDomains): delete domain
* fix(workspaces): use mutation
* fix(workspaces): present user verified domains as options
* Moved sidebar menu to a composable
* Added coming soon tag back
* feat(workspaces): create domains resolver for workspace
* chore(workspaces): fix tests
* chore(workspaces): fix types
* chore(workspaces): fix linter
* fix(workspaces): do some delete I think
* chore(workspaces): add domainBasedMembershipProtectionEnabled field to workspace
* chore(workspaces): improve validation for email domain
* fix(workspace): query and do the thing
* chore(workspaces): add graphql schema for domainBasedMembershipProtection
* chore(workspaces): lint and test failures
* fix(workspaces): test issues w new field
* feat(workspaces): add discoverability flag
* chore(workspaces): they made me do it
* feat(workspaces): enable toggling domain protection
* feat(workspaces): add discoverability toggle to workspace settings
* feat(workspace): auto enable discoverability on first domain registration
* feat(workspace): discoverability toggle fixes
* fix(eventBus): fix tests
* feat(workspaces): user discoverable workspaces (#2620)
* feat(workspaces): it works just trust me
* fix(workspaces): don't worry about it
* fix(workspaces); happy path success
* fix(workspaces): almost there
* fix(workspaces): successful tests!
* fix(workspaces): we have DISCOVERED (#2621)
* Fixed linting issue
* Updated query
* Updated validation rules
* Updated validation rules
* Fix unsaved file with type export
* Addressed PR comments
* Updated cache
* Updated item classes, add fragment back
* Gergo/web 1574 join workspaces via discovery (#2623)
* chore(useremails): add find verified emails by user function
* chore(workspace): table helper for workspace domains
* chore(workspace): get workspace with domains function
* chore(workspace): test get workspace with domains function
* feat(workspace): restrict workspace membership when updating workspace role
* chore(workspaces): fix types
* feat(workspaces): WIP join
* feat(workspaces): join button makes u join
* chore(useremails): fix type for find verified emails function
* feat(workspaces): join
* feat(workspace): prevent inviting user without email matching domain
* chore(workspaces): fix linter
* fix(workspaces): invoke join (gergo wrote this)
* fuck
* fix(workspaces): properly get discoverable workspaces
* fix(workspaces): test
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Chuck Driesler <chuck@speckle.systems>
* fix(workspaces): some query stuff
* fix(workspaces): mutate cache instead of refetch
* fix(workspaces): more adjustments to gql query and fragment structure
* fix(workspaces): queries, style, structure
* fix(workspaces): match discoverability with current styles
* chore(workspaces): lint lint lint
* fix(workspaces): got it twisted
* chore(workspaces): fix test
* fix(workspaces): route to joined workspace on join
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>
* feat(workspaces): delete workspace repo function
* feat(workspaces): services for the resolver, crack order of operations, migration
* fix(workspaces): add tests for delete
* fix(workspaces): better service boundary
* fix(workspaces): linttttt