| 12345678910111213141516171819202122232425262728293031 |
- package models
- import (
- "time"
- "github.com/google/uuid"
- "gorm.io/gorm"
- )
- // AppInstance extends gorm.Model to represent an instance of an app (source information + deployment target)
- type AppInstance struct {
- gorm.Model
- // ID is a unique identifier for a given app instance
- ID uuid.UUID `gorm:"type:uuid;primaryKey" json:"id"`
- // Name is the name of the app instance. This is unique across a given deployment target
- Name string `json:"name" gorm:"uniqueIndex:idx_name_deployment_target"`
- // ProjectID is the ID of the project that the app instance belongs to
- ProjectID uint `json:"project_id"`
- // CreatedAt is the time (UTC) that a given app instance was created. This should not change
- CreatedAt time.Time `json:"created_at"`
- // UpdatedAt is the time (UTC) that an app instance was last updated.
- UpdatedAt time.Time `json:"updated_at"`
- // PorterAppID is the ID of the app (source information) that the given app instance relates to
- PorterAppID uint `json:"porter_app_id"`
- // DeploymentTargetID is the ID of the deployment target that the event relates to
- DeploymentTargetID uuid.UUID `json:"deployment_target_id" gorm:"uniqueIndex:idx_name_deployment_target;type:uuid"`
- // PorterYamlPath is the path to the porter.yaml file in the git repo
- PorterYamlPath string
- }
|