From c38397659c6215e1e3f3f27597c9778961fb7115 Mon Sep 17 00:00:00 2001 From: Natthapol SERMSARAN Date: Thu, 13 Feb 2025 22:09:58 +0700 Subject: [PATCH] feat: add domain farm --- backend/internal/domain/farm.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 backend/internal/domain/farm.go diff --git a/backend/internal/domain/farm.go b/backend/internal/domain/farm.go new file mode 100644 index 0000000..5bc1154 --- /dev/null +++ b/backend/internal/domain/farm.go @@ -0,0 +1,33 @@ +package domain + +import ( + "context" + "time" + + validation "github.com/go-ozzo/ozzo-validation/v4" +) + +type Farm struct { + UUID string + Name string + Lat float64 + Lon float64 + CreatedAt time.Time + UpdatedAt time.Time + OwnerID string +} + +func (f *Farm) Validate() error { + return validation.ValidateStruct(f, + validation.Field(&f.Name, validation.Required), + validation.Field(&f.Lat, validation.Required), + validation.Field(&f.Lon, validation.Required), + validation.Field(&f.OwnerID, validation.Required), + ) +} + +type FarmRepository interface { + GetByID(context.Context, string) (Farm, error) + CreateOrUpdate(context.Context, *Farm) error + // Delete(context.Context, string) error +}