From e392f2425685ae21e27cadc8016bf021d6161f29 Mon Sep 17 00:00:00 2001 From: lbenedar Date: Wed, 4 Mar 2026 16:25:10 +0300 Subject: [PATCH] ch4.5 --- cmd/web/main.go | 4 ++++ internal/models/snippets.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 internal/models/snippets.go diff --git a/cmd/web/main.go b/cmd/web/main.go index 94ad047..d2de172 100644 --- a/cmd/web/main.go +++ b/cmd/web/main.go @@ -7,12 +7,15 @@ import ( "net/http" "os" + "gitea.local.lab/Lbenedar/snippetbox/internal/models" + _ "github.com/go-sql-driver/mysql" ) type application struct { errorLog *log.Logger infoLog *log.Logger + snippets *models.SnippetModel } type config struct { @@ -40,6 +43,7 @@ func main() { app := &application{ errorLog: errorLog, infoLog: infoLog, + snippets: &models.SnippetModel{DB: db}, } srv := &http.Server{ diff --git a/internal/models/snippets.go b/internal/models/snippets.go new file mode 100644 index 0000000..1f1ca71 --- /dev/null +++ b/internal/models/snippets.go @@ -0,0 +1,30 @@ +package models + +import ( + "database/sql" + "time" +) + +type Snippet struct { + ID int + Title string + Content string + Created time.Time + Expires time.Time +} + +type SnippetModel struct { + DB *sql.DB +} + +func (m *SnippetModel) Insert(title string, content string, expires int) (int, error) { + return 0, nil +} + +func (m *SnippetModel) Get(id int) (*Snippet, error) { + return nil, nil +} + +func (m *SnippetModel) Latest() ([]*Snippet, error) { + return nil, nil +}