argos/dmp-frontend/src/app/core/model/tenant/tenant.ts

70 lines
1.3 KiB
TypeScript

import { BaseEntity, BaseEntityPersist } from "@common/base/base-entity.model";
export interface Tenant extends BaseEntity{
name?: string;
code?: string;
description?: string;
config?: TenantConfig;
}
export interface TenantConfig{
deposit: TenantDepositConfig;
fileTransformers: TenantFileTransformersConfig;
}
export interface TenantDepositConfig{
sources: TenantSource[];
}
export interface TenantFileTransformersConfig{
sources: TenantSource[];
}
export interface TenantSource{
url: string;
codes: string[];
issuerUrl: string;
clientId: string;
clientSecret: string;
scope: string;
}
export interface SourceCode{
code: string;
}
//persist
export interface TenantPersist extends BaseEntityPersist{
name: string;
code: string;
description: string;
config?: TenantConfigPersist;
}
export interface TenantConfigPersist{
deposit: TenantDepositConfigPersist;
fileTransformers: TenantFileTransformersConfigPersist;
}
export interface TenantDepositConfigPersist{
sources: TenantSourcePersist[];
}
export interface TenantFileTransformersConfigPersist{
sources: TenantSourcePersist[];
}
export interface TenantSourcePersist{
url: string;
codes: string[];
issuerUrl: string;
clientId: string;
clientSecret: string;
scope: string;
}
export interface SourceCodePersist{
code: string;
}