package v1

import (
	"database/sql"
	"time"

	"gorm.io/plugin/soft_delete"
)

type UserStarResource struct {
	ID         uint64                `json:"id" gorm:"primary_key;AUTO_INCREMENT;column:id"`
	CreatedAt  time.Time             `json:"createdAt" gorm:"column:createdAt"`
	UpdatedAt  sql.NullTime          `json:"updatedAt" gorm:"column:updatedAt"`
	DeletedAt  sql.NullTime          `json:"deletedAt" gorm:"column:deletedAt"`
	IsDel      soft_delete.DeletedAt `json:"isDel" gorm:"column:isDel;softDelete:flag,DeletedAtField:DeletedAt"`
	UserLarkID string                `json:"userLarkID" gorm:"column:userLarkID"`
	User       User                  `json:"user" gorm:"foreignkey:UserLarkID;references:LarkUserID"`
	ResourceID uint64                `json:"resourceID" gorm:"column:resourceID"`
	Resource   CloudResource         `json:"resource" gorm:"foreignkey:ResourceID;references:ID"`
}

func (u *UserStarResource) TableName() string {
	return "user_star_resource"
}
