Compare commits

..

No commits in common. "main" and "c64387668de1fd633a1759ab1bda5a914848f3da" have entirely different histories.

3 changed files with 8 additions and 69 deletions

View File

@ -1,21 +0,0 @@
---
kind: pipeline
name: linters
steps:
- name: publish image
image: plugins/docker
settings:
auto_tag: true
username: thecoopcloud
password:
from_secret: thecoopcloud_password
repo: thecoopcloud/outline-with-patch
tags: latest
when:
event:
exclude:
- pull_request
trigger:
branch:
- main

View File

@ -8,7 +8,7 @@ import {
} from "../errors";
import mailer from "../mailer";
import { Collection, Team, User } from "../models";
import teamCreator, { findExistingTeam } from "./teamCreator";
import teamCreator from "./teamCreator";
import userCreator from "./userCreator";
type Props = {|
@ -53,15 +53,13 @@ export default async function accountProvisioner({
}: Props): Promise<AccountProvisionerResult> {
let result;
try {
result =
(await findExistingTeam(authenticationProviderParams)) ||
(await teamCreator({
name: teamParams.name,
domain: teamParams.domain,
subdomain: teamParams.subdomain,
avatarUrl: teamParams.avatarUrl,
authenticationProvider: authenticationProviderParams,
}));
result = await teamCreator({
name: teamParams.name,
domain: teamParams.domain,
subdomain: teamParams.subdomain,
avatarUrl: teamParams.avatarUrl,
authenticationProvider: authenticationProviderParams,
});
} catch (err) {
throw new AuthenticationError(err.message);
}

View File

@ -12,44 +12,6 @@ type TeamCreatorResult = {|
isNewTeam: boolean,
|};
export async function findExistingTeam(authenticationProvider: {|
name: string,
providerId: string,
|}): Promise<TeamCreatorResult | null> {
// Should outline deployed in a multi-tenant environment, skip searching
// for an existing team.
if (process.env.DEPLOYMENT === "hosted") return null;
// get the first team that exists, ordered by createdAt
const team = await Team.findOne({ limit: 1, order: ["createdAt"] });
if (team === null) {
return null;
}
// query if a corresponding authenticationProvider already exists
let authenticationProviders = await team.getAuthenticationProviders({
where: {
name: authenticationProvider.name,
},
});
// ... if this is not the case, create a new authentication provider
// that we use instead, overwriting the providerId with the domain of the team
let authP =
authenticationProviders.length === 0
? await team.createAuthenticationProvider({
...authenticationProvider,
providerId: team.domain,
})
: authenticationProviders[0];
return {
authenticationProvider: authP,
team: team,
isNewTeam: false,
};
}
export default async function teamCreator({
name,
domain,