* wip
* wip
* fix comments
* better separation of conerns
* fix up tests
* fix semantics
* fixup tsc
* fix some tests
* the old semantics were easier to use
* add db:reset to scripts
* explicitly throw for unauthorized external authorization
* fix minor bug
* add additional tests for user creator and team creator
* yank the email matching logic out of teamcreator
* renaming
* fix type and test errors
* adds test to ensure that accountProvisioner works with email matching
* remove only
* fix comments
* recreate changes to allow self hosted to make teams
* make the user lookup in user creator sensitive to team
* add team specific logic to oidc strat
* factor out slugifyDomain
* change type of req during auth to Koa.Context
* chore: Async user avatar upload processor
* chore: Async team avatar upload
* Refactor to task for retries
* Docs
Include avatarUrl in task props to prevent race condition
Remove transaction around upload fetch request
Fixes#3412
Previously the only way to restrict the domains for a Team were with the ALLOWED_DOMAINS environment variable for self hosted instances.
This PR migrates this to be a database backed setting on the Team object. This is done through the creation of a TeamDomain model that is associated with the Team and contains the domain name
This settings is updated on the Security Tab. Here domains can be added or removed from the Team.
On the server side, we take the code paths that previously were using ALLOWED_DOMAINS and switched them to use the Team allowed domains instead
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously.
closes#1282