All checks were successful
Publish / Test, build, and push image (push) Successful in 3m38s
68 lines
1.7 KiB
Go
68 lines
1.7 KiB
Go
package app
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
|
|
"archi_folio/internal/store"
|
|
)
|
|
|
|
func validateContent(c store.SiteContent) error {
|
|
switch {
|
|
case c.HeroTitle == "":
|
|
return errors.New("hero title is required")
|
|
case c.HeroSubtitle == "":
|
|
return errors.New("hero subtitle is required")
|
|
case c.IntroTitle == "":
|
|
return errors.New("intro title is required")
|
|
case c.IntroText == "":
|
|
return errors.New("intro text is required")
|
|
case c.AboutName == "":
|
|
return errors.New("about name is required")
|
|
case c.AboutRole == "":
|
|
return errors.New("about role is required")
|
|
case c.AboutBio == "":
|
|
return errors.New("about bio is required")
|
|
case c.HeroImage == "":
|
|
return errors.New("hero image is required")
|
|
case c.AboutImage == "":
|
|
return errors.New("about image is required")
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func validateContactDetails(c store.SiteContent) error {
|
|
switch {
|
|
case c.Email == "" || !strings.Contains(c.Email, "@"):
|
|
return errors.New("valid email is required")
|
|
case c.Phone == "":
|
|
return errors.New("phone is required")
|
|
case c.Location == "":
|
|
return errors.New("location is required")
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func validateProject(p store.Project) error {
|
|
switch {
|
|
case p.Slug == "":
|
|
return errors.New("project slug is required")
|
|
case p.Title == "":
|
|
return errors.New("project title is required")
|
|
case p.Location == "":
|
|
return errors.New("project location is required")
|
|
case p.Year == "":
|
|
return errors.New("project year is required")
|
|
case p.Category == "":
|
|
return errors.New("project category is required")
|
|
case p.Description == "":
|
|
return errors.New("project description is required")
|
|
case p.CoverImage == "":
|
|
return errors.New("project cover image is required")
|
|
default:
|
|
return nil
|
|
}
|
|
}
|