package com.yice.webadmin.app.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yice.common.core.base.mapper.BaseModelMapper;
import com.yice.common.core.base.model.BaseModel;
import com.yice.webadmin.app.vo.ApiManageVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * ApiManage实体对象。
 *
 * @author linking
 * @date 2023-04-13
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "lmp_api_manage")
public class ApiManage extends BaseModel {

    /**
     * 应用接入ID。
     */
    @TableId(value = "api_id")
    private Long apiId;

    /**
     * 应用名称。
     */
    private String apiName;

    /**
     * AppID。
     */
    private Long appId;

    /**
     * API Key。
     */
    private String apiKey;

    /**
     * Secret Key。
     */
    private String secretKey;

    /**
     * 应用描述。
     */
    private String remark;

    /**
     * 服务列表。
     */
    @TableField(exist = false)
    private List<Long> services;

    /**
     * 插件列表。
     */
    @TableField(exist = false)
    private List<Long> plugins;

    @Mapper
    public interface ApiManageModelMapper extends BaseModelMapper<ApiManageVo, ApiManage> {
    }

    public static final ApiManageModelMapper INSTANCE = Mappers.getMapper(ApiManageModelMapper.class);
}
