Add Plan page with day planner

This commit is contained in:
Martin Pander
2022-11-26 18:41:39 +01:00
parent d9b92ab4e9
commit 32346e0aa9
48 changed files with 2400 additions and 148 deletions

View File

@ -17,9 +17,9 @@ func NewMapperImpl() Mapper {
return MapperImpl{}
}
func (mapper MapperImpl) JournalApiToDb(am interface{}) interface{} {
func (mapper MapperImpl) JournalApiToDs(am interface{}) interface{} {
apimodel := am.(api.JournalEntry)
date, err := time.Parse("2006-01-02", apimodel.Date)
date, err := mapper.StringToDate(apimodel.Date)
if err != nil {
log.Printf("[ERROR] Could not parse date `%s`", apimodel.Date)
}
@ -54,7 +54,7 @@ func (mapper MapperImpl) JournalApiToDb(am interface{}) interface{} {
}
}
func (mapper MapperImpl) JournalDbToApi(dm interface{}) interface{} {
func (mapper MapperImpl) JournalDsToApi(dm interface{}) interface{} {
dbmodel := dm.(db.Journal)
dateValue, err := dbmodel.Date.Value()
@ -62,7 +62,8 @@ func (mapper MapperImpl) JournalDbToApi(dm interface{}) interface{} {
if err != nil {
date = ""
} else {
date = dateValue.(time.Time).Format("2006-01-02")
// date = dateValue.(time.Time).Format("2006-01-02")
date = mapper.DateToString(dateValue.(time.Time))
}
var thankful []string
@ -74,19 +75,19 @@ func (mapper MapperImpl) JournalDbToApi(dm interface{}) interface{} {
var lookingForward []string
err = json.Unmarshal(dbmodel.LookingForward, &lookingForward)
if err != nil {
thankful = nil
lookingForward = nil
}
var beenGreat []string
err = json.Unmarshal(dbmodel.BeenGreat, &beenGreat)
if err != nil {
thankful = nil
beenGreat = nil
}
var doBetter []string
err = json.Unmarshal(dbmodel.DoBetter, &doBetter)
if err != nil {
thankful = nil
doBetter = nil
}
return api.JournalEntry{
@ -99,11 +100,133 @@ func (mapper MapperImpl) JournalDbToApi(dm interface{}) interface{} {
}
}
func (mapper MapperImpl) PlanDayApiToDs(am interface{}) interface{} {
apimodel := am.(api.PlanDay)
date, err := mapper.StringToDate(apimodel.Date)
if err != nil {
log.Printf("[ERROR] Could not parse date `%s`", apimodel.Date)
}
morning, err := json.Marshal(apimodel.Morning)
if err != nil {
morning = nil
}
midday, err := json.Marshal(apimodel.Midday)
if err != nil {
midday = nil
}
afternoon, err := json.Marshal(apimodel.Afternoon)
if err != nil {
afternoon = nil
}
evening, err := json.Marshal(apimodel.Evening)
if err != nil {
evening = nil
}
pleasant, err := json.Marshal(apimodel.Pleasant)
if err != nil {
pleasant = nil
}
reminders, err := json.Marshal(apimodel.Reminders)
if err != nil {
reminders = nil
}
return db.PlanDay{
Date: datatypes.Date(date),
Morning: datatypes.JSON(morning),
Midday: datatypes.JSON(midday),
Afternoon: datatypes.JSON(afternoon),
Evening: datatypes.JSON(evening),
Pleasant: datatypes.JSON(pleasant),
Reminders: datatypes.JSON(reminders),
}
}
func (mapper MapperImpl) PlanDayDsToApi(dm interface{}) interface{} {
dbmodel := dm.(db.PlanDay)
dateValue, err := dbmodel.Date.Value()
var date string
if err != nil {
date = ""
} else {
date = mapper.DateToString(dateValue.(time.Time))
}
var morning []string
err = json.Unmarshal(dbmodel.Morning, &morning)
if err != nil {
morning = nil
}
var midday []string
err = json.Unmarshal(dbmodel.Midday, &midday)
if err != nil {
midday = nil
}
var afternoon []string
err = json.Unmarshal(dbmodel.Afternoon, &afternoon)
if err != nil {
afternoon = nil
}
var evening []string
err = json.Unmarshal(dbmodel.Evening, &evening)
if err != nil {
evening = nil
}
var pleasant []string
err = json.Unmarshal(dbmodel.Pleasant, &pleasant)
if err != nil {
pleasant = nil
}
var reminders []string
err = json.Unmarshal(dbmodel.Reminders, &reminders)
if err != nil {
reminders = nil
}
return api.PlanDay{
Date: date,
Morning: morning,
Midday: midday,
Afternoon: afternoon,
Evening: evening,
Pleasant: pleasant,
Reminders: reminders,
}
}
func (mapper MapperImpl) PlanWeekApiToDs(api interface{}) (db interface{}) {
return new(interface{})
}
func (mapper MapperImpl) PlanWeekDsToApi(api interface{}) (db interface{}) {
return new(interface{})
}
func (mapper MapperImpl) PlanMonthApiToDs(api interface{}) (db interface{}) {
return new(interface{})
}
func (mapper MapperImpl) PlanMonthDsToApi(api interface{}) (db interface{}) {
return new(interface{})
}
func (mapper MapperImpl) StringToDate(dateString string) (time.Time, error) {
date, err := time.Parse("2006-01-02", dateString)
if err != nil {
log.Printf("[ERROR] Could not parse date string %s", dateString)
return time.Now(), err
return time.Date(1970, 1, 1, 0, 0, 0, 0, time.UTC), err
}
return date, nil
}