* 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
- when sending Speckle objects to the server, they are batched into multi-part files
- a multi-part file therefore contains one or more Speckle objects
- the maximum limit for the multi-part file must therefore be greater than the maximum limit for a single Speckle object
* Fixed reactivity, added workspace logo to create workspace modal
* Reverse order so name is focussed first
* Fix typo
* feat(workspaces): allow sending the logo on ws creation
* Fix avatar uploading
* Added default index 0
* fix(workspaces): maybe default logo
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>