import { FIELD_TYPE } from './field-type';
/**
 * 字段数据绑定元信息接口
 * 用于描述字段与模型之间的绑定关联关系，包含主表和子表的绑定配置
 *
 * @example
 * 主表 模型key为 fm_4cmuyhmp 示例
 * const mainBinding1 = {
 *   fieldLink: "f_wb",
 *   modelLink: "fm_4cmuyhmp",
 * };
 *
 * @example
 * 主表 模型key为 fm_4cmuyhmp 引用示例
 * const mainBinding2 = {
 *   fieldLink: "f_mxgl.original_workflow_id_.version_",
 *   modelLink: "fm_4cmuyhmp.em_container.em_workflow",
 * };
 *
 * 子表 模型key为 fm_rhmu6kuo 示例
 * const subTableBinding1 = {
 *   fieldLink: "f_zs",
 *   modelLink: "fm_rhmu6kuo",
 *   subFieldKey: "f_dtb"
 * };
 *
 * @example
 * 子表 模型key为 fm_rhmu6kuo 引用示例
 * const subTableBinding2 = {
 *   fieldLink: "f_sub_mxgl.parent_container_id_.edhr_inst_id_",
 *   modelLink: "fm_rhmu6kuo.em_parent_container.em_container",
 *   subFieldKey: "f_dtb"
 * };
 *
 * @example
 * valuePath
 * $.f_gdb[n].routing_operation_1_
 * $.scrap_material_1_
 */
export interface FieldDataBindingMeta {
    /** 字段类型 */
    fieldType: FIELD_TYPE;
    /**
     * 字段链路
     * 标识字段的关联路径或唯一标识
     */
    fieldLink: string;
    /**
     * 模型链路
     * 标识绑定的模型路径或模型唯一标识
     */
    modelLink: string;
    /**
     * 数据路径
     * 标识字段对应数据的提取/存储路径
     */
    valuePath: string;
    /**
     * 是否是关联模型字段
     */
    isLinkedModelField: boolean;
    /**
     * 子表字段关键字
     * 可选属性，仅子表绑定配置时需要，用于标识子表字段的唯一关键字
     */
    subFieldKey?: string;
}
