aboutsummaryrefslogtreecommitdiffstats
path: root/core.go
diff options
context:
space:
mode:
Diffstat (limited to 'core.go')
-rw-r--r--core.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/core.go b/core.go
new file mode 100644
index 0000000..4472f07
--- /dev/null
+++ b/core.go
@@ -0,0 +1,30 @@
+package main
+
+type Offer struct {
+}
+
+type LineItem struct {
+}
+
+type Element struct {
+}
+
+// The main anchor of a BOM as a cohesive whole, with a name and permissions.
+// Multiple BOMs are associated with a single BomStub; the currently active one
+// is the 'head'.
+type BomStub struct {
+ name *ShortName
+ owner string
+ description string
+ homepage *Url
+ isPublicView, isPublicEdit bool
+}
+
+// An actual list of parts/elements. Intended to be immutable once persisted.
+type Bom struct {
+ version *ShortName
+ date uint64 // TODO: unix timestamp?
+ progeny string // where did this BOM come from?
+ elements []Element
+ lineitems []LineItem
+}