n8n/packages/cli/src/modules/dynamic-credentials.ee/database/entities/dynamic-credential-user-entry.ts

46 lines
1 KiB
TypeScript

import { CredentialsEntity, User, WithTimestamps } from '@n8n/db';
import { Column, Entity, JoinColumn, ManyToOne, PrimaryColumn } from '@n8n/typeorm';
import { DynamicCredentialResolver } from './credential-resolver';
/**
* Stores user-specific dynamic credential data resolved by a credential resolver.
*/
@Entity({
name: 'dynamic_credential_user_entry',
})
export class DynamicCredentialUserEntry extends WithTimestamps {
constructor() {
super();
}
@PrimaryColumn({
name: 'credentialId',
})
credentialId: string;
@PrimaryColumn({
name: 'userId',
})
userId: string;
@PrimaryColumn({
name: 'resolverId',
})
resolverId: string;
@Column('text')
data: string;
@ManyToOne(() => CredentialsEntity, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'credentialId' })
credential: CredentialsEntity;
@ManyToOne(() => User, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'userId' })
user: User;
@ManyToOne(() => DynamicCredentialResolver, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'resolverId' })
resolver: DynamicCredentialResolver;
}