diff --git a/hw12_13_14_15_calendar/internal/logger/logger.go b/hw12_13_14_15_calendar/internal/logger/logger.go index b2482dc..172ae8d 100644 --- a/hw12_13_14_15_calendar/internal/logger/logger.go +++ b/hw12_13_14_15_calendar/internal/logger/logger.go @@ -44,23 +44,23 @@ func New(conf config.Config) (Interface, error) { return l, nil } -func (l *Logger) Debugf(format string, args ...interface{}) { +func (l Logger) Debugf(format string, args ...interface{}) { l.Logger.Debugf(format, args) } -func (l *Logger) Infof(format string, args ...interface{}) { +func (l Logger) Infof(format string, args ...interface{}) { l.Logger.Infof(format, args) } -func (l *Logger) Warnf(format string, args ...interface{}) { +func (l Logger) Warnf(format string, args ...interface{}) { l.Logger.Warnf(format, args) } -func (l *Logger) Errorf(format string, args ...interface{}) { +func (l Logger) Errorf(format string, args ...interface{}) { l.Logger.Errorf(format, args) } -func (l *Logger) Fatalf(format string, args ...interface{}) { +func (l Logger) Fatalf(format string, args ...interface{}) { l.Logger.Fatalf(format, args) os.Exit(2) } diff --git a/hw12_13_14_15_calendar/internal/storage/event/event.go b/hw12_13_14_15_calendar/internal/storage/event/event.go index 51e25e7..1c4b4a8 100644 --- a/hw12_13_14_15_calendar/internal/storage/event/event.go +++ b/hw12_13_14_15_calendar/internal/storage/event/event.go @@ -4,6 +4,8 @@ import ( "time" ) +type ID int64 + type Event struct { Title string Date time.Time diff --git a/hw12_13_14_15_calendar/internal/storage/memory/memory.go b/hw12_13_14_15_calendar/internal/storage/memory/memory.go index f348371..48ad73a 100644 --- a/hw12_13_14_15_calendar/internal/storage/memory/memory.go +++ b/hw12_13_14_15_calendar/internal/storage/memory/memory.go @@ -7,16 +7,16 @@ import ( ) type Storage struct { - Events map[int64]event.Event - lastID int64 + Events map[event.ID]event.Event + lastID event.ID Mu sync.RWMutex } func New() *Storage { - return &Storage{Events: make(map[int64]event.Event)} + return &Storage{Events: make(map[event.ID]event.Event)} } -func (s *Storage) Create(event event.Event) (int64, error) { +func (s *Storage) Create(event event.Event) (event.ID, error) { s.Mu.Lock() s.lastID++ s.Events[s.lastID] = event @@ -24,25 +24,25 @@ func (s *Storage) Create(event event.Event) (int64, error) { return s.lastID, nil } -func (s *Storage) Update(id int64, event event.Event) error { +func (s *Storage) Update(id event.ID, event event.Event) error { s.Mu.Lock() s.Events[id] = event s.Mu.Unlock() return nil } -func (s *Storage) Delete(id int64) error { +func (s *Storage) Delete(id event.ID) error { s.Mu.Lock() delete(s.Events, id) s.Mu.Unlock() return nil } -func (s *Storage) List() (map[int64]event.Event, error) { +func (s *Storage) List() (map[event.ID]event.Event, error) { return s.Events, nil } -func (s *Storage) GetByID(id int64) (event.Event, bool) { +func (s *Storage) GetByID(id event.ID) (event.Event, bool) { if s.Events[id].Title == "" { return event.Event{}, false } diff --git a/hw12_13_14_15_calendar/internal/storage/sql/sql.go b/hw12_13_14_15_calendar/internal/storage/sql/sql.go index 358acfa..4476f30 100644 --- a/hw12_13_14_15_calendar/internal/storage/sql/sql.go +++ b/hw12_13_14_15_calendar/internal/storage/sql/sql.go @@ -38,25 +38,26 @@ func (s *Storage) Close() error { return s.db.Close() } -func (s *Storage) Create(event event.Event) (int64, error) { +func (s *Storage) Create(ev event.Event) (event.ID, error) { res, err := s.db.Exec( `INSERT INTO events (title, date, latency, note, userID, notifyTime) VALUES ($1, $2, $3, $4, $5, $6)`, - event.Title, - event.Date.Format(dateTimeLayout), - event.Latency, - event.Note, - event.UserID, - event.NotifyTime, + ev.Title, + ev.Date.Format(dateTimeLayout), + ev.Latency, + ev.Note, + ev.UserID, + ev.NotifyTime, ) if err != nil { return -1, err } - return res.LastInsertId() + idint64, err := res.LastInsertId() + return event.ID(idint64), err } -func (s *Storage) Update(id int64, event event.Event) error { +func (s *Storage) Update(id event.ID, event event.Event) error { _, err := s.db.Exec( `UPDATE events set title=$1, date=$2, latency=$3, note=$4, userID=$5, notifyTime=$6 @@ -72,7 +73,7 @@ func (s *Storage) Update(id int64, event event.Event) error { return err } -func (s *Storage) Delete(id int64) error { +func (s *Storage) Delete(id event.ID) error { _, err := s.db.Exec( `DELETE from events where id=$1`, id, @@ -80,35 +81,35 @@ func (s *Storage) Delete(id int64) error { return err } -func (s *Storage) List() (map[int64]event.Event, error) { - res := make(map[int64]event.Event) +func (s *Storage) List() (map[event.ID]event.Event, error) { + res := make(map[event.ID]event.Event) results, err := s.db.Query( `SELECT (id,title,date,latency,note,userID,notifyTime) from events ORDER BY id`) if err != nil { - return map[int64]event.Event{}, err + return map[event.ID]event.Event{}, err } defer results.Close() for results.Next() { - var id int64 + var id event.ID var evt event.Event var dateRaw string err = results.Scan(&id, &evt.Title, &dateRaw, &evt.Latency, &evt.Note, &evt.UserID, &evt.NotifyTime) if err != nil { - return map[int64]event.Event{}, err + return map[event.ID]event.Event{}, err } evt.Date, err = time.Parse(dateTimeLayout, dateRaw) if err != nil { - return map[int64]event.Event{}, err + return map[event.ID]event.Event{}, err } res[id] = evt } if results.Err() != nil { - return map[int64]event.Event{}, results.Err() + return map[event.ID]event.Event{}, results.Err() } return res, nil } -func (s *Storage) GetByID(id int64) (event.Event, bool) { +func (s *Storage) GetByID(id event.ID) (event.Event, bool) { var res event.Event var dateRaw string err := s.db.QueryRow( diff --git a/hw12_13_14_15_calendar/internal/storage/store.go b/hw12_13_14_15_calendar/internal/storage/store.go index 5017a41..5341c20 100644 --- a/hw12_13_14_15_calendar/internal/storage/store.go +++ b/hw12_13_14_15_calendar/internal/storage/store.go @@ -16,11 +16,11 @@ type Config struct { } type StorageInterface interface { - Create(event event.Event) (int64, error) - Update(id int64, event event.Event) error - Delete(id int64) error - List() (map[int64]event.Event, error) - GetByID(id int64) (event.Event, bool) + Create(event event.Event) (event.ID, error) + Update(id event.ID, event event.Event) error + Delete(id event.ID) error + List() (map[event.ID]event.Event, error) + GetByID(id event.ID) (event.Event, bool) } func NewStore(conf Config) StorageInterface {