mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
40 lines
1.5 KiB
Go
40 lines
1.5 KiB
Go
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
// Licensed under the GNU Affero General Public License (AGPL).
|
|
// See License-AGPL.txt in the project root for license information.
|
|
|
|
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"`
|
|
|
|
// deleted is reserved for use by db-sync
|
|
_ bool `gorm:"column:deleted;type:tinyint;default:0;" json:"deleted"`
|
|
}
|
|
|
|
// TableName sets the insert table name for this struct type
|
|
func (d *Project) TableName() string {
|
|
return "d_b_project"
|
|
}
|