-
Notifications
You must be signed in to change notification settings - Fork 18
/
eol.go
43 lines (35 loc) · 967 Bytes
/
eol.go
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
31
32
33
34
35
36
37
38
39
40
41
42
43
package v1
const EolStoreFileName = "xeol.db"
type Product struct {
ID int `json:"id"`
Name string `json:"name"`
Permalink string `json:"permalink"`
}
type Cycle struct {
ProductName string `json:"productName"`
ProductPermalink string `json:"productPermalink"`
ReleaseDate string `json:"releaseDate"`
ReleaseCycle string `json:"releaseCycle"`
LatestReleaseDate string `json:"latestReleaseDate"`
LatestRelease string `json:"latestRelease"`
LTS string `json:"lts"`
Eol string `json:"eol"`
EolBool bool `json:"eolBool"`
}
type Purl struct {
Purl string `json:"purl"`
}
type Cpe struct {
Cpe string `json:"cpe"`
}
type EolStore interface {
EolStoreReader
EolStoreWriter
}
type EolStoreReader interface {
GetCyclesByPurl(purl string) ([]Cycle, error)
GetCyclesByCpe(cpe string) ([]Cycle, error)
GetAllProducts() (*[]Product, error)
}
type EolStoreWriter interface {
}