package com.pangu.application.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 应用视图对象
 * 
 * @author pangu
 */
@Data
public class ApplicationVO implements Serializable {
    
    private static final long serialVersionUID = 1L;

    /** 应用ID */
    private Long appId;

    /** 应用编码 */
    private String appCode;

    /** 应用名称 */
    private String appName;

    /** 应用密钥 */
    private String appSecret;

    /** 联系人 */
    private String contactPerson;

    /** 联系电话 */
    private String contactPhone;

    /** 状态（0正常 1停用） */
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /** 备注 */
    private String remark;

    /** 授权接口列表 */
    private List<ApiVO> apiList;

    /**
     * API视图对象
     */
    @Data
    public static class ApiVO implements Serializable {
        private static final long serialVersionUID = 1L;

        /** 接口ID */
        private Long apiId;

        /** 接口编码 */
        private String apiCode;

        /** 接口名称 */
        private String apiName;

        /** 接口路径 */
        private String apiPath;

        /** 请求方法 */
        private String apiMethod;
    }
}
