summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-11-02 08:58:17 -0600
committerJeff Carr <[email protected]>2025-11-02 08:58:17 -0600
commitd5da48e0f80f4a5114ed906bdb8689f5ff5d4ac9 (patch)
treed2d0df927773da30966cb9b67d95b6533c70e085
parentd8ad8ed5a7d294d19185ca1bc54039e1184831ba (diff)
add a function to force create the PB on errdevel
-rw-r--r--cacheDir.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/cacheDir.go b/cacheDir.go
index 2804f9e..b7c1c00 100644
--- a/cacheDir.go
+++ b/cacheDir.go
@@ -17,6 +17,7 @@ import (
"os"
"go.wit.com/lib/env"
+ "go.wit.com/lib/protobuf/filepb"
"google.golang.org/protobuf/proto"
)
@@ -97,3 +98,41 @@ func ForceCreateCacheDirPB(pb proto.Message, dirname string, filename string) er
err = SaveToFilename(pb, fullname)
return err
}
+
+// checks the UUID and Version of the .pb file
+// should re-create the file with the new .proto (unless the filename is bank)
+func ForceCreatePB(pb proto.Message) error {
+ fullname, err := GetFilename(pb)
+ if err != nil {
+ // fmt.Println(fullname, "err", err)
+ return err
+ }
+
+ if fullname == "" {
+ // fmt.Println(fullname, "is blank")
+ return errors.New("filename PB is blank")
+ }
+
+ newver, curver, err := filepb.VersionCheckFile(pb, fullname)
+ _, _ = newver, curver
+ if err == nil {
+ // everything is fine. Versions match. load file
+ err = LoadFromFilename(pb, fullname)
+ if err == nil {
+ // fmt.Println(fullname, "should have worked")
+ return nil
+ }
+ fmt.Printf("lib/config Load() %s failed. Removing file. (%v)\n", fullname, err)
+ }
+ if !errors.Is(err, os.ErrNotExist) {
+ // Version Check failed.
+ err = os.Remove(fullname)
+ if err != nil {
+ fmt.Printf("lib/config os.Remove() %s failed (%v)\n", fullname, err)
+ }
+ }
+ // if there is any err, recreate the file
+ err = SaveToFilename(pb, fullname)
+ fmt.Printf("lib/config Saved new cache file (%s)\n", fullname)
+ return err
+}