import type { GlobalListRes } from '#/types/global';
import type { MemberSumma } from '#/utils';

/** 通道管理列表项 */
export interface TSimChannelsModel {
  /** ID */
  id: number;
  /** 模板标识 */
  tempKey: string;
  /** 模板名称 */
  tempName: string;
  /** 通道编号 */
  chanKey: string;
  /** 通道名称 */
  chanName: string;
  /** 通道配置 */
  chanConfig: string;
  /** 通道状态(0未启用,1启用) */
  chanStatus: number;
  /** 通道别名 */
  chanAlias: string;
  /** 通道行政区域代码(省市) */
  regionCode: string;
  /** 应用标识 */
  appKey: string;
  /** 应用密钥 */
  appSecret: string;
  /** 接口调用凭证 */
  accessToken: string;
  /** 凭证申请时间 */
  accessTokenCreated: string;
  /** 凭证过期时间 */
  accessTokenExpire: string;
  /** 刷新凭证 */
  refreshToken: string;
  /** 刷新凭证申请时间 */
  refreshTokenCreated: string;
  /** 刷新凭证过期时间 */
  refreshTokenExpire: string;
  /** 备注 */
  remark: string;
  /** 登录账号 */
  loginUser: string;
  /** 登录密码 */
  loginPassword: string;
  /** 登录地址 */
  loginUrl: string;
  /** 登录状态(0未启用,1启用) */
  loginState: number;
  /** 租户ID */
  tenantId: string;
  /** 创建部门 */
  createdDept: number;
  /** 创建者 */
  createdBy: number;
  /** 创建者摘要信息 */
  createdBySumma: MemberSumma;
  /** 创建时间 */
  createdAt: string;
  /** 更新者 */
  updatedBy: number;
  /** 更新者摘要信息 */
  updatedBySumma: MemberSumma;
  /** 更新时间 */
  updatedAt: string;
}

/** 获取通道管理指定信息响应项 */
export interface TSimChannelsViewModel {
  /** ID */
  id: number;
  /** 模板标识 */
  tempKey: string;
  /** 通道编号 */
  chanKey: string;
  /** 通道名称 */
  chanName: string;
  /** 通道配置 */
  chanConfig: string;
  /** 通道状态(0启用,1停用) */
  chanStatus: number;
  /** 通道别名 */
  chanAlias: string;
  /** 通道行政区域代码(省市) */
  regionCode: string;
  /** 应用标识 */
  appKey: string;
  /** 应用密钥 */
  appSecret: string;
  /** 接口调用凭证 */
  accessToken: string;
  /** 凭证申请时间 */
  accessTokenCreated: string;
  /** 凭证过期时间 */
  accessTokenExpire: string;
  /** 刷新凭证 */
  refreshToken: string;
  /** 备注 */
  remark: string;
  /** 登录账号 */
  loginUser: string;
  /** 登录密码 */
  loginPassword: string;
  /** 登录地址 */
  loginUrl: string;
  /** 租户ID */
  tenantId: string;
  /** 创建部门 */
  createdDept: number;
  /** 创建者 */
  createdBy: number;
  /** 创建时间 */
  createdAt: string;
  /** 更新者 */
  updatedBy: number;
  /** 更新时间 */
  updatedAt: string;
  /** 模板名称 */
  tempName: string;
  /** 创建者摘要信息 */
  createdBySumma: MemberSumma;
  /** 更新者摘要信息 */
  updatedBySumma: MemberSumma;
}

/** 获取通道管理列表 请求参数 */
export interface TSimChannelsListParam {
  /** 页码 */
  page?: number;
  /** 每页大小 */
  pageSize?: number;
  /** 关键字 */
  keyword?: string;
  /** ID */
  id?: number;
  /** 模板标识 */
  tempKey?: string;
  /** 通道编号 */
  chanKey?: string;
  /** 通道名称 */
  chanName?: string;
  /** 通道状态(0未启用,1启用) */
  chanStatus?: number;
  /** 创建时间 */
  createdAt?: string[];
}

/** 获取通道管理列表 响应 */
export type TSimChannelsListRes = GlobalListRes<TSimChannelsModel>;

/** 导出通道管理列表 请求参数 */
export type TSimChannelsExportParam = TSimChannelsListParam;

/** 修改/新增通道管理 请求参数 */
export interface TSimChannelsEditParam {
  /** ID */
  id?: number;
  /** 模板标识 */
  tempKey?: string;
  /** 通道编号 */
  chanKey?: string;
  /** 通道名称 */
  chanName?: string;
  /** 通道配置 */
  chanConfig?: string;
  /** 通道状态(0未启用,1启用) */
  chanStatus?: number;
  /** 通道别名 */
  chanAlias?: string;
  /** 通道行政区域代码(省市) */
  regionCode?: string;
  /** 应用标识 */
  appKey?: string;
  /** 应用密钥 */
  appSecret?: string;
  /** 接口调用凭证 */
  accessToken?: string;
  /** 凭证申请时间 */
  accessTokenCreated?: string;
  /** 凭证过期时间 */
  accessTokenExpire?: string;
  /** 刷新凭证 */
  refreshToken?: string;
  /** 刷新凭证申请时间 */
  refreshTokenCreated?: string;
  /** 刷新凭证过期时间 */
  refreshTokenExpire?: string;
  /** 备注 */
  remark?: string;
  /** 登录账号 */
  loginUser?: string;
  /** 登录密码 */
  loginPassword?: string;
  /** 登录地址 */
  loginUrl?: string;
  /** 登录状态(0未启用,1启用) */
  loginState?: number;
  /** 租户ID */
  tenantId?: string;
  /** 创建部门 */
  createdDept?: number;
  /** 创建者 */
  createdBy?: number;
  /** 创建时间 */
  createdAt?: string;
  /** 更新者 */
  updatedBy?: number;
  /** 更新时间 */
  updatedAt?: string;
}

/** 获取通道管理指定信息 请求参数 */
export interface TSimChannelsViewParam {
  /** ID */
  id: number;
}

/** 获取通道管理指定信息 响应 */
export type TSimChannelsViewRes = TSimChannelsViewModel;

/** 删除通道管理 请求参数 */
export interface TSimChannelsDeleteParam {
  /** 主键ID */
  id: number | number[];
}
