src/crypto/key/entities/keys.entity.ts
Properties |
id |
Type : string
|
Decorators :
@Column('varchar', {primary: true})
|
Defined in src/crypto/key/entities/keys.entity.ts:16
|
Unique identifier for the key. |
key |
Type : JWK
|
Decorators :
@Column('json')
|
Defined in src/crypto/key/entities/keys.entity.ts:34
|
The key material. |
tenant |
Type : TenantEntity
|
Decorators :
@ManyToOne(undefined, {cascade: true, onDelete: 'CASCADE'})
|
Defined in src/crypto/key/entities/keys.entity.ts:28
|
The tenant that owns this object. |
tenantId |
Type : string
|
Decorators :
@Column('varchar', {primary: true})
|
Defined in src/crypto/key/entities/keys.entity.ts:22
|
Tenant ID for the key. |
usage |
Type : KeyUsage
|
Decorators :
@Column('varchar', {default: 'sign'})
|
Defined in src/crypto/key/entities/keys.entity.ts:40
|
The usage type of the key. |
import { JWK } from "jose";
import { Column, Entity, ManyToOne } from "typeorm";
import { TenantEntity } from "../../../auth/tenant/entitites/tenant.entity";
/**
* Key usage types.
*/
export type KeyUsage = "sign" | "encrypt";
@Entity()
export class KeyEntity {
/**
* Unique identifier for the key.
*/
@Column("varchar", { primary: true })
id: string;
/**
* Tenant ID for the key.
*/
@Column("varchar", { primary: true })
tenantId: string;
/**
* The tenant that owns this object.
*/
@ManyToOne(() => TenantEntity, { cascade: true, onDelete: "CASCADE" })
tenant: TenantEntity;
/**
* The key material.
*/
@Column("json")
key: JWK;
/**
* The usage type of the key.
*/
@Column("varchar", { default: "sign" })
usage: KeyUsage;
}