@magda/typescript-common 1.1.0-alpha.2 → 1.1.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/AspectBuilder.d.ts +7 -0
  2. package/dist/AspectBuilder.js +3 -0
  3. package/dist/AspectBuilder.js.map +1 -0
  4. package/dist/AspectCreationFailure.d.ts +5 -0
  5. package/dist/AspectCreationFailure.js +10 -0
  6. package/dist/AspectCreationFailure.js.map +1 -0
  7. package/dist/AsyncPage.d.ts +18 -0
  8. package/dist/AsyncPage.js +140 -0
  9. package/dist/AsyncPage.js.map +1 -0
  10. package/dist/ConnectionResult.d.ts +16 -0
  11. package/dist/ConnectionResult.js +77 -0
  12. package/dist/ConnectionResult.js.map +1 -0
  13. package/dist/ConnectorRecordId.d.ts +15 -0
  14. package/dist/ConnectorRecordId.js +46 -0
  15. package/dist/ConnectorRecordId.js.map +1 -0
  16. package/dist/JsonConnector.d.ts +195 -0
  17. package/dist/JsonConnector.js +427 -0
  18. package/dist/JsonConnector.js.map +1 -0
  19. package/dist/JsonTransformer.d.ts +112 -0
  20. package/dist/JsonTransformer.js +225 -0
  21. package/dist/JsonTransformer.js.map +1 -0
  22. package/dist/OpaCompileResponseParser.d.ts +480 -0
  23. package/dist/OpaCompileResponseParser.js +1134 -0
  24. package/dist/OpaCompileResponseParser.js.map +1 -0
  25. package/dist/RecordCreationFailure.d.ts +7 -0
  26. package/dist/RecordCreationFailure.js +11 -0
  27. package/dist/RecordCreationFailure.js.map +1 -0
  28. package/dist/SimpleOpaSQLTranslator.d.ts +14 -0
  29. package/dist/SimpleOpaSQLTranslator.js +79 -0
  30. package/dist/SimpleOpaSQLTranslator.js.map +1 -0
  31. package/dist/addTrailingSlash.d.ts +1 -0
  32. package/dist/addTrailingSlash.js +15 -0
  33. package/dist/addTrailingSlash.js.map +1 -0
  34. package/dist/appendUrlSegments.d.ts +2 -0
  35. package/dist/appendUrlSegments.js +18 -0
  36. package/dist/appendUrlSegments.js.map +1 -0
  37. package/dist/authorization-api/AccessControlError.d.ts +4 -0
  38. package/dist/authorization-api/AccessControlError.js +13 -0
  39. package/dist/authorization-api/AccessControlError.js.map +1 -0
  40. package/dist/authorization-api/ApiClient.d.ts +141 -0
  41. package/dist/authorization-api/ApiClient.js +335 -0
  42. package/dist/authorization-api/ApiClient.js.map +1 -0
  43. package/dist/authorization-api/AuthError.d.ts +4 -0
  44. package/dist/authorization-api/AuthError.js +13 -0
  45. package/dist/authorization-api/AuthError.js.map +1 -0
  46. package/dist/authorization-api/GenericError.d.ts +9 -0
  47. package/dist/authorization-api/GenericError.js +17 -0
  48. package/dist/authorization-api/GenericError.js.map +1 -0
  49. package/dist/authorization-api/authMiddleware.d.ts +7 -0
  50. package/dist/authorization-api/authMiddleware.js +52 -0
  51. package/dist/authorization-api/authMiddleware.js.map +1 -0
  52. package/dist/authorization-api/model.d.ts +99 -0
  53. package/dist/authorization-api/model.js +3 -0
  54. package/dist/authorization-api/model.js.map +1 -0
  55. package/dist/coerceJson.d.ts +2 -0
  56. package/dist/coerceJson.js +13 -0
  57. package/dist/coerceJson.js.map +1 -0
  58. package/dist/createServiceError.d.ts +19 -0
  59. package/dist/createServiceError.js +45 -0
  60. package/dist/createServiceError.js.map +1 -0
  61. package/dist/delay.d.ts +2 -0
  62. package/dist/delay.js +9 -0
  63. package/dist/delay.js.map +1 -0
  64. package/dist/express/status.d.ts +30 -0
  65. package/dist/express/status.js +180 -0
  66. package/dist/express/status.js.map +1 -0
  67. package/dist/formatServiceError.d.ts +1 -0
  68. package/dist/formatServiceError.js +23 -0
  69. package/dist/formatServiceError.js.map +1 -0
  70. package/dist/generated/registry/api.d.ts +596 -0
  71. package/dist/generated/registry/api.js +2060 -0
  72. package/dist/generated/registry/api.js.map +1 -0
  73. package/dist/getAbsoluteUrl.d.ts +12 -0
  74. package/dist/getAbsoluteUrl.js +35 -0
  75. package/dist/getAbsoluteUrl.js.map +1 -0
  76. package/dist/getBasePathFromUrl.d.ts +10 -0
  77. package/dist/getBasePathFromUrl.js +27 -0
  78. package/dist/getBasePathFromUrl.js.map +1 -0
  79. package/dist/markdownToHtml.d.ts +3 -0
  80. package/dist/markdownToHtml.js +38 -0
  81. package/dist/markdownToHtml.js.map +1 -0
  82. package/dist/opa/OpaTypes.d.ts +41 -0
  83. package/dist/opa/OpaTypes.js +3 -0
  84. package/dist/opa/OpaTypes.js.map +1 -0
  85. package/dist/opa/getAuthDecision.d.ts +19 -0
  86. package/dist/opa/getAuthDecision.js +94 -0
  87. package/dist/opa/getAuthDecision.js.map +1 -0
  88. package/dist/opa/queryOpa.d.ts +1 -0
  89. package/dist/opa/queryOpa.js +41 -0
  90. package/dist/opa/queryOpa.js.map +1 -0
  91. package/dist/registry/AuthorizedRegistryClient.d.ts +29 -0
  92. package/dist/registry/AuthorizedRegistryClient.js +115 -0
  93. package/dist/registry/AuthorizedRegistryClient.js.map +1 -0
  94. package/dist/registry/RegistryClient.d.ts +36 -0
  95. package/dist/registry/RegistryClient.js +59 -0
  96. package/dist/registry/RegistryClient.js.map +1 -0
  97. package/dist/registry/TenantConsts.d.ts +31 -0
  98. package/dist/registry/TenantConsts.js +35 -0
  99. package/dist/registry/TenantConsts.js.map +1 -0
  100. package/dist/registry-manual/api.d.ts +9 -0
  101. package/dist/registry-manual/api.js +10 -0
  102. package/dist/registry-manual/api.js.map +1 -0
  103. package/dist/request.d.ts +3 -0
  104. package/dist/request.js +19 -0
  105. package/dist/request.js.map +1 -0
  106. package/dist/retry.d.ts +1 -0
  107. package/dist/retry.js +21 -0
  108. package/dist/retry.js.map +1 -0
  109. package/dist/retryBackoff.d.ts +1 -0
  110. package/dist/retryBackoff.js +21 -0
  111. package/dist/retryBackoff.js.map +1 -0
  112. package/dist/runLater.d.ts +1 -0
  113. package/dist/runLater.js +16 -0
  114. package/dist/runLater.js.map +1 -0
  115. package/dist/session/GetUserId.d.ts +5 -0
  116. package/dist/session/GetUserId.js +41 -0
  117. package/dist/session/GetUserId.js.map +1 -0
  118. package/dist/session/GetUserSession.d.ts +3 -0
  119. package/dist/session/GetUserSession.js +22 -0
  120. package/dist/session/GetUserSession.js.map +1 -0
  121. package/dist/session/addJwtSecretFromEnvVar.d.ts +14 -0
  122. package/dist/session/addJwtSecretFromEnvVar.js +23 -0
  123. package/dist/session/addJwtSecretFromEnvVar.js.map +1 -0
  124. package/dist/session/buildJwt.d.ts +1 -0
  125. package/dist/session/buildJwt.js +8 -0
  126. package/dist/session/buildJwt.js.map +1 -0
  127. package/dist/session/cookieUtils.d.ts +16 -0
  128. package/dist/session/cookieUtils.js +19 -0
  129. package/dist/session/cookieUtils.js.map +1 -0
  130. package/dist/session/destroySession.d.ts +10 -0
  131. package/dist/session/destroySession.js +44 -0
  132. package/dist/session/destroySession.js.map +1 -0
  133. package/dist/session/getSessionId.d.ts +2 -0
  134. package/dist/session/getSessionId.js +28 -0
  135. package/dist/session/getSessionId.js.map +1 -0
  136. package/dist/tenant-api/AuthorizedTenantClient.d.ts +25 -0
  137. package/dist/tenant-api/AuthorizedTenantClient.js +61 -0
  138. package/dist/tenant-api/AuthorizedTenantClient.js.map +1 -0
  139. package/dist/tenant-api/Tenant.d.ts +17 -0
  140. package/dist/tenant-api/Tenant.js +10 -0
  141. package/dist/tenant-api/Tenant.js.map +1 -0
  142. package/dist/test/JsonConnector.spec.d.ts +1 -0
  143. package/dist/test/JsonConnector.spec.js +352 -0
  144. package/dist/test/JsonConnector.spec.js.map +1 -0
  145. package/dist/test/JsonTransformer.spec.d.ts +1 -0
  146. package/dist/test/JsonTransformer.spec.js +98 -0
  147. package/dist/test/JsonTransformer.spec.js.map +1 -0
  148. package/dist/test/arbitraries.d.ts +98 -0
  149. package/dist/test/arbitraries.js +264 -0
  150. package/dist/test/arbitraries.js.map +1 -0
  151. package/dist/test/aspect-templates/organization-details.d.ts +4 -0
  152. package/dist/test/aspect-templates/organization-details.js +11 -0
  153. package/dist/test/aspect-templates/organization-details.js.map +1 -0
  154. package/dist/test/buildApiClient.spec.d.ts +1 -0
  155. package/dist/test/buildApiClient.spec.js +177 -0
  156. package/dist/test/buildApiClient.spec.js.map +1 -0
  157. package/dist/test/buildAuthorizedTenantClient.spec.d.ts +1 -0
  158. package/dist/test/buildAuthorizedTenantClient.spec.js +60 -0
  159. package/dist/test/buildAuthorizedTenantClient.spec.js.map +1 -0
  160. package/dist/test/connectors/MockExpressServer.d.ts +5 -0
  161. package/dist/test/connectors/MockExpressServer.js +28 -0
  162. package/dist/test/connectors/MockExpressServer.js.map +1 -0
  163. package/dist/test/connectors/MockRegistry.d.ts +7 -0
  164. package/dist/test/connectors/MockRegistry.js +93 -0
  165. package/dist/test/connectors/MockRegistry.js.map +1 -0
  166. package/dist/test/connectors/runConnectorTest.d.ts +5 -0
  167. package/dist/test/connectors/runConnectorTest.js +106 -0
  168. package/dist/test/connectors/runConnectorTest.js.map +1 -0
  169. package/dist/test/db/getTestDBConfig.d.ts +7 -0
  170. package/dist/test/db/getTestDBConfig.js +13 -0
  171. package/dist/test/db/getTestDBConfig.js.map +1 -0
  172. package/dist/test/db/runMigrationSql.d.ts +9 -0
  173. package/dist/test/db/runMigrationSql.js +82 -0
  174. package/dist/test/db/runMigrationSql.js.map +1 -0
  175. package/dist/test/express/status.spec.d.ts +1 -0
  176. package/dist/test/express/status.spec.js +160 -0
  177. package/dist/test/express/status.spec.js.map +1 -0
  178. package/dist/test/fakeArgv.d.ts +2 -0
  179. package/dist/test/fakeArgv.js +7 -0
  180. package/dist/test/fakeArgv.js.map +1 -0
  181. package/dist/test/getAuthDecision.spec.d.ts +1 -0
  182. package/dist/test/getAuthDecision.spec.js +22 -0
  183. package/dist/test/getAuthDecision.spec.js.map +1 -0
  184. package/dist/test/getBasePathFromUrl.spec.d.ts +1 -0
  185. package/dist/test/getBasePathFromUrl.spec.js +25 -0
  186. package/dist/test/getBasePathFromUrl.spec.js.map +1 -0
  187. package/dist/test/jsverify.d.ts +2 -0
  188. package/dist/test/jsverify.js +8 -0
  189. package/dist/test/jsverify.js.map +1 -0
  190. package/dist/test/mockAuthApiHost.d.ts +14 -0
  191. package/dist/test/mockAuthApiHost.js +174 -0
  192. package/dist/test/mockAuthApiHost.js.map +1 -0
  193. package/dist/test/mockAuthorization.d.ts +3 -0
  194. package/dist/test/mockAuthorization.js +24 -0
  195. package/dist/test/mockAuthorization.js.map +1 -0
  196. package/dist/test/mockTenantDataStore.d.ts +8 -0
  197. package/dist/test/mockTenantDataStore.js +41 -0
  198. package/dist/test/mockTenantDataStore.js.map +1 -0
  199. package/dist/test/mockUserDataStore.d.ts +11 -0
  200. package/dist/test/mockUserDataStore.js +56 -0
  201. package/dist/test/mockUserDataStore.js.map +1 -0
  202. package/dist/test/registry/buildAuthorizedClient.spec.d.ts +1 -0
  203. package/dist/test/registry/buildAuthorizedClient.spec.js +101 -0
  204. package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -0
  205. package/dist/test/sampleOpaResponse.json +480 -0
  206. package/dist/test/sampleOpaResponseSimple.json +173 -0
  207. package/dist/test/sampleOpaResponseUnconditionalTrue.json +193 -0
  208. package/dist/test/sampleOpaResponseUnconditionalTrueWithDefaultRule.json +303 -0
  209. package/dist/test/sampleOpaResponseWithDefaultRule.json +303 -0
  210. package/dist/test/session/buildJwt.spec.d.ts +1 -0
  211. package/dist/test/session/buildJwt.spec.js +50 -0
  212. package/dist/test/session/buildJwt.spec.js.map +1 -0
  213. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.d.ts +1 -0
  214. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js +64 -0
  215. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js.map +1 -0
  216. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.d.ts +1 -0
  217. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js +52 -0
  218. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js.map +1 -0
  219. package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.d.ts +1 -0
  220. package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js +36 -0
  221. package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js.map +1 -0
  222. package/dist/test/testAsyncPage.spec.d.ts +1 -0
  223. package/dist/test/testAsyncPage.spec.js +463 -0
  224. package/dist/test/testAsyncPage.spec.js.map +1 -0
  225. package/dist/test/testOpaCompileResponseParser.spec.d.ts +1 -0
  226. package/dist/test/testOpaCompileResponseParser.spec.js +148 -0
  227. package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -0
  228. package/dist/test/util.d.ts +1 -0
  229. package/dist/test/util.js +8 -0
  230. package/dist/test/util.js.map +1 -0
  231. package/dist/util/arrayToMaybe.d.ts +2 -0
  232. package/dist/util/arrayToMaybe.js +8 -0
  233. package/dist/util/arrayToMaybe.js.map +1 -0
  234. package/dist/util/cleanOrgTitle.d.ts +1 -0
  235. package/dist/util/cleanOrgTitle.js +13 -0
  236. package/dist/util/cleanOrgTitle.js.map +1 -0
  237. package/dist/util/getMinikubeIP.d.ts +1 -0
  238. package/dist/util/getMinikubeIP.js +13 -0
  239. package/dist/util/getMinikubeIP.js.map +1 -0
  240. package/dist/util/isUuid.d.ts +2 -0
  241. package/dist/util/isUuid.js +6 -0
  242. package/dist/util/isUuid.js.map +1 -0
  243. package/dist/util/unionToThrowable.d.ts +1 -0
  244. package/dist/util/unionToThrowable.js +12 -0
  245. package/dist/util/unionToThrowable.js.map +1 -0
  246. package/dist/utilityTypes.d.ts +1 -0
  247. package/dist/utilityTypes.js +3 -0
  248. package/dist/utilityTypes.js.map +1 -0
  249. package/package.json +3 -3
@@ -0,0 +1,193 @@
1
+ {
2
+ "result": {
3
+ "queries": [
4
+ [],
5
+ [
6
+ {
7
+ "index": 0,
8
+ "terms": [
9
+ {
10
+ "type": "ref",
11
+ "value": [
12
+ {
13
+ "type": "var",
14
+ "value": "eq"
15
+ }
16
+ ]
17
+ },
18
+ {
19
+ "type": "ref",
20
+ "value": [
21
+ {
22
+ "type": "var",
23
+ "value": "input"
24
+ },
25
+ {
26
+ "type": "string",
27
+ "value": "object"
28
+ },
29
+ {
30
+ "type": "string",
31
+ "value": "registry"
32
+ },
33
+ {
34
+ "type": "string",
35
+ "value": "record"
36
+ },
37
+ {
38
+ "type": "string",
39
+ "value": "esri-access-control"
40
+ },
41
+ {
42
+ "type": "string",
43
+ "value": "access"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "type": "string",
49
+ "value": "public"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "index": 1,
55
+ "terms": [
56
+ {
57
+ "type": "ref",
58
+ "value": [
59
+ {
60
+ "type": "var",
61
+ "value": "gt"
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "type": "ref",
67
+ "value": [
68
+ {
69
+ "type": "var",
70
+ "value": "input"
71
+ },
72
+ {
73
+ "type": "string",
74
+ "value": "object"
75
+ },
76
+ {
77
+ "type": "string",
78
+ "value": "registry"
79
+ },
80
+ {
81
+ "type": "string",
82
+ "value": "record"
83
+ },
84
+ {
85
+ "type": "string",
86
+ "value": "esri-access-control"
87
+ },
88
+ {
89
+ "type": "string",
90
+ "value": "expiration"
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "type": "number",
96
+ "value": 1599191720666
97
+ }
98
+ ]
99
+ }
100
+ ]
101
+ ]
102
+ },
103
+ "explanation": [
104
+ "Enter data.object.registry.record.esri_owner_groups.read",
105
+ "| Eval data.object.registry.record.esri_owner_groups.read",
106
+ "| Index data.object.registry.record.esri_owner_groups.read (matched 4 rules)",
107
+ "| Enter read = true { data.object.registry.record.admin_role }",
108
+ "| | Eval data.object.registry.record.admin_role",
109
+ "| | Index data.object.registry.record.admin_role (matched 1 rule)",
110
+ "| | Enter admin_role = true { input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\" }",
111
+ "| | | Eval input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
112
+ "| | | Exit admin_role = true { input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\" }",
113
+ "| | Exit read = true { data.object.registry.record.admin_role }",
114
+ "| Exit data.object.registry.record.esri_owner_groups.read",
115
+ "Redo data.object.registry.record.esri_owner_groups.read",
116
+ "| Redo data.object.registry.record.esri_owner_groups.read",
117
+ "| Redo read = true { data.object.registry.record.admin_role }",
118
+ "| | Redo data.object.registry.record.admin_role",
119
+ "| | Redo admin_role = true { input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\" }",
120
+ "| | | Redo input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
121
+ "| Enter read = true { data.object.registry.record.has_permission.read; data.object.registry.record.esri_groups; data.object.registry.record.esri_expiration }",
122
+ "| | Eval data.object.registry.record.has_permission.read",
123
+ "| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
124
+ "| | Enter read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
125
+ "| | | Eval data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
126
+ "| | | Index data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") (matched 1 rule)",
127
+ "| | | Enter has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
128
+ "| | | | Eval input.user.permissions[_].operations[_].uri = permission",
129
+ "| | | | Exit has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
130
+ "| | | Exit read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
131
+ "| | Eval data.object.registry.record.esri_groups",
132
+ "| | Index data.object.registry.record.esri_groups (matched 1 rule)",
133
+ "| | Enter esri_groups = true { input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_] }",
134
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
135
+ "| | | Fail input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
136
+ "| | Fail data.object.registry.record.esri_groups",
137
+ "| | Redo data.object.registry.record.has_permission.read",
138
+ "| | Redo read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
139
+ "| | | Redo data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
140
+ "| | | Redo has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
141
+ "| | | | Redo input.user.permissions[_].operations[_].uri = permission",
142
+ "| Enter read = true { data.object.registry.record.has_permission.read; data.object.registry.record.esri_owner; data.object.registry.record.esri_expiration }",
143
+ "| | Eval data.object.registry.record.has_permission.read",
144
+ "| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
145
+ "| | Enter read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
146
+ "| | | Eval data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
147
+ "| | | Index data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") (matched 1 rule)",
148
+ "| | | Enter has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
149
+ "| | | | Eval input.user.permissions[_].operations[_].uri = permission",
150
+ "| | | | Exit has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
151
+ "| | | Exit read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
152
+ "| | Eval data.object.registry.record.esri_owner",
153
+ "| | Index data.object.registry.record.esri_owner (matched 1 rule)",
154
+ "| | Enter esri_owner = true { input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser }",
155
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
156
+ "| | | Fail input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
157
+ "| | Fail data.object.registry.record.esri_owner",
158
+ "| | Redo data.object.registry.record.has_permission.read",
159
+ "| | Redo read = true { data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") }",
160
+ "| | | Redo data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
161
+ "| | | Redo has_permission(permission) = true { input.user.permissions[_].operations[_].uri = permission }",
162
+ "| | | | Redo input.user.permissions[_].operations[_].uri = permission",
163
+ "| Enter read = true { data.object.registry.record.esri_public; data.object.registry.record.esri_expiration }",
164
+ "| | Eval data.object.registry.record.esri_public",
165
+ "| | Index data.object.registry.record.esri_public (matched 1 rule)",
166
+ "| | Enter esri_public = true { input.object.registry.record[\"esri-access-control\"].access = \"public\" }",
167
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].access = \"public\"",
168
+ "| | | Save input.object.registry.record[\"esri-access-control\"].access = \"public\"",
169
+ "| | | Exit esri_public = true { input.object.registry.record[\"esri-access-control\"].access = \"public\" }",
170
+ "| | Eval data.object.registry.record.esri_expiration",
171
+ "| | Index data.object.registry.record.esri_expiration (matched 1 rule)",
172
+ "| | Enter esri_expiration = true { __local0__ = input.object.registry.record[\"esri-access-control\"].expiration; __local1__ = input.timestamp; gt(__local0__, __local1__) }",
173
+ "| | | Eval __local0__ = input.object.registry.record[\"esri-access-control\"].expiration",
174
+ "| | | Save __local0__ = input.object.registry.record[\"esri-access-control\"].expiration",
175
+ "| | | Eval __local1__ = input.timestamp",
176
+ "| | | Eval gt(__local0__, __local1__)",
177
+ "| | | Save gt(__local0__, __local1__)",
178
+ "| | | Exit esri_expiration = true { __local0__ = input.object.registry.record[\"esri-access-control\"].expiration; __local1__ = input.timestamp; gt(__local0__, __local1__) }",
179
+ "| | Exit read = true { data.object.registry.record.esri_public; data.object.registry.record.esri_expiration }",
180
+ "| Exit data.object.registry.record.esri_owner_groups.read",
181
+ "Redo data.object.registry.record.esri_owner_groups.read",
182
+ "| Redo data.object.registry.record.esri_owner_groups.read",
183
+ "| Redo read = true { data.object.registry.record.esri_public; data.object.registry.record.esri_expiration }",
184
+ "| | Redo data.object.registry.record.esri_expiration",
185
+ "| | Redo esri_expiration = true { __local0__ = input.object.registry.record[\"esri-access-control\"].expiration; __local1__ = input.timestamp; gt(__local0__, __local1__) }",
186
+ "| | | Redo gt(__local0__, __local1__)",
187
+ "| | | Redo __local1__ = input.timestamp",
188
+ "| | | Redo __local0__ = input.object.registry.record[\"esri-access-control\"].expiration",
189
+ "| | Redo data.object.registry.record.esri_public",
190
+ "| | Redo esri_public = true { input.object.registry.record[\"esri-access-control\"].access = \"public\" }",
191
+ "| | | Redo input.object.registry.record[\"esri-access-control\"].access = \"public\""
192
+ ]
193
+ }
@@ -0,0 +1,303 @@
1
+ {
2
+ "result": {
3
+ "queries": [
4
+ [
5
+ {
6
+ "index": 0,
7
+ "terms": {
8
+ "type": "ref",
9
+ "value": [
10
+ {
11
+ "type": "var",
12
+ "value": "data"
13
+ },
14
+ {
15
+ "type": "string",
16
+ "value": "partial"
17
+ },
18
+ {
19
+ "type": "string",
20
+ "value": "object"
21
+ },
22
+ {
23
+ "type": "string",
24
+ "value": "registry"
25
+ },
26
+ {
27
+ "type": "string",
28
+ "value": "record"
29
+ },
30
+ {
31
+ "type": "string",
32
+ "value": "esri_owner_groups"
33
+ },
34
+ {
35
+ "type": "string",
36
+ "value": "read"
37
+ }
38
+ ]
39
+ }
40
+ }
41
+ ]
42
+ ],
43
+ "support": [
44
+ {
45
+ "package": {
46
+ "path": [
47
+ {
48
+ "type": "var",
49
+ "value": "data"
50
+ },
51
+ {
52
+ "type": "string",
53
+ "value": "partial"
54
+ },
55
+ {
56
+ "type": "string",
57
+ "value": "object"
58
+ },
59
+ {
60
+ "type": "string",
61
+ "value": "registry"
62
+ },
63
+ {
64
+ "type": "string",
65
+ "value": "record"
66
+ },
67
+ {
68
+ "type": "string",
69
+ "value": "esri_owner_groups"
70
+ }
71
+ ]
72
+ },
73
+ "rules": [
74
+ {
75
+ "head": {
76
+ "name": "read",
77
+ "value": {
78
+ "type": "boolean",
79
+ "value": true
80
+ }
81
+ },
82
+ "body": [
83
+ {
84
+ "index": 0,
85
+ "terms": {
86
+ "type": "boolean",
87
+ "value": true
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "head": {
94
+ "name": "read",
95
+ "value": {
96
+ "type": "boolean",
97
+ "value": true
98
+ }
99
+ },
100
+ "body": [
101
+ {
102
+ "index": 0,
103
+ "terms": [
104
+ {
105
+ "type": "ref",
106
+ "value": [
107
+ {
108
+ "type": "var",
109
+ "value": "eq"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "type": "ref",
115
+ "value": [
116
+ {
117
+ "type": "var",
118
+ "value": "input"
119
+ },
120
+ {
121
+ "type": "string",
122
+ "value": "object"
123
+ },
124
+ {
125
+ "type": "string",
126
+ "value": "registry"
127
+ },
128
+ {
129
+ "type": "string",
130
+ "value": "record"
131
+ },
132
+ {
133
+ "type": "string",
134
+ "value": "esri-access-control"
135
+ },
136
+ {
137
+ "type": "string",
138
+ "value": "access"
139
+ }
140
+ ]
141
+ },
142
+ {
143
+ "type": "string",
144
+ "value": "public"
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "index": 1,
150
+ "terms": [
151
+ {
152
+ "type": "ref",
153
+ "value": [
154
+ {
155
+ "type": "var",
156
+ "value": "gt"
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "type": "ref",
162
+ "value": [
163
+ {
164
+ "type": "var",
165
+ "value": "input"
166
+ },
167
+ {
168
+ "type": "string",
169
+ "value": "object"
170
+ },
171
+ {
172
+ "type": "string",
173
+ "value": "registry"
174
+ },
175
+ {
176
+ "type": "string",
177
+ "value": "record"
178
+ },
179
+ {
180
+ "type": "string",
181
+ "value": "esri-access-control"
182
+ },
183
+ {
184
+ "type": "string",
185
+ "value": "expiration"
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "type": "number",
191
+ "value": 1599191720666
192
+ }
193
+ ]
194
+ }
195
+ ]
196
+ },
197
+ {
198
+ "default": true,
199
+ "head": {
200
+ "name": "read",
201
+ "value": {
202
+ "type": "boolean",
203
+ "value": false
204
+ }
205
+ },
206
+ "body": [
207
+ {
208
+ "index": 0,
209
+ "terms": {
210
+ "type": "boolean",
211
+ "value": true
212
+ }
213
+ }
214
+ ]
215
+ }
216
+ ]
217
+ }
218
+ ]
219
+ },
220
+ "explanation": [
221
+ "Enter data.object.registry.record.esri_owner_groups.read",
222
+ "| Eval data.object.registry.record.esri_owner_groups.read",
223
+ "| Index data.object.registry.record.esri_owner_groups.read matched 4 rules)",
224
+ "| Enter data.object.registry.record.esri_owner_groups.read",
225
+ "| | Eval data.object.registry.record.admin_role",
226
+ "| | Index data.object.registry.record.admin_role (matched 1 rule)",
227
+ "| | Enter data.object.registry.record.admin_role",
228
+ "| | | Eval input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
229
+ "| | | Exit data.object.registry.record.admin_role",
230
+ "| | Exit data.object.registry.record.esri_owner_groups.read",
231
+ "| Redo data.object.registry.record.esri_owner_groups.read",
232
+ "| | Redo data.object.registry.record.admin_role",
233
+ "| | Redo data.object.registry.record.admin_role",
234
+ "| | | Redo input.user.roles[_] = \"00000000-0000-0003-0000-000000000000\"",
235
+ "| Enter data.object.registry.record.esri_owner_groups.read",
236
+ "| | Eval data.object.registry.record.has_permission.read",
237
+ "| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
238
+ "| | Enter data.object.registry.record.has_permission.read",
239
+ "| | | Eval data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
240
+ "| | | Index data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\") (matched 1 rule)",
241
+ "| | | Enter data.object.registry.record.has_permission.has_permission",
242
+ "| | | | Eval input.user.permissions[_].operations[_].uri = permission",
243
+ "| | | | Exit data.object.registry.record.has_permission.has_permission",
244
+ "| | | Exit data.object.registry.record.has_permission.read",
245
+ "| | Eval data.object.registry.record.esri_groups",
246
+ "| | Index data.object.registry.record.esri_groups (matched 1 rule)",
247
+ "| | Enter data.object.registry.record.esri_groups",
248
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
249
+ "| | | Fail input.object.registry.record[\"esri-access-control\"].groups[_] = input.user.session.esriGroups[_]",
250
+ "| | Fail data.object.registry.record.esri_groups",
251
+ "| | Redo data.object.registry.record.has_permission.read",
252
+ "| | Redo data.object.registry.record.has_permission.read",
253
+ "| | | Redo data.object.registry.record.has_permission.has_permission(\"object/registry/record/read\")",
254
+ "| | | Redo data.object.registry.record.has_permission.has_permission",
255
+ "| | | | Redo input.user.permissions[_].operations[_].uri = permission",
256
+ "| Enter data.object.registry.record.esri_owner_groups.read",
257
+ "| | Eval data.object.registry.record.has_permission.read",
258
+ "| | Index data.object.registry.record.has_permission.read (matched 1 rule)",
259
+ "| | Eval data.object.registry.record.esri_owner",
260
+ "| | Index data.object.registry.record.esri_owner (matched 1 rule)",
261
+ "| | Enter data.object.registry.record.esri_owner",
262
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
263
+ "| | | Fail input.object.registry.record[\"esri-access-control\"].owner = input.user.session.esriUser",
264
+ "| | Fail data.object.registry.record.esri_owner",
265
+ "| | Redo data.object.registry.record.has_permission.read",
266
+ "| Enter data.object.registry.record.esri_owner_groups.read",
267
+ "| | Eval data.object.registry.record.esri_public",
268
+ "| | Index data.object.registry.record.esri_public (matched 1 rule)",
269
+ "| | Enter data.object.registry.record.esri_public",
270
+ "| | | Eval input.object.registry.record[\"esri-access-control\"].access = \"public\"",
271
+ "| | | Save input.object.registry.record[\"esri-access-control\"].access = \"public\"",
272
+ "| | | Exit data.object.registry.record.esri_public",
273
+ "| | Eval data.object.registry.record.esri_expiration",
274
+ "| | Index data.object.registry.record.esri_expiration (matched 1 rule)",
275
+ "| | Enter data.object.registry.record.esri_expiration",
276
+ "| | | Eval __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
277
+ "| | | Save __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
278
+ "| | | Eval __local146__ = input.timestamp",
279
+ "| | | Eval gt(__local145__, __local146__)",
280
+ "| | | Save gt(__local145__, __local146__)",
281
+ "| | | Exit data.object.registry.record.esri_expiration",
282
+ "| | Exit data.object.registry.record.esri_owner_groups.read",
283
+ "| Redo data.object.registry.record.esri_owner_groups.read",
284
+ "| | Redo data.object.registry.record.esri_expiration",
285
+ "| | Redo data.object.registry.record.esri_expiration",
286
+ "| | | Redo gt(__local145__, __local146__)",
287
+ "| | | Redo __local146__ = input.timestamp",
288
+ "| | | Redo __local145__ = input.object.registry.record[\"esri-access-control\"].expiration",
289
+ "| | Redo data.object.registry.record.esri_public",
290
+ "| | Redo data.object.registry.record.esri_public",
291
+ "| | | Redo input.object.registry.record[\"esri-access-control\"].access = \"public\"",
292
+ "| Enter data.object.registry.record.esri_owner_groups.read",
293
+ "| | Eval true",
294
+ "| | Exit data.object.registry.record.esri_owner_groups.read",
295
+ "| Redo data.object.registry.record.esri_owner_groups.read",
296
+ "| | Redo true",
297
+ "| Save data.partial.object.registry.record.esri_owner_groups.read = _",
298
+ "| Save _",
299
+ "| Exit data.object.registry.record.esri_owner_groups.read",
300
+ "Redo data.object.registry.record.esri_owner_groups.read",
301
+ "| Fail data.object.registry.record.esri_owner_groups.read"
302
+ ]
303
+ }