Jobs & Workflows
https://armen.surge.sh
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
/* |
|
------------------------------------------------------------------------------------------------------------------------ |
|
####### data ####### Copyright (c) 2021 mls-361 #################################################### MIT License ####### |
|
------------------------------------------------------------------------------------------------------------------------ |
|
*/ |
|
|
|
package data |
|
|
|
import ( |
|
"encoding/json" |
|
"fmt" |
|
|
|
"forge.chapril.org/mls-361/errors" |
|
) |
|
|
|
// Data AFAIRE. |
|
type Data struct { |
|
Logger Logger `json:"logger"` |
|
Server Server `json:"server"` |
|
Storage Storage `json:"storage"` |
|
} |
|
|
|
// Validate AFAIRE. |
|
func (d *Data) Validate() error { |
|
if err := d.Logger.validate(); err != nil { |
|
return errors.WithMessage(err, "logger") /////////////////////////////////////////////////////////////////////// |
|
} |
|
|
|
if err := d.Server.validate(); err != nil { |
|
return errors.WithMessage(err, "server") /////////////////////////////////////////////////////////////////////// |
|
} |
|
|
|
if err := d.Storage.validate(); err != nil { |
|
return errors.WithMessage(err, "storage") ////////////////////////////////////////////////////////////////////// |
|
} |
|
|
|
return nil |
|
} |
|
|
|
// String AFAIRE. |
|
func (d *Data) String() string { |
|
data, err := json.Marshal(d) |
|
if err != nil { |
|
return fmt.Sprintf(`{"ERROR":"%s"}`, err) |
|
} |
|
|
|
return string(data) |
|
} |
|
|
|
/* |
|
######################################################################################################## @(°_°)@ ####### |
|
*/
|
|
|