* feat(workspaces): add workspace sso feature flag
* feat(workspaceSso): wip validate sso
* feat(workspaces): validate and add sso provider to the workspace with user sso sessions
* feat(workspaces): validate and add sso provider to the workspace with user sso sessions
* WIP
* fix(sso): restructure to handle all branches at end of flow
* fix(sso): add and validate emails used for sso
* fix(sso): park progress
* chore(workspaces): review sso login/valdate
* fix(sso): adjust validate url
* chore(sso): auth header puzzle
* fix(sso): happy-path config
* chore(gql): gqlgen
* fix(sso): almost almost
* fix(sso): auth endpoint
* a lil more terse
* fix(sso): light at the end of the tunnel
* fix(sso): improve catch block error messages
* fix(sso): session lifespan => validUntil
* fix(sso): I think we've got it
* feat(sso): limited workspace values for public sso login
* fix(sso): use factory functions
* fix(sso): til decrypt is single-use
* fix(sso): correct usage of access codes
* fix(sso): use finalize middleware in all routes
* chore(sso): cheeky tweak
* fix(sso): move some types around
* fix(sso): stencil final shape I'm sleepy
* fix(sso): more factories more factories
* fix(sso): on to final boss of factories
* fix(sso): needs a haircut but she works
* fix(sso): init rest w function, not side-effects
* fix(sso): /authn => /sso
* chore(sso): errors
* chore(sso): test test test
* chore(sso): test all the corners
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
* 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>
* fix(workspaces): guests do not get workspace-wide project access
* fix(workspaces): update roles-related test
* fix(workspaces): roles only update on member add
* feat(workspaces): update/delete workspace role resolvers
* chore(workspaces): gql tests for role changes
* fix(workspaces): test syntax oops
* fix(workspaces): got it twisted
* fix(workspaces): simplify api surface, better return types
* fix(workspaces): correct role type usage, improve tests
* fix(workspaces): authorize in resolver
* fix(workspaces): correct usage of authorizeResolver
* 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