summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-05-05 15:50:06 +0300
committerPaul Buetow <paul@buetow.org>2024-05-05 15:50:06 +0300
commitbc3850054cd182fd84e180482e88935aa3559a1c (patch)
tree4073c0579c4115870109801371b2b5e1a40c68b1
parentf173d052d3f8679716862d233d8751f67d3b197c (diff)
use sha checksum as the id
-rw-r--r--entry.go7
-rw-r--r--submit.go7
2 files changed, 7 insertions, 7 deletions
diff --git a/entry.go b/entry.go
index 1615392..a91e0b7 100644
--- a/entry.go
+++ b/entry.go
@@ -1,6 +1,7 @@
package main
import (
+ "crypto/sha256"
"encoding/json"
"fmt"
)
@@ -14,13 +15,15 @@ type entry struct {
Body string `json:"body"`
Shared []shared `json:"shared,omitempty"`
Epoch int `json:"epoch,omitempty"`
+ id string
}
-func newEntry(data []byte) (entry, error) {
+func newEntry(bytes []byte) (entry, error) {
var entry entry
- if err := json.Unmarshal(data, &entry); err != nil {
+ if err := json.Unmarshal(bytes, &entry); err != nil {
return entry, fmt.Errorf("unable to deserialise payload: %w", err)
}
+ entry.id = fmt.Sprintf("%x", sha256.Sum256(bytes))
return entry, nil
}
diff --git a/submit.go b/submit.go
index 2c65d6b..3b94015 100644
--- a/submit.go
+++ b/submit.go
@@ -1,7 +1,6 @@
package main
import (
- "crypto/sha256"
"fmt"
"io"
"net/http"
@@ -10,7 +9,7 @@ import (
func handleSubmit(w http.ResponseWriter, r *http.Request, dataDir string) error {
if r.Method != "POST" {
- return fmt.Errorf("Expexted POST request")
+ return fmt.Errorf("expexted POST request")
}
bytes, err := io.ReadAll(r.Body)
@@ -22,9 +21,7 @@ func handleSubmit(w http.ResponseWriter, r *http.Request, dataDir string) error
if err != nil {
return err
}
-
- filePath := fmt.Sprintf("%s/%s/%x.json", dataDir,
- time.Now().Format("2006"), sha256.Sum256(bytes))
+ filePath := fmt.Sprintf("%s/%s/%s.json", dataDir, time.Now().Format("2006"), entry.id)
jsonStr, err := entry.serialize()
if err != nil {