99 "time"
1010
1111 "cloud.google.com/go/datastore"
12- "github.com/google/osv.dev/go/osv/models"
12+ db "github.com/google/osv.dev/go/internal/database/datastore"
13+ "github.com/google/osv.dev/go/internal/models"
1314)
1415
1516func main () {
@@ -30,65 +31,73 @@ func main() {
3031func readRecords (ctx context.Context , client * datastore.Client ) {
3132 fmt .Println ("(Go) Getting Vulnerability" )
3233 key := datastore .NameKey ("Vulnerability" , "CVE-123-456" , nil )
33- var vulnerability models .Vulnerability
34+ var vulnerability db .Vulnerability
3435 if err := client .Get (ctx , key , & vulnerability ); err != nil {
3536 fmt .Printf ("(Go) Failed getting Vulnerability: %v\n " , err )
3637 os .Exit (1 )
3738 }
3839
3940 fmt .Println ("(Go) Getting AliasGroup" )
4041 key = datastore .NameKey ("AliasGroup" , "1" , nil )
41- var aliasGroup models .AliasGroup
42+ var aliasGroup db .AliasGroup
4243 if err := client .Get (ctx , key , & aliasGroup ); err != nil {
4344 fmt .Printf ("(Go) Failed getting AliasGroup: %v\n " , err )
4445 os .Exit (1 )
4546 }
4647
4748 fmt .Println ("(Go) Getting AliasAllowListEntry" )
4849 key = datastore .NameKey ("AliasAllowListEntry" , "1" , nil )
49- var aliasAllowListEntry models .AliasAllowListEntry
50+ var aliasAllowListEntry db .AliasAllowListEntry
5051 if err := client .Get (ctx , key , & aliasAllowListEntry ); err != nil {
5152 fmt .Printf ("(Go) Failed getting AliasAllowListEntry: %v\n " , err )
5253 os .Exit (1 )
5354 }
5455
5556 fmt .Println ("(Go) Getting AliasDenyListEntry" )
5657 key = datastore .NameKey ("AliasDenyListEntry" , "1" , nil )
57- var aliasDenyListEntry models .AliasDenyListEntry
58+ var aliasDenyListEntry db .AliasDenyListEntry
5859 if err := client .Get (ctx , key , & aliasDenyListEntry ); err != nil {
5960 fmt .Printf ("(Go) Failed getting AliasDenyListEntry: %v\n " , err )
6061 os .Exit (1 )
6162 }
6263
6364 fmt .Println ("(Go) Getting UpstreamGroup" )
6465 key = datastore .NameKey ("UpstreamGroup" , "1" , nil )
65- var upstreamGroup models .UpstreamGroup
66+ var upstreamGroup db .UpstreamGroup
6667 if err := client .Get (ctx , key , & upstreamGroup ); err != nil {
6768 fmt .Printf ("(Go) Failed getting UpstreamGroup: %v\n " , err )
6869 os .Exit (1 )
6970 }
7071
7172 fmt .Println ("(Go) Getting ListedVulnerability" )
7273 key = datastore .NameKey ("ListedVulnerability" , "CVE-123-456" , nil )
73- var listedVulnerability models .ListedVulnerability
74+ var listedVulnerability db .ListedVulnerability
7475 if err := client .Get (ctx , key , & listedVulnerability ); err != nil {
7576 fmt .Printf ("(Go) Failed getting ListedVulnerability: %v\n " , err )
7677 os .Exit (1 )
7778 }
7879
7980 fmt .Println ("(Go) Getting RelatedGroup" )
8081 key = datastore .NameKey ("RelatedGroup" , "CVE-123-456" , nil )
81- var relatedGroup models .RelatedGroup
82+ var relatedGroup db .RelatedGroup
8283 if err := client .Get (ctx , key , & relatedGroup ); err != nil {
8384 fmt .Printf ("(Go) Failed getting RelatedGroup: %v\n " , err )
8485 os .Exit (1 )
8586 }
87+
88+ fmt .Println ("(Go) Getting SourceRepository" )
89+ key = datastore .NameKey ("SourceRepository" , "oss-fuzz" , nil )
90+ var sourceRepo db.SourceRepository
91+ if err := client .Get (ctx , key , & sourceRepo ); err != nil {
92+ fmt .Printf ("(Go) Failed getting SourceRepository: %v\n " , err )
93+ os .Exit (1 )
94+ }
8695}
8796
8897func writeRecords (ctx context.Context , client * datastore.Client ) {
8998 fmt .Println ("(Go) Writing Vulnerability" )
9099 key := datastore .NameKey ("Vulnerability" , "CVE-987-654" , nil )
91- vulnerability := models .Vulnerability {
100+ vulnerability := db .Vulnerability {
92101 SourceID : "test:path/to/CVE-987-654" ,
93102 Modified : time .Date (2025 , time .December , 31 , 23 , 59 , 59 , 0 , time .UTC ),
94103 IsWithdrawn : false ,
@@ -104,7 +113,7 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
104113
105114 fmt .Println ("(Go) Writing AliasGroup" )
106115 key = datastore .NameKey ("AliasGroup" , "2" , nil )
107- aliasGroup := models .AliasGroup {
116+ aliasGroup := db .AliasGroup {
108117 VulnIDs : []string {"A-1" , "B-1" , "C-1" },
109118 Modified : time .Date (2025 , time .January , 1 , 1 , 1 , 1 , 1 , time .UTC ),
110119 }
@@ -115,7 +124,7 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
115124
116125 fmt .Println ("(Go) Writing AliasAllowListEntry" )
117126 key = datastore .NameKey ("AliasAllowListEntry" , "2" , nil )
118- aliasAllowListEntry := models .AliasAllowListEntry {
127+ aliasAllowListEntry := db .AliasAllowListEntry {
119128 VulnID : "IS-GOOD" ,
120129 }
121130 if _ , err := client .Put (ctx , key , & aliasAllowListEntry ); err != nil {
@@ -125,7 +134,7 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
125134
126135 fmt .Println ("(Go) Writing AliasDenyListEntry" )
127136 key = datastore .NameKey ("AliasDenyListEntry" , "2" , nil )
128- aliasDenyListEntry := models .AliasDenyListEntry {
137+ aliasDenyListEntry := db .AliasDenyListEntry {
129138 VulnID : "IS-BAD" ,
130139 }
131140 if _ , err := client .Put (ctx , key , & aliasDenyListEntry ); err != nil {
@@ -135,7 +144,7 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
135144
136145 fmt .Println ("(Go) Writing UpstreamGroup" )
137146 key = datastore .NameKey ("UpstreamGroup" , "2" , nil )
138- upstreamGroup := models .UpstreamGroup {
147+ upstreamGroup := db .UpstreamGroup {
139148 UpstreamIDs : []string {"U-1" , "U-2" },
140149 Modified : time .Date (2025 , time .January , 1 , 1 , 1 , 1 , 1 , time .UTC ),
141150 UpstreamHierarchy : []byte (`{"A": ["B"]}` ),
@@ -147,13 +156,13 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
147156
148157 fmt .Println ("(Go) Writing ListedVulnerability" )
149158 key = datastore .NameKey ("ListedVulnerability" , "CVE-987-654" , nil )
150- listedVulnerability := models .ListedVulnerability {
159+ listedVulnerability := db .ListedVulnerability {
151160 Published : time .Date (2025 , time .December , 31 , 23 , 59 , 59 , 0 , time .UTC ),
152161 Ecosystems : []string {"Go" , "PyPI" },
153162 Packages : []string {"stdlib" , "requests" },
154163 Summary : "A vulnerability" ,
155164 IsFixed : true ,
156- Severities : []models .Severity {
165+ Severities : []db .Severity {
157166 {Type : "CVSS_V3" , Score : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" },
158167 },
159168 AutocompleteTags : []string {"cve-987-654" , "stdlib" , "requests" },
@@ -166,12 +175,46 @@ func writeRecords(ctx context.Context, client *datastore.Client) {
166175
167176 fmt .Println ("(Go) Writing RelatedGroup" )
168177 key = datastore .NameKey ("RelatedGroup" , "CVE-987-654" , nil )
169- relatedGroup := models .RelatedGroup {
178+ relatedGroup := db .RelatedGroup {
170179 RelatedIDs : []string {"R-1" , "R-2" },
171180 Modified : time .Date (2025 , time .January , 1 , 1 , 1 , 1 , 1 , time .UTC ),
172181 }
173182 if _ , err := client .Put (ctx , key , & relatedGroup ); err != nil {
174183 fmt .Printf ("(Go) Failed writing RelatedGroup %v: %v\n " , key , err )
175184 os .Exit (1 )
176185 }
186+
187+ fmt .Println ("(Go) Writing SourceRepository" )
188+ key = datastore .NameKey ("SourceRepository" , "go-source" , nil )
189+ lastUpdate := time .Date (2025 , time .February , 1 , 10 , 0 , 0 , 0 , time .UTC )
190+ goSourceRepo := db.SourceRepository {
191+ Type : models .SourceRepositoryTypeBucket ,
192+ Name : "go-source" ,
193+ RepoURL : "https://example.com/go-source" ,
194+ RepoUsername : "user" ,
195+ RepoBranch : "master" ,
196+ RESTAPIURL : "http://localhost:8080/" ,
197+ Bucket : "osv-test-bucket" ,
198+ DirectoryPath : "osv" ,
199+ LastSyncedHash : "zyxwvutsrqponmlkjihgfedcba" ,
200+ LastUpdateDate : & lastUpdate ,
201+ IgnorePatterns : []string {"ignore" , "pattern" },
202+ Editable : false ,
203+ Extension : ".yaml" ,
204+ KeyPath : "key" ,
205+ IgnoreGit : false ,
206+ DetectCherrypicks : true ,
207+ ConsiderAllBranches : true ,
208+ VersionsFromRepo : true ,
209+ IgnoreLastImportTime : true ,
210+ IgnoreDeletionThreshold : true ,
211+ Link : "https://example.com/go-source" ,
212+ HumanLink : "https://example.com/go-source/human" ,
213+ DBPrefix : []string {"GO-TEST" , "GO-2-TEST" },
214+ StrictValidation : true ,
215+ }
216+ if _ , err := client .Put (ctx , key , & goSourceRepo ); err != nil {
217+ fmt .Printf ("(Go) Failed writing SourceRepository %v: %v\n " , key , err )
218+ os .Exit (1 )
219+ }
177220}
0 commit comments