diff --git a/db/Dockerfile b/db/Dockerfile index 9d1f00e0..9e915dca 100644 --- a/db/Dockerfile +++ b/db/Dockerfile @@ -13,6 +13,7 @@ COPY *.go ./ RUN go build -o /pocketbase RUN /pocketbase migrate +RUN /pocketbase seed ENV MEILI_URL=http://localhost:7700 ENV MEILI_MASTER_KEY= diff --git a/db/main.go b/db/main.go index 9768cdb0..24eded11 100644 --- a/db/main.go +++ b/db/main.go @@ -4,12 +4,16 @@ import ( "errors" "log" "os" + "strings" "github.com/meilisearch/meilisearch-go" "github.com/pocketbase/pocketbase" "github.com/pocketbase/pocketbase/core" + "github.com/pocketbase/pocketbase/forms" "github.com/pocketbase/pocketbase/models" "github.com/pocketbase/pocketbase/plugins/migratecmd" + "github.com/pocketbase/pocketbase/tools/filesystem" + "github.com/spf13/cobra" _ "pocketbase/migrations" ) @@ -51,6 +55,26 @@ func main() { Automigrate: true, }) + app.RootCmd.AddCommand(&cobra.Command{ + Use: "seed", + Run: func(cmd *cobra.Command, args []string) { + collection, _ := app.Dao().FindCollectionByNameOrId("categories") + + categories := []string{"Hiking", "Walking", "Climbing", "Skiing", "Canoeing", "Biking"} + for _, element := range categories { + record := models.NewRecord(collection) + form := forms.NewRecordUpsert(app, record) + form.LoadData(map[string]any{ + "name": element, + }) + f, _ := filesystem.NewFileFromPath("migrations/initial_data/" + strings.ToLower(element) + ".jpg") + form.AddFiles("img", f) + form.Submit() + } + + }, + }) + client := meilisearch.NewClient(meilisearch.ClientConfig{ Host: os.Getenv("MEILI_URL"), APIKey: os.Getenv("MEILI_MASTER_KEY"), diff --git a/db/migrations/initial_data/biking.jpg b/db/migrations/initial_data/biking.jpg new file mode 100644 index 00000000..18a00b40 Binary files /dev/null and b/db/migrations/initial_data/biking.jpg differ diff --git a/db/migrations/initial_data/canoeing.jpg b/db/migrations/initial_data/canoeing.jpg new file mode 100644 index 00000000..3809cdfc Binary files /dev/null and b/db/migrations/initial_data/canoeing.jpg differ diff --git a/db/migrations/initial_data/climbing.jpg b/db/migrations/initial_data/climbing.jpg new file mode 100644 index 00000000..2ebef9b9 Binary files /dev/null and b/db/migrations/initial_data/climbing.jpg differ diff --git a/db/migrations/initial_data/hiking.jpg b/db/migrations/initial_data/hiking.jpg new file mode 100644 index 00000000..9700419b Binary files /dev/null and b/db/migrations/initial_data/hiking.jpg differ diff --git a/db/migrations/initial_data/skiing.jpg b/db/migrations/initial_data/skiing.jpg new file mode 100644 index 00000000..dede5023 Binary files /dev/null and b/db/migrations/initial_data/skiing.jpg differ diff --git a/db/migrations/initial_data/walking.jpg b/db/migrations/initial_data/walking.jpg new file mode 100644 index 00000000..167a70d5 Binary files /dev/null and b/db/migrations/initial_data/walking.jpg differ diff --git a/docker-compose.yml b/docker-compose.yml index 4c01635b..222b3176 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -43,9 +43,10 @@ services: web: build: ./web environment: - PUBLIC_MEILISEARCH_URL: http://localhost:7700 - PUBLIC_MEILISEARCH_API_TOKEN: - PUBLIC_POCKETBASE_URL: http://127.0.0.1:8090 + ORIGIN: http://localhost:8080 + PUBLIC_MEILISEARCH_URL: http://search:7700 + PUBLIC_MEILISEARCH_API_TOKEN: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXlVaWQiOiIyMjk3NDg3Yy0zMjFlLTQ5MmEtYmRiNS1iZmYwZGYzZjc2NTYiLCJzZWFyY2hSdWxlcyI6eyJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljPXRydWUifSwiY2l0aWVzNTAwIjp7fX0sImV4cCI6bnVsbH0.CuIlkiWAec8TGyZI5X37JTjQvcnvFAFZAuA4xpbXJ8o + PUBLIC_POCKETBASE_URL: http://db:8090 ports: - "8080:3000" networks: