mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
Some checks are pending
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
Benchmark Docker Image CI / build (push) Waiting to run
Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
39 lines
845 B
TypeScript
39 lines
845 B
TypeScript
import { Column, Entity, ManyToOne, PrimaryColumn, Unique } from '@n8n/typeorm';
|
|
|
|
import { WithTimestamps } from './abstract-entity';
|
|
import { User } from './user';
|
|
|
|
export type AuthProviderType = 'ldap' | 'email' | 'saml'; // | 'google';
|
|
|
|
@Entity()
|
|
@Unique(['providerId', 'providerType'])
|
|
export class AuthIdentity extends WithTimestamps {
|
|
@Column()
|
|
userId: string;
|
|
|
|
@ManyToOne(
|
|
() => User,
|
|
(user) => user.authIdentities,
|
|
)
|
|
user: User;
|
|
|
|
@PrimaryColumn()
|
|
providerId: string;
|
|
|
|
@PrimaryColumn()
|
|
providerType: AuthProviderType;
|
|
|
|
static create(
|
|
user: User,
|
|
providerId: string,
|
|
providerType: AuthProviderType = 'ldap',
|
|
): AuthIdentity {
|
|
const identity = new AuthIdentity();
|
|
identity.user = user;
|
|
identity.userId = user.id;
|
|
identity.providerId = providerId;
|
|
identity.providerType = providerType;
|
|
return identity;
|
|
}
|
|
}
|