package mapping

import (
	"time"
)

type Mapper interface {
	JournalApiToDs(api interface{}) (db interface{})
	JournalDsToApi(db interface{}) (api interface{})

	PlanDayApiToDs(api interface{}) (db interface{})
	PlanDayDsToApi(db interface{}) (api interface{})

	PlanWeekApiToDs(api interface{}) (db interface{})
	PlanWeekDsToApi(db interface{}) (api interface{})

	PlanMonthApiToDs(api interface{}) (db interface{})
	PlanMonthDsToApi(db interface{}) (api interface{})

	TrackingCategoriesDbToApi(db interface{}) (api interface{})
	TrackingEntryDbToApi(db interface{}) (api interface{})
	TrackingEntryApiToDb(api interface{}) (db interface{})

	InboxApiToDs(api interface{}) (db interface{})
	InboxDsToApi(db interface{}) (api interface{})

	StringToDate(string) (time.Time, error)
	DateToString(time.Time) string
}
