aboutsummaryrefslogtreecommitdiffstats
path: root/core.go
blob: 4472f07989eae4004c60a322fdb8ec886efd4286 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
}