* 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>
* feat(graphql/serverinfo): provide maximum object size in bytes
* Places config values in a ServerConfiguration object
- updates blobstorage to use ServerConfiguration, while retaining backwards compatibility
* fix(fe2): properly handling invitedTeam auth error
* fix(fe2): disable invite dialog if not workspace admin
* fix(useremails): fix for default primary:true when creating new emails
* test fix
* chore(logging): include additional detail on object upload logs
* allow max file size to be configurable
* feat(logging): add logger to core/services/objects
* fix log line
* fix tests
* typo
* fix variable name
* convert values to megabytes
* calculating memory was causing the system to freeze
* calculating memory was causing the system to freeze
* DRY the logging metadata
* all required variables should be passed to calculateLogMetadata
* fix many things with the logging
* prep for new resources algo
* typescriptifying stuff
* minor types fix
* migrate to resources col
* repo & creation updated, WIP processing/retrieval
* WIP invite processing
* finished finalization refactor
* project invite management
* transformed all invites services
* fixed up projects & core serverinvites resolvers
* test fixes
* WIP workspace create GQL & test
* basic invite creation test works
* a buncha working tests
* more tests
* cancelation tests
* minor invite use refactor
* invite retrieval tasks
* invite use() works as expected
* filtering out broken invites
* enabled invite retrieval by token irregardless of who is it for
* minor adjustments
* tests fix
* test config improvements
* test env adjustment
* extra test case
* making resource access limits harder to ignore
* linter fixes
* eventBus type cleanup
* better generic names
* refactored serverinvites resource migration
* fix(server): better error message in project invite edge case
* feat(workspaces): drop createdByUserId from the dataschema
* feat(workspaces): repositories WIP
* merge
* protect against removing last admin in workspace
* quick impl and stub tests
* add tests
* services
* unit tests for role services
* feat(workspaces): authorize project creation if workspace specified
* feat(workspaces): emit project created event
* feat(workspaces): assign roles on project create in workspace
* feat(workspaces): update project roles when user added to workspace
* fix(workspaces): perform automatic project role update in service function
* fix(workspaces): also delete roles
* fix(workspaces): broke tests again oops
* fix(workspaces): update `onProjectCreated` listener to use new repo method
* fix(workspaces): use service function in event listener
* fix(workspaces): get workspace projects via existing stream repo functions
* fix(workspaces): roles mapping in domain, use enum
* fix(workspaces): repair type reference in tests
* fix(workspaces): consolidate files, use different existing stream-getter
* fix(workspaces): more specific error
* fix(workspaces): yield per page
* fix(workspaces): some test dry
* fix(workspaces): superdry
* fix(workspaces): classic
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* feat(workspaces): drop createdByUserId from the dataschema
* feat(workspaces): repositories WIP
* merge
* protect against removing last admin in workspace
* quick impl and stub tests
* add tests
* services
* unit tests for role services
* feat(workspaces): authorize project creation if workspace specified
* feat(workspaces): emit project created event
* fix(workspaces): protect against adding a project to a workspace if module not enabled
* fix(workspaces): oops broke tests during merge
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
* chore(serverinvites): repository refactor for multiregion
* chore(serverinvites): remove migrated functions from old repository
* chore(serverinvites): refactor serverInviteForToken resolver for multiregion
* chore(serverinvites): invite processing service refactor for multiregion
* chore(serverinvites): subscription refactor for multiregion
* chore(serverinvites): move buildEmailContents to dedicated file
* chore(serverinvites): deleteAllStreamInvites function multiregion refactor
* chore(serverinvites): refactor deleteServerOnlyInvites multiregion repository
* chore(serverinvites): complete repository refactor for multiregion
* feat(serverinvites): create domain module in server invites
* fix(serverinvites): no relative imports
* feat(serverinvites): extract individual types from repository
* feat(serverinvites): move interfaces to operations
* fix(serverinvites): update imports referencing old interfaces file
* fix(serverinvites): type mismatch for insert invite and delete old
* chore(serverinvites): refactor to single repo function
* test(serverinvites): fix tests
* fix(serverinvites): use domain types in all places
* feat(serverinvites): WIP unity
* feat(serverinvites): move to new facory names and types
* feat(serverinvites): fix tests
* fix(serverinvites): use factory name
---------
Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>