Blame vendor/github.com/deepmap/oapi-codegen/pkg/types/date.go
|
Packit Service |
509fd4 |
package types
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
import (
|
|
Packit Service |
509fd4 |
"encoding/json"
|
|
Packit Service |
509fd4 |
"time"
|
|
Packit Service |
509fd4 |
)
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
const DateFormat = "2006-01-02"
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
type Date struct {
|
|
Packit Service |
509fd4 |
time.Time
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
func (d Date) MarshalJSON() ([]byte, error) {
|
|
Packit Service |
509fd4 |
return json.Marshal(d.Time.Format(DateFormat))
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
|
|
Packit Service |
509fd4 |
func (d *Date) UnmarshalJSON(data []byte) error {
|
|
Packit Service |
509fd4 |
var dateStr string
|
|
Packit Service |
509fd4 |
err := json.Unmarshal(data, &dateStr)
|
|
Packit Service |
509fd4 |
if err != nil {
|
|
Packit Service |
509fd4 |
return err
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
parsed, err := time.Parse(DateFormat, dateStr)
|
|
Packit Service |
509fd4 |
if err != nil {
|
|
Packit Service |
509fd4 |
return err
|
|
Packit Service |
509fd4 |
}
|
|
Packit Service |
509fd4 |
d.Time = parsed
|
|
Packit Service |
509fd4 |
return nil
|
|
Packit Service |
509fd4 |
}
|