package vo

import (
	"wireguard-dashboard/model/entity"
	"wireguard-dashboard/model/template_data"
)

type Client struct {
	Id                  string             `json:"id"`
	Name                string             `json:"name"`
	Email               string             `json:"email"`
	SubnetRange         string             `json:"subnetRange"`
	IpAllocation        []string           `json:"ipAllocation" gorm:"-"`
	IpAllocationStr     string             `json:"-" gorm:"ipAllocationStr"`
	AllowedIps          []string           `json:"allowedIPS" gorm:"-"`
	AllowedIpsStr       string             `json:"-" gorm:"allowedIPSStr"`
	ExtraAllowedIps     []string           `json:"extraAllowedIPS"`
	ExtraAllowedIpsStr  string             `json:"-" gorm:"extraAllowedIPSStr"`
	Endpoint            string             `json:"endpoint"`
	UseServerDNS        int                `json:"useServerDNS"`
	EnableAfterCreation int                `json:"enableAfterCreation"`
	KeysStr             string             `json:"-" gorm:"keys_str"`
	Keys                template_data.Keys `json:"keys" gorm:"-"`
	CreateUser          string             `json:"createUser"`
	Enabled             bool               `json:"enabled"`
	CreatedAt           entity.JsonTime    `json:"createAt"`
	UpdatedAt           entity.JsonTime    `json:"updatedAt"`
}