Files
n8n-enterprise-unlocked/packages/cli/src/databases/entities/auth-identity.ts
कारतोफ्फेलस्क्रिप्ट™ 6a35812f92 ci: Setup biome and pre-commit hooks for formatting (no-changelog) (#10795)
Co-authored-by: Tomi Turtiainen <10324676+tomi@users.noreply.github.com>
2024-09-17 15:10:22 +03:00

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;
}
}