summaryrefslogtreecommitdiff
path: root/internal/listing/listing.go
diff options
context:
space:
mode:
authormihna123 <mihailonvojinovic@gmail.com>2026-08-22 17:12:56 +0200
committermihna123 <mihailonvojinovic@gmail.com>2026-08-22 17:12:56 +0200
commitdadc6de754c699ebd3c08f797f2e7db2afb28e6c (patch)
treee590371ed0aab78621e2fb79fc6b3945b12384d9 /internal/listing/listing.go
parentba8b50f25ec898d77f736c4435770c80143ae5a1 (diff)
downloadopenstore-dadc6de754c699ebd3c08f797f2e7db2afb28e6c.tar.gz
openstore-dadc6de754c699ebd3c08f797f2e7db2afb28e6c.zip
listing: implement a basic listing struct along with user struct stub
Diffstat (limited to 'internal/listing/listing.go')
-rw-r--r--internal/listing/listing.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/internal/listing/listing.go b/internal/listing/listing.go
new file mode 100644
index 0000000..1bc411e
--- /dev/null
+++ b/internal/listing/listing.go
@@ -0,0 +1,46 @@
+package listing
+
+import (
+ "time"
+
+ "codeberg.org/mihna123/openstore/internal/user"
+)
+
+type location struct {
+ city string
+ street string
+ premise string
+}
+
+type status int
+
+const (
+ draft status = iota
+ published
+ closed
+)
+
+var statusName = map[status]string{
+ draft: "draft",
+ published: "published",
+ closed: "closed",
+}
+
+func (s status) String() string {
+ return statusName[s]
+}
+
+type Listing struct {
+ id int
+ title string
+ text string
+ images []string
+ price float64
+ currency string
+ category []string
+ location location
+ status status
+ views int
+ createdAt time.Time
+ author *user.User
+}