package comm

import (
	"time"

	"go.mongodb.org/mongo-driver/bson/primitive"
)

type License struct {
	Id    primitive.ObjectID `bson:"_id,omitempty" json:"_id"`
	State string             `bson:"state,omitempty" json:"state"` //created(已创建) deployed(已部署) invalid(已失效) expired(已过期)

	SaltStr    string `bson:"saltstr,omitempty" json:"saltstr"`       //随机加密盐
	AesKey     string `bson:"aesKey,omitempty" json:"aesKey"`         //加解密钥
	RsaPublic  string `bson:"rsaPublic,omitempty" json:"rsaPublic"`   //公钥
	RsaPrivate string `bson:"rsaPrivate,omitempty" json:"rsaPrivate"` //私钥

	CpuId        string    `bson:"cpuId,omitempty" json:"cpuId"`               //cpuId
	MacId        string    `bson:"macId,omitempty" json:"macId"`               //MacId
	AppId        string    `bson:"appId,omitempty" json:"appId"`               //AppId
	ExpiredAfter time.Time `bson:"expiredAfter,omitempty" json:"expiredAfter"` //expiredAfter
	StartAt      time.Time `bson:"startAt,omitempty" json:"startAt"`           //startAt
	Company      string    `bson:"company,omitempty" json:"company"`           //企业信息
	Title        string    `bson:"title,omitempty" json:"title"`               //licenes名字
	CreateTime   time.Time `bson:"createTime,omitempty" json:"createTime"`     //创建时间
	UpdateTime   time.Time `bson:"updateTime,omitempty" json:"updateTime"`     //创建时间
	DeployedTime time.Time `bson:"deployedTime,omitempty" json:"deployedTime"` //部署时间
}
