about summary refs log tree commit diff
path: root/pkg/flake/lock
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/flake/lock')
-rw-r--r--pkg/flake/lock/main.go109
1 files changed, 0 insertions, 109 deletions
diff --git a/pkg/flake/lock/main.go b/pkg/flake/lock/main.go
deleted file mode 100644
index 7edf61f..0000000
--- a/pkg/flake/lock/main.go
+++ /dev/null
@@ -1,109 +0,0 @@
-package lock
-
-import (
-	"encoding/json"
-	"fmt"
-	"os"
-	"time"
-)
-
-type FlakeLock struct {
-	// Version of the lock file
-	Version int
-	// Root is the root node for the flake, containing all the inputs
-	Root RootNode
-	// Nodes represent all the inputs node for a flake
-	Nodes map[string]Node
-}
-
-type Node struct {
-	// Flake indicate whether the input is a flake
-	Flake bool `json:"flake"`
-	// Locked represent the locked attribute of the input
-	Locked repoLocked `json:"locked"`
-	// Original represent the user supplied attributes for the input
-	Original repoOriginal `json:"original"`
-}
-
-type repoLocked struct {
-	// LastModified represent the timestamp of when the input was updated last
-	LastModified int64 `json:"lastModified"`
-	// NarHash is the NAR hash for the input
-	NarHash string `json:"narHash"`
-	// Owner of the repository
-	Owner string `json:"owner"`
-	// Repository of the input
-	Repo string `json:"repo"`
-	// Revision of the input
-	Rev string `json:"rev"`
-	// Type of input
-	Type string `json:"type"`
-}
-
-type repoOriginal struct {
-	Owner string `json:"owner"`
-	Ref   string `json:"ref"`
-	Repo  string `json:"repo"`
-	Type  string `json:"type"`
-}
-
-// RootNode is a mapping of input
-type RootNode struct {
-	// Inputs contains the mapping of input
-	Inputs map[string]string `json:"inputs"`
-}
-
-// New return a representation of a flake lock
-func New(flakeLockPath string) (*FlakeLock, error) {
-	content, err := os.ReadFile(flakeLockPath)
-	if err != nil {
-		return nil, fmt.Errorf("failed to read %s: %v", flakeLockPath, err)
-	}
-
-	var lock struct {
-		Version int                        `json:"version"`
-		Root    string                     `json:"root"`
-		Nodes   map[string]json.RawMessage `json:"nodes"`
-	}
-
-	if err := json.Unmarshal(content, &lock); err != nil {
-		return nil, fmt.Errorf("failed to parse %s: %v", flakeLockPath, err)
-	}
-
-	var flakeLock FlakeLock
-	flakeLock.Version = lock.Version
-	flakeLock.Nodes = map[string]Node{}
-
-	for nodeName, node := range lock.Nodes {
-		if nodeName != lock.Root {
-			var n Node
-			if err := json.Unmarshal(node, &n); err != nil {
-				return nil, fmt.Errorf("failed to read node %s: %v", nodeName, err)
-			}
-			flakeLock.Nodes[nodeName] = n
-		} else {
-			var r RootNode
-			if err := json.Unmarshal(node, &r); err != nil {
-				return nil, fmt.Errorf("failed to read the root node: %v", err)
-			}
-			flakeLock.Root = r
-		}
-	}
-
-	return &flakeLock, nil
-}
-
-func (l repoLocked) LastModifiedRFC3339() string {
-	date := time.Unix(l.LastModified, 0)
-	unitTimeInRFC3339 := date.Format(time.RFC3339)
-	return unitTimeInRFC3339
-}
-
-func (l repoLocked) Repository() string {
-	switch l.Type {
-	case "github":
-		return fmt.Sprintf("https://github.com/%s/%s", l.Owner, l.Repo)
-	default:
-		return fmt.Sprintf("%s/%s", l.Repo, l.Owner)
-	}
-}