From 318f00c5d496296e45311ea81e8b80d9bd03b1d5 Mon Sep 17 00:00:00 2001 From: xengineering Date: Wed, 27 Dec 2023 12:03:53 +0100 Subject: model: Implement temporary storage directory This temporary directory is provided to store the user data for the Ceres recipe server during development and testing. --- main.go | 10 ++++++++++ model/storage.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 main.go create mode 100644 model/storage.go diff --git a/main.go b/main.go new file mode 100644 index 0000000..57204af --- /dev/null +++ b/main.go @@ -0,0 +1,10 @@ +package main + +import ( + "xengineering.eu/ceres/model" +) + +func main() { + model.InitStorage() + defer model.RemoveStorage() +} diff --git a/model/storage.go b/model/storage.go new file mode 100644 index 0000000..39539d4 --- /dev/null +++ b/model/storage.go @@ -0,0 +1,28 @@ +package model + +import ( + "log" + "os" +) + +var storage string + +func InitStorage() { + var err error + + storage, err = os.MkdirTemp("", "ceres-") + if err != nil { + log.Fatal(err) + } + + log.Printf("Storage directory: %s\n", storage) +} + +func RemoveStorage() { + var err error = os.RemoveAll(storage) + if err != nil { + log.Printf("Failed to remove temporary storage folder: %v\n", err) + } else { + log.Println("Removed temporary storage folder") + } +} -- cgit v1.2.3-70-g09d2