mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 12:37:55 +00:00
244 lines
5.4 KiB
TypeScript
244 lines
5.4 KiB
TypeScript
import { TreeGraphData } from '@antv/g6-core';
|
|
|
|
export type ISODateString =
|
|
`${number}-${number}-${number}T${number}:${number}:${number}.${number}+${number}:${number}`;
|
|
|
|
export type GraphConfigType = 'datasource' | 'dimension' | 'metric';
|
|
export type UserName = string;
|
|
|
|
export type SensitiveLevel = 0 | 1 | 2 | null;
|
|
|
|
// export type RefreshGraphData = (graphRootData: TreeGraphData) => void;
|
|
|
|
export type ToolBarSearchCallBack = (text: string) => void;
|
|
|
|
export declare namespace IDataSource {
|
|
interface IIdentifiersItem {
|
|
name: string;
|
|
type: string;
|
|
}
|
|
|
|
interface IDimensionsItem {
|
|
name: string;
|
|
type: string;
|
|
expr: null;
|
|
dateFormat: 'YYYY-MM-DD';
|
|
typeParams: {
|
|
isPrimary: boolean;
|
|
timeGranularity: string;
|
|
};
|
|
isCreateDimension: number;
|
|
nameCh: string;
|
|
}
|
|
|
|
interface IMeasuresItem {
|
|
name: string;
|
|
agg: string;
|
|
expr: string;
|
|
constraint: string;
|
|
alias: string;
|
|
create_metric: string;
|
|
nameCh: string;
|
|
isCreateMetric: number;
|
|
}
|
|
interface IDataSourceDetail {
|
|
queryType: string;
|
|
sqlQuery: string;
|
|
tableQuery: string;
|
|
identifiers: IIdentifiersItem[];
|
|
|
|
dimensions: IDimensionsItem[];
|
|
measures: IMeasuresItem[];
|
|
}
|
|
|
|
interface IDataSourceItem {
|
|
createdBy: UserName;
|
|
updatedBy: UserName;
|
|
createdAt: ISODateString;
|
|
updatedAt: ISODateString;
|
|
id: number;
|
|
name: string;
|
|
bizName: string;
|
|
description: string;
|
|
status: number | null;
|
|
sensitiveLevel: SensitiveLevel;
|
|
domainId: number;
|
|
databaseId: number;
|
|
datasourceDetail: IDataSourceDetail;
|
|
}
|
|
type IDataSourceList = IDataSourceItem[];
|
|
}
|
|
|
|
export declare namespace ISemantic {
|
|
interface IDomainItem {
|
|
createdBy?: string;
|
|
updatedBy?: string;
|
|
createdAt?: string;
|
|
updatedAt?: string;
|
|
id: number;
|
|
name: string;
|
|
bizName: string;
|
|
description: any;
|
|
status?: number;
|
|
typeEnum?: any;
|
|
sensitiveLevel?: number;
|
|
parentId: number;
|
|
fullPath?: string;
|
|
viewers?: any[];
|
|
viewOrgs?: any[];
|
|
admins?: string[];
|
|
adminOrgs?: any[];
|
|
isOpen?: number;
|
|
entity?: { entityId: number; names: string[] };
|
|
dimensionCnt?: number;
|
|
metricCnt?: number;
|
|
}
|
|
|
|
interface IDimensionItem {
|
|
createdBy: string;
|
|
updatedBy: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
id: number;
|
|
name: string;
|
|
bizName: string;
|
|
description: string;
|
|
status: number;
|
|
typeEnum: any;
|
|
sensitiveLevel: number;
|
|
domainId: number;
|
|
type: string;
|
|
expr: string;
|
|
fullPath: string;
|
|
datasourceId: number;
|
|
datasourceName: string;
|
|
datasourceBizName: string;
|
|
semanticType: string;
|
|
alias: string;
|
|
useCnt: number;
|
|
dimValueMaps: IDimensionValueSettingItem[];
|
|
}
|
|
|
|
interface IDimensionValueSettingItem {
|
|
techName: string;
|
|
bizName: string;
|
|
alias?: string[];
|
|
}
|
|
interface IMeasure {
|
|
name: string;
|
|
agg?: string;
|
|
expr: string;
|
|
constraint?: string;
|
|
alias?: string;
|
|
createMetric?: string;
|
|
bizName: string;
|
|
isCreateMetric?: number;
|
|
datasourceId: number;
|
|
}
|
|
interface ITypeParams {
|
|
measures: IMeasure[];
|
|
expr: string;
|
|
}
|
|
|
|
interface IMetricItem {
|
|
createdBy: string;
|
|
updatedBy: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
id: number;
|
|
name: string;
|
|
bizName: string;
|
|
description: string;
|
|
status: number;
|
|
typeEnum: string;
|
|
sensitiveLevel: number;
|
|
domainId: number;
|
|
domainName: string;
|
|
type: string;
|
|
typeParams: ITypeParams;
|
|
fullPath: string;
|
|
dataFormatType: string;
|
|
dataFormat: string;
|
|
alias: string;
|
|
useCnt: number;
|
|
}
|
|
|
|
type IDimensionList = IDimensionItem[];
|
|
type IMetricList = IMetricItem[];
|
|
|
|
interface IDomainSchemaRelaItem {
|
|
domainId: number;
|
|
dimensions: IDimensionList;
|
|
metrics: IMetricList;
|
|
datasource: IDataSourceItem;
|
|
}
|
|
type IDomainSchemaRelaList = IDomainSchemaRelaItem[];
|
|
}
|
|
|
|
export declare namespace IChatConfig {
|
|
interface IEntity {
|
|
domainId: number;
|
|
domainName: string;
|
|
domainBizName: string;
|
|
names: string[];
|
|
entityIds: ISemantic.IMetricItem[];
|
|
entityInternalDetailDesc: {
|
|
dimensionList: ISemantic.IDimensionList;
|
|
metricList: ISemantic.IMetricList;
|
|
};
|
|
}
|
|
|
|
interface IConfig {
|
|
id: any;
|
|
domainId: number;
|
|
domainName: string;
|
|
chatAggRichConfig: IChatRichConfig;
|
|
chatDetailRichConfig: IChatRichConfig;
|
|
bizName: string;
|
|
statusEnum: string;
|
|
createdBy: string;
|
|
updatedBy: string;
|
|
createdAt: string;
|
|
updatedAt: string;
|
|
}
|
|
|
|
interface IKnowledgeInfosItem {
|
|
itemId: number;
|
|
bizName: string;
|
|
type?: string;
|
|
searchEnable?: boolean;
|
|
knowledgeAdvancedConfig?: IKnowledgeConfig;
|
|
}
|
|
|
|
type IKnowledgeInfosItemMap = Record<IKnowledgeInfosItem.bizName, IKnowledgeInfosItem>;
|
|
|
|
interface IKnowledgeConfig {
|
|
blackList: string[];
|
|
whiteList: string[];
|
|
ruleList: string[];
|
|
}
|
|
|
|
interface IChatRichConfig {
|
|
id?: number;
|
|
visibility: {
|
|
blackDimIdList: number[];
|
|
blackMetricIdList: number[];
|
|
whiteDimIdList: number[];
|
|
whiteMetricIdList: number[];
|
|
};
|
|
entity: {
|
|
names: string[];
|
|
dimItem: ISemantic.IDimensionItem;
|
|
};
|
|
knowledgeInfos: IKnowledgeInfosItem[];
|
|
globalKnowledgeConfig: IKnowledgeConfig;
|
|
chatDefaultConfig: {
|
|
dimensions: ISemantic.IDimensionList;
|
|
metrics: ISemantic.IMetricList;
|
|
ratioMetrics: ISemantic.IMetricList;
|
|
unit: number;
|
|
period: string;
|
|
};
|
|
}
|
|
}
|