diff --git a/.air.toml b/.air.toml new file mode 100644 index 0000000..a770bbd --- /dev/null +++ b/.air.toml @@ -0,0 +1,51 @@ +root = "." +testdata_dir = "testdata" +tmp_dir = "tmp" + +[build] + args_bin = [] + bin = "tmp\\main.exe" + cmd = "go build -o ./tmp/main.exe ./main" + delay = 1000 + exclude_dir = ["assets", "tmp", "vendor", "testdata", "api\\static\\tinymce", "api\\static\\bootstrap-icons"] + exclude_file = [] + exclude_regex = ["_test.go"] + exclude_unchanged = false + follow_symlink = false + full_bin = "" + include_dir = [] + include_ext = ["go", "tpl", "tmpl", "html"] + include_file = [] + kill_delay = "0s" + log = "build-errors.log" + poll = false + poll_interval = 0 + post_cmd = [] + pre_cmd = [] + rerun = false + rerun_delay = 500 + send_interrupt = false + stop_on_error = false + +[color] + app = "" + build = "yellow" + main = "magenta" + runner = "green" + watcher = "cyan" + +[log] + main_only = false + time = false + +[misc] + clean_on_exit = false + +[proxy] + app_port = 0 + enabled = false + proxy_port = 0 + +[screen] + clear_on_rebuild = false + keep_scroll = true diff --git a/.gitignore b/.gitignore index 0653454..449aa10 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ bin # Environment -.env \ No newline at end of file +.env + +tmp/ diff --git a/adapters/secondary/gateways/postRepository.go b/adapters/secondary/gateways/postRepository.go index 533dbbb..9f098ac 100644 --- a/adapters/secondary/gateways/postRepository.go +++ b/adapters/secondary/gateways/postRepository.go @@ -29,6 +29,16 @@ func (a *PostRepository) Get(id uint32) (domain.Post, error) { return mapPostToDomain(post), nil } +func (a *PostRepository) GetByName(name string) (domain.Post, error) { + var post entity.Post + err := a.db.Model(&entity.Post{}).Where("title = ?", name).First(&post).Error + if err != nil { + return domain.Post{}, err + } + + return mapPostToDomain(post), nil +} + func (a *PostRepository) Create(post domain.Post) (domain.Post, error) { creationResult := a.db.Create(&entity.Post{ Title: post.Title, @@ -59,4 +69,25 @@ func (a *PostRepository) GetAll() []domain.Post { return domainPosts } +func (a *PostRepository) UpdateBody(id uint32, body string) error { + var localPost entity.Post + err := a.db.Model(&entity.Post{}).First(&localPost, id).Error + if err != nil { + return err + } + + localPost.Body = body + err = a.db.Save(&localPost).Error + if err != nil { + return err + } + + return nil +} + +func (a *PostRepository) Delete(id uint32) error { + //TODO implement me + panic("implement me") +} + var _ gateways.IPostRepository = &PostRepository{} diff --git a/adapters/secondary/gateways/web/templates/postCreate.html b/adapters/secondary/gateways/web/templates/postCreate.html new file mode 100644 index 0000000..6e35512 --- /dev/null +++ b/adapters/secondary/gateways/web/templates/postCreate.html @@ -0,0 +1,66 @@ + + +
+Create a new post
+ +