mirror of
https://github.com/semaphoreui/semaphore.git
synced 2024-11-27 02:52:14 +01:00
27 lines
661 B
Go
27 lines
661 B
Go
package db
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
// Environment is used to pass additional arguments, in json form to ansible
|
|
type Environment struct {
|
|
ID int `db:"id" json:"id"`
|
|
Name string `db:"name" json:"name" binding:"required"`
|
|
ProjectID int `db:"project_id" json:"project_id"`
|
|
Password *string `db:"password" json:"password"`
|
|
JSON string `db:"json" json:"json" binding:"required"`
|
|
}
|
|
|
|
func (env *Environment) Validate() error {
|
|
if env.Name == "" {
|
|
return &ValidationError{"environment name can not be empty"}
|
|
}
|
|
|
|
if !json.Valid([]byte(env.JSON)) {
|
|
return &ValidationError{"environment must be valid JSON"}
|
|
}
|
|
|
|
return nil
|
|
}
|