package com.lingyue.graph.dto;

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

import java.util.Map;

/**
 * 创建图节点请求 DTO
 *
 * @author lingyue
 * @since 2026-01-19
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "创建图节点请求")
public class CreateNodeRequest {

    @Schema(description = "文档ID", required = true)
    private String documentId;

    @Schema(description = "用户ID")
    private String userId;

    @Schema(description = "节点名称", required = true)
    private String name;

    @Schema(description = "节点类型", example = "person/org/loc/date/number/device", required = true)
    private String type;

    @Schema(description = "节点值")
    private String value;

    @Schema(description = "位置信息")
    private Map<String, Object> position;

    @Schema(description = "父节点ID")
    private String parentId;

    @Schema(description = "层级")
    private Integer level;

    @Schema(description = "元数据")
    private Map<String, Object> metadata;
}
