@@ -8,7 +8,9 @@ allowed_image_extensions := ["png", "svg"]
8
8
9
9
# check that all integrations have an image
10
10
deny contains result if {
11
- some id, integration in input.integrations
11
+ some path, integration in input.integrations
12
+
13
+ id := split (path, " /" )[2 ]
12
14
13
15
# some integrations are allowed to have a missing image as no suitable image is available
14
16
not integration.allow_missing_image == true
@@ -26,7 +28,7 @@ deny contains result if {
26
28
27
29
result := {
28
30
" key" : " integration_image" ,
29
- " message" : sprintf (" integration %s missing image in 'static/img/logos/integrations' with extension of: %v" , [id , concat (" ," , allowed_image_extensions)]),
31
+ " message" : sprintf (" %s missing image in 'static/img/logos/integrations' with extension of: %v" , [path , concat (" ," , allowed_image_extensions)]),
30
32
}
31
33
}
32
34
@@ -36,7 +38,7 @@ deny contains result if {
36
38
37
39
id := split (image, " ." )[0 ]
38
40
39
- not id in object.keys (input.integrations)
41
+ not sprintf ( " /integrations/%s/ " , [id]) in object.keys (input.integrations)
40
42
41
43
result := {
42
44
" key" : " image_integration" ,
@@ -48,13 +50,13 @@ deny contains result if {
48
50
deny contains result if {
49
51
some id, integration in input.integrations
50
52
51
- missing_fields := {" title" , " layout " } - object.keys (integration)
53
+ missing_fields := {" title" } - object.keys (integration)
52
54
53
55
count (missing_fields) > 0
54
56
55
57
result := {
56
58
" key" : " fields" ,
57
- " message" : sprintf (" integration %s missing required fields: %v" , [id, concat (" , " , sort (missing_fields))]),
59
+ " message" : sprintf (" %s missing required fields: %v" , [id, concat (" , " , sort (missing_fields))]),
58
60
}
59
61
}
60
62
@@ -68,21 +70,7 @@ deny contains result if {
68
70
69
71
result := {
70
72
" key" : " content" ,
71
- " message" : sprintf (" integration %s has no content" , [id]),
72
- }
73
- }
74
-
75
- # check that all integrations have a layout set to integration-single
76
- deny contains result if {
77
- some id, integration in input.integrations
78
-
79
- layout := object.get (integration, " layout" , " " )
80
-
81
- layout != " integration-single"
82
-
83
- result := {
84
- " key" : " layout" ,
85
- " message" : sprintf (" integration %s does not have layout set to: integration-single" , [id]),
73
+ " message" : sprintf (" %s has no content" , [id]),
86
74
}
87
75
}
88
76
@@ -94,11 +82,11 @@ deny contains result if {
94
82
95
83
some _, inventor in inventors
96
84
97
- not inventor in object.keys (input.organizations)
85
+ not sprintf ( " /organizations/%s/ " , [ inventor]) in object.keys (input.organizations)
98
86
99
87
result := {
100
88
" key" : " inventors" ,
101
- " message" : sprintf (" integration %s references organization %s which does not exist" , [id, inventor]),
89
+ " message" : sprintf (" %s references organization %s which does not exist" , [id, inventor]),
102
90
}
103
91
}
104
92
@@ -110,45 +98,47 @@ deny contains result if {
110
98
111
99
some _, software in softwares
112
100
113
- not software in object.keys (input.softwares)
101
+ not sprintf ( " /softwares/%s/ " , [ software]) in object.keys (input.softwares)
114
102
115
103
result := {
116
104
" key" : " software" ,
117
- " message" : sprintf (" integration %s references software %s which does not exist" , [id, software]),
105
+ " message" : sprintf (" %s references software %s which does not exist" , [id, software]),
118
106
}
119
107
}
120
108
121
109
# check that softwares have required fields
122
110
deny contains result if {
123
111
some id, software in input.softwares
124
112
125
- missing_fields := {" title" , " layout " , " link" } - object.keys (software)
113
+ missing_fields := {" title" , " link" } - object.keys (software)
126
114
127
115
count (missing_fields) > 0
128
116
129
117
result := {
130
118
" key" : " fields" ,
131
- " message" : sprintf (" software %s missing required fields: %v" , [id, concat (" , " , sort (missing_fields))]),
119
+ " message" : sprintf (" %s missing required fields: %v" , [id, concat (" , " , sort (missing_fields))]),
132
120
}
133
121
}
134
122
135
123
# check that organizations have required fields
136
124
deny contains result if {
137
- some id , organization in input.organizations
125
+ some path , organization in input.organizations
138
126
139
- missing_fields := {" title" , " layout " , " link" } - object.keys (organization)
127
+ missing_fields := {" title" , " link" } - object.keys (organization)
140
128
141
129
count (missing_fields) > 0
142
130
143
131
result := {
144
132
" key" : " fields" ,
145
- " message" : sprintf (" organization %s missing required fields: %v" , [id , concat (" , " , sort (missing_fields))]),
133
+ " message" : sprintf (" %s missing required fields: %v" , [path , concat (" , " , sort (missing_fields))]),
146
134
}
147
135
}
148
136
149
137
# check that each organization has at least one integration
150
138
deny contains result if {
151
- some id, organization in input.organizations
139
+ some path, organization in input.organizations
140
+
141
+ id := split (path, " /" )[2 ]
152
142
153
143
inventor_integrations := {i |
154
144
some i, integration in input.integrations
@@ -167,13 +157,15 @@ deny contains result if {
167
157
168
158
result := {
169
159
" key" : " orphaned_org" ,
170
- " message" : sprintf (" organization %s has no integrations" , [id ]),
160
+ " message" : sprintf (" %s has no integrations" , [path ]),
171
161
}
172
162
}
173
163
174
164
# check that each software has at least one integration
175
165
deny contains result if {
176
- some id, software in input.softwares
166
+ some path, software in input.softwares
167
+
168
+ id := split (path, " /" )[2 ]
177
169
178
170
integrations := {i |
179
171
some i, integration in input.integrations
@@ -184,6 +176,6 @@ deny contains result if {
184
176
185
177
result := {
186
178
" key" : " orphaned_software" ,
187
- " message" : sprintf (" software %s has no integrations" , [id ]),
179
+ " message" : sprintf (" %s has no integrations" , [path ]),
188
180
}
189
181
}
0 commit comments