diff --git a/cmd/main.go b/cmd/main.go new file mode 100644 index 0000000..e69de29 diff --git a/internal/controllers/routes.go b/internal/controllers/routes.go new file mode 100644 index 0000000..161a77a --- /dev/null +++ b/internal/controllers/routes.go @@ -0,0 +1,8 @@ +package main + +func main() { + router := gin.Default() + router.GET("/test", runTest) + + router.Run("localhost:8080") +} diff --git a/src/database/database.go b/internal/database/database.go similarity index 58% rename from src/database/database.go rename to internal/database/database.go index 2c2a14a..824a3fa 100644 --- a/src/database/database.go +++ b/internal/database/database.go @@ -12,69 +12,10 @@ import ( var ProductsTable = ksql.NewTable("products", "product_id") -type Product struct { - id int `ksql:"id"` - system string `ksql:"system"` - barcode string `ksql:"barcode"` - created_at time.Time `ksql:"created_at,timeNowUTC"` -} - var UserClaimsTable = ksql.NewTable("user_claims", "user_claim_id") -type UserClaim struct { - id int `ksql:"id"` - product_id int `ksql:"product_id"` - evidence_type EvidenceType `ksql:"evidence_type"` - evidence struct{} `ksql:"evidence,json"` - claim Claim `ksql:"claim"` - counter_claim Claim `ksql:"counter_claim"` - created_at time.Time `ksql:"created_at,timeNowUTC"` - created_by string `ksql:"created_by"` -} - -type EvidenceType int - -const ( - ManufactureWebsite EvidenceType = iota - IngredientsList -) - var AutomatedClaimsTable = ksql.NewTable("automated_claims", "automated_claim_id") -type AutomatedClaim struct { - id int `ksql:"id"` - product_id int `ksql:"product_id"` - worker_type WorkerType `ksql:"worker_type"` - evidence struct{} `ksql:"evidence,json"` - claim Claim `ksql:"claim"` - counter_claim Claim `ksql:"counter_claim"` - created_at time.Time `ksql:"created_at,timeNowUTC"` -} - -type WorkerType int - -const ( - Barnivore WorkerType = iota -) - -type Claim int - -const ( - ContainsMeat Claim = iota - ContainsFish - ContainsEggs - ContainsMilk - ContainsHoney - ContainsWax - ContainsFur - ContainsLeather - ContainsAnimalFibers - ContainsWool - ContainsFeathers - AnimalTesting - MonkeySlavery -) - func main() { ctx := context.Background() @@ -92,6 +33,9 @@ func main() { } defer db.Close() +} + +func createTables(db) { _, err = db.Exec(ctx, ` CREATE TABLE IF NOT EXISTS products ( id INTEGER PRIMARY KEY, diff --git a/internal/database/models.go b/internal/database/models.go new file mode 100644 index 0000000..034b110 --- /dev/null +++ b/internal/database/models.go @@ -0,0 +1,64 @@ +package main + +import ( + "github.com/vingarcia/ksql" +) + +type Product struct { + id int `ksql:"id"` + system string `ksql:"system"` + barcode string `ksql:"barcode"` + created_at time.Time `ksql:"created_at,timeNowUTC"` +} + +type WorkerType int + +const ( + Barnivore WorkerType = iota +) + +type EvidenceType int + +const ( + ManufactureWebsite EvidenceType = iota + IngredientsList +) + +type Claim int + +const ( + ContainsMeat Claim = iota + ContainsFish + ContainsEggs + ContainsMilk + ContainsHoney + ContainsWax + ContainsFur + ContainsLeather + ContainsAnimalFibers + ContainsWool + ContainsFeathers + AnimalTesting + MonkeySlavery +) + +type AutomatedClaim struct { + id int `ksql:"id"` + product_id int `ksql:"product_id"` + worker_type WorkerType `ksql:"worker_type"` + evidence struct{} `ksql:"evidence,json"` + claim Claim `ksql:"claim"` + counter_claim Claim `ksql:"counter_claim"` + created_at time.Time `ksql:"created_at,timeNowUTC"` +} + +type UserClaim struct { + id int `ksql:"id"` + product_id int `ksql:"product_id"` + evidence_type EvidenceType `ksql:"evidence_type"` + evidence struct{} `ksql:"evidence,json"` + claim Claim `ksql:"claim"` + counter_claim Claim `ksql:"counter_claim"` + created_at time.Time `ksql:"created_at,timeNowUTC"` + created_by string `ksql:"created_by"` +} diff --git a/internal/services/userService.go b/internal/services/userService.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/internal/services/userService.go @@ -0,0 +1 @@ +package main