* feat(workspaces): move project, like this
* fix(workspaces): use new event
* fix(workspaces): add resolver again after merge
* chore(workspaces): lint
* fix(workspaces): works but is a bit illegal
* fix(workspaces): use service update
* chore(workspaces): add unit tests
* fix(workspaces): use transaction
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.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
* feat(workspaces): do not allow discoverablity if no verified domains
* feat(workspaces): do not allow domainBasedMembershipProtection if no verified domains
* test(workspaces): fix tests
* test(workspaces): fix invites test
* blocking workspace project invites from incorrect resolver
* invite create validation fixes + tests
* fix for email added on decline
* doing init validation on finalization as well
* more tests
* fix(server): allow accepting an email invite even if already a member
* fix(fe2): support accepting invites even if a workspace member already
* blocking workspace project invites from incorrect resolver
* invite create validation fixes + tests
* fix for email added on decline
* doing init validation on finalization as well
* more tests
* fix(workspaces): transact all simultaneous workspace-project role changes
* fix(workspaces): more correct usage of transactions
* fix(workspaces): add tests for transaction-based role changes
* fix(workspaces): do not leak knex into domain
* fix(workspaces): transaction-ify factory functions
* fix(workspaces): factory-ify some old functions
* fix(workspaces): missed a resolver
* chore(workspaces): get tests in order
* park it
* chore(workspaces): failing tests
* WHAT DO YOU WANT
* fix(workspaces): i lived bitch
* fix(workspaces): remove test that is no longer true
* fix(workspaces): better repo/service boundaries
* right
* fix(workspaces): service in injected
* fix(workspaces): repair references
* refactor(workspaces): role management rework
* chore(workspaces): adjust tests to match new behaviour
* lint lint lint
* fix(workspaces): fix tests
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* 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>
* fix(users): verified should be a public limited user field
* feat(workspaceSecurity): update security tab copy
* feat(workspaces): add limited user domain policy compliance check
* fix(workspaces): transact all simultaneous workspace-project role changes
* fix(workspaces): more correct usage of transactions
* fix(workspaces): add tests for transaction-based role changes
* fix(workspaces): do not leak knex into domain
* fix(workspaces): transaction-ify factory functions
* fix(workspaces): factory-ify some old functions
* fix(workspaces): missed a resolver
* fix(workspaces): delete comment (very difficult)
* 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>
* fix(workspaces): guests do not get workspace-wide project access
* fix(workspaces): update roles-related test
* fix(workspaces): roles only update on member add
* list invites table
* invites list works
* update last reminded date on resend
* fix FE
* WIP invitedialog + updated debounced utility
* invite create works
* exclude users correctly
* more adjustments
* minor cleanup
* using workspace invite server role
* test fix
* fixed multiple root eslint issues
* minor adjustments
* 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