* fix(errors): all error should define a status code (default is 500)
- rename NoInviteFoundError to InviteNotFoundError to match xNotFoundError pattern
* remove unused errors
* 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>