package com.njcn.rdms.module.system.controller.admin.auth.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Schema(description = "管理后台 - 用户路由节点 Response VO")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AuthRouteNodeRespVO {

    @Schema(description = "路由节点 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
    private String id;

    @Schema(description = "路由名", requiredMode = Schema.RequiredMode.REQUIRED, example = "system_user")
    private String name;

    @Schema(description = "完整路由路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "/system/user")
    private String path;

    @Schema(description = "前端组件白名单 key", example = "view.system_user")
    private String component;

    @Schema(description = "重定向路径")
    private String redirect;

    @Schema(description = "路由 props")
    private Object props;

    @Schema(description = "路由 meta", requiredMode = Schema.RequiredMode.REQUIRED)
    private AuthRouteMetaRespVO meta;

    @Schema(description = "子路由列表")
    private List<AuthRouteNodeRespVO> children;

}
