mirror of
https://github.com/n8n-io/n8n
synced 2026-04-21 15:47:20 +00:00
46 lines
1 KiB
TypeScript
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;
|
|
}
|