import { BasicPageParams } from '/@/api/model/baseModel';

export type ScreenLinkPageQueryParam = BasicPageParams & ScreenParams;

export type ScreenParams = {
  organizationId?: string;
  status?: string;
  name?: string;
  sceneLinkageId?: string;
};

export type ScreenByDeptIdParams = {
  organizationId: string;
  // organizationId: '2f5c8f2a-196c-4941-8771-290f9da76219';
};

export interface ScreenAddModel {
  createTime?: string;
  creator?: string;
  defaultConfig?: string;
  description?: string;
  doAction?: [
    {
      command: string;
      createTime: string;
      creator: string;
      defaultConfig: string;
      description: string;
      deviceId: string;
      enabled: true;
      icon: string;
      id: string;
      name: string;
      outPut: string;
      outTarget: string;
      roleIds: [];
      tenantCode: string;
      tenantExpireTime: string;
      tenantId: string;
      tenantStatus: 'DISABLED';
      updateTime: string;
      updater: string;
    }
  ];
  doCondition?: [
    {
      compare: 0;
      createTime: string;
      creator: string;
      defaultConfig: string;
      description: string;
      deviceId: string;
      enabled: true;
      icon: string;
      id: string;
      name: string;
      property: string;
      roleIds: [];
      status: string;
      tenantCode: string;
      tenantExpireTime: string;
      tenantId: string;
      tenantStatus: 'DISABLED';
      updateTime: string;
      updater: string;
      value: string;
    }
  ];
  enabled?: true;
  icon?: string;
  id?: string;
  name?: string;
  organizationId?: string;
  roleIds?: [string];
  status?: string;
  tenantCode?: string;
  tenantExpireTime?: string;
  tenantId?: string;
  tenantStatus?: 'DISABLED';
  triggers?: [
    {
      attributeChoose?: string;
      compare?: 0;
      createTime?: string;
      creator?: string;
      defaultConfig?: string;
      description?: string;
      deviceId?: string;
      enabled?: true;
      icon?: string;
      id?: string;
      name?: string;
      roleIds?: [];
      tenantCode?: string;
      tenantExpireTime?: string;
      tenantId?: string;
      tenantStatus?: 'DISABLED';
      tiggerEvent?: string;
      touchWay?: string;
      updateTime?: string;
      updater?: string;
      value?: string;
    }
  ];
  updateTime?: string;
  updater?: string;
}

export interface IChangeStatus {
  status?: number;
  id?: string;
}
export interface ScreenUpdateModel {
  createTime?: string;
  creator?: string;
  defaultConfig?: string;
  description?: string;
  doAction?: [
    {
      command: string;
      createTime: string;
      creator: string;
      defaultConfig: string;
      description: string;
      deviceId: string;
      enabled: true;
      icon: string;
      id: string;
      name: string;
      outPut: string;
      outTarget: string;
      roleIds: [];
      tenantCode: string;
      tenantExpireTime: string;
      tenantId: string;
      tenantStatus: 'DISABLED';
      updateTime: string;
      updater: string;
    }
  ];
  doCondition?: [
    {
      compare: 0;
      createTime: string;
      creator: string;
      defaultConfig: string;
      description: string;
      deviceId: string;
      enabled: true;
      icon: string;
      id: string;
      name: string;
      property: string;
      roleIds: [];
      status: string;
      tenantCode: string;
      tenantExpireTime: string;
      tenantId: string;
      tenantStatus: 'DISABLED';
      updateTime: string;
      updater: string;
      value: string;
    }
  ];
  enabled?: true;
  icon?: string;
  id?: string;
  name?: string;
  organizationId?: string;
  roleIds?: [string];
  status?: string;
  tenantCode?: string;
  tenantExpireTime?: string;
  tenantId?: string;
  tenantStatus?: 'DISABLED';
  triggers?: [
    {
      attributeChoose?: string;
      compare?: 0;
      createTime?: string;
      creator?: string;
      defaultConfig?: string;
      description?: string;
      deviceId?: string;
      enabled?: true;
      icon?: string;
      id?: string;
      name?: string;
      roleIds?: [];
      tenantCode?: string;
      tenantExpireTime?: string;
      tenantId?: string;
      tenantStatus?: 'DISABLED';
      tiggerEvent?: string;
      touchWay?: string;
      updateTime?: string;
      updater?: string;
      value?: string;
    }
  ];
  updateTime?: string;
  updater?: string;
}
