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 AuthUserInfoRespVO {

    @Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String userId;

    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "admin")
    private String userName;

    @Schema(description = "用户昵称", example = "灿能")
    private String nickname;

    @Schema(description = "用户头像", example = "https://www.iocoder.cn/xx.png")
    private String avatar;

    @Schema(description = "所属公司", example = "灿能")
    private String company;

    @Schema(description = "角色编码列表", example = "[\"SUPER_ADMIN\"]")
    private List<String> roles;

    @Schema(description = "按钮权限码列表", requiredMode = Schema.RequiredMode.REQUIRED,
            example = "[\"system:user:add\", \"system:user:update\"]")
    private List<String> buttons;

}
