61 lines
1.9 KiB
Go
61 lines
1.9 KiB
Go
package cvdata
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
utils "github.com/jesusperez/datautils"
|
|
)
|
|
|
|
type ProjectType struct {
|
|
Auth AuthInfoType `yaml:"auth" json:"auth"`
|
|
Date string `yaml:"date" json:"date"`
|
|
Name string `yaml:"name" json:"name"`
|
|
Title string `yaml:"title" json:"title"`
|
|
Img string `yaml:"img" json:"img"`
|
|
Site string `yaml:"site" json:"site"`
|
|
Code string `yaml:"code" json:"code"`
|
|
Purpose string `yaml:"purpose" json:"purpose"`
|
|
For string `yaml:"for" json:"for"`
|
|
Position string `yaml:"position" json:"position"`
|
|
License string `yaml:"license" json:"license"`
|
|
Demo string `yaml:"demo" json:"demo"`
|
|
Capture string `yaml:"capture" json:"capture"`
|
|
Description string `yaml:"description" json:"description"`
|
|
Features []string `yaml:"features" json:"features"`
|
|
Builtwith []string `yaml:"builtwith" json:"builtwith"`
|
|
}
|
|
type Projects struct {
|
|
Projects []ProjectType `yaml:"projects" json:"projects"`
|
|
}
|
|
type ShowProjectType struct {
|
|
Auth AuthInfoType `yaml:"auth" json:"auth"`
|
|
Name bool `yaml:"name" json:"name"`
|
|
Title bool `yaml:"title" json:"title"`
|
|
Img bool `yaml:"img" json:"img"`
|
|
Purpose bool `yaml:"purpose" json:"purpose"`
|
|
Site bool `yaml:"site" json:"site"`
|
|
Code bool `yaml:"code" json:"code"`
|
|
Date bool `yaml:"date" json:"date"`
|
|
For bool `yaml:"for" json:"for"`
|
|
Position bool `yaml:"position" json:"position"`
|
|
License bool `yaml:"license" json:"license"`
|
|
Demo bool `yaml:"demo" json:"demo"`
|
|
Capture bool `yaml:"capture" json:"capture"`
|
|
Description bool `yaml:"description" json:"description"`
|
|
Features bool `yaml:"features" json:"features"`
|
|
Builtwith bool `yaml:"builtwith" json:"builtwith"`
|
|
}
|
|
|
|
func (projects *Projects)Load(path string) ([]ProjectType, error) {
|
|
d,file,errpath := utils.DecoderFromFile(path)
|
|
if errpath != nil {
|
|
return projects.Projects, errpath
|
|
}
|
|
defer file.Close()
|
|
if err := d.Decode(&projects); err != nil {
|
|
fmt.Printf("Decode: %v", err)
|
|
return projects.Projects, err
|
|
}
|
|
return projects.Projects, nil
|
|
}
|