-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathservice.proto
126 lines (97 loc) · 2.49 KB
/
service.proto
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
syntax = "proto3";
import "google/protobuf/empty.proto";
package api.v1;
option go_package = "github.com/bitbomdev/minefield/gen/api/v1;apiv1";
message QueryRequest {
string script = 1;
}
message QueryResponse {
repeated Node nodes = 1;
}
message AllKeysResponse {
repeated Node nodes = 1;
}
message Node {
uint32 id = 1;
string name = 2;
string type = 3;
repeated uint32 dependencies = 4;
repeated uint32 dependents = 5;
bytes metadata = 6;
}
message Query {
Node node = 1;
repeated uint32 output = 2;
}
message CustomLeaderboardRequest {
string script = 1;
}
message CustomLeaderboardResponse {
repeated Query queries = 1;
}
message GetNodeRequest {
uint32 id = 1;
}
message GetNodeResponse {
Node node = 1;
}
message GetNodeByNameRequest {
string name = 1;
}
message GetNodeByNameResponse {
Node node = 1;
}
message GetNodesByGlobRequest {
string pattern = 1;
}
message GetNodesByGlobResponse {
repeated Node nodes = 1;
}
message AddNodeRequest {
Node node = 1;
}
message AddNodeResponse {
Node node = 1;
}
message SetDependencyRequest {
uint32 nodeId = 1;
uint32 dependencyID = 2;
}
message IngestSBOMRequest {
bytes sbom = 1;
}
message IngestVulnerabilityRequest {
bytes vulnerability = 1;
}
message IngestScorecardRequest {
bytes scorecard = 1;
}
message HealthCheckResponse {
string status = 1;
}
service QueryService {
rpc Query(QueryRequest) returns (QueryResponse) {}
}
service CacheService {
rpc Cache(google.protobuf.Empty) returns (google.protobuf.Empty) {}
rpc Clear(google.protobuf.Empty) returns (google.protobuf.Empty) {}
}
service LeaderboardService {
rpc CustomLeaderboard(CustomLeaderboardRequest) returns (CustomLeaderboardResponse) {}
rpc AllKeys(google.protobuf.Empty) returns (AllKeysResponse) {}
}
service GraphService {
rpc GetNode(GetNodeRequest) returns (GetNodeResponse) {}
rpc GetNodesByGlob(GetNodesByGlobRequest) returns (GetNodesByGlobResponse) {}
rpc GetNodeByName(GetNodeByNameRequest) returns (GetNodeByNameResponse) {}
rpc AddNode(AddNodeRequest) returns (AddNodeResponse) {}
rpc SetDependency(SetDependencyRequest) returns (google.protobuf.Empty) {}
}
service IngestService {
rpc IngestSBOM(IngestSBOMRequest) returns (google.protobuf.Empty) {}
rpc IngestVulnerability(IngestVulnerabilityRequest) returns (google.protobuf.Empty) {}
rpc IngestScorecard(IngestScorecardRequest) returns (google.protobuf.Empty) {}
}
service HealthService {
rpc Check(google.protobuf.Empty) returns (HealthCheckResponse) {}
}