package db
import (
"database/sql"
"time"
"github.com/google/uuid"
"gorm.io/datatypes"
)
type Project struct {
ID uuid.UUID `gorm:"primary_key;column:id;type:char;size:36;" json:"id"`
Name string `gorm:"column:name;type:varchar;size:255;" json:"name"`
CloneURL string `gorm:"column:cloneUrl;type:varchar;size:255;" json:"cloneUrl"`
Slug sql.NullString `gorm:"column:slug;type:varchar;size:255;" json:"slug"`
Settings datatypes.JSON `gorm:"column:settings;type:text;size:65535;" json:"settings"`
AppInstallationID string `gorm:"column:appInstallationId;type:varchar;size:255;" json:"appInstallationId"`
CreationTime VarcharTime `gorm:"column:creationTime;type:varchar;size:255;" json:"creationTime"`
LastModified time.Time `gorm:"column:_lastModified;type:timestamp;default:CURRENT_TIMESTAMP(6);" json:"_lastModified"`
TeamID sql.NullString `gorm:"column:teamId;type:char;size:36;" json:"teamId"`
UserID sql.NullString `gorm:"column:userId;type:char;size:36;" json:"userId"`
MarkedDeleted bool `gorm:"column:markedDeleted;type:tinyint;default:0;" json:"markedDeleted"`
}
func (d *Project) TableName() string {
return "d_b_project"
}