@appsemble/utils 0.29.11 → 0.30.2

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 (501) hide show
  1. package/README.md +3 -3
  2. package/api/components/parameters/$own.d.ts +2 -0
  3. package/api/components/parameters/$own.js +7 -0
  4. package/api/components/parameters/appMemberId.d.ts +2 -0
  5. package/api/components/parameters/appMemberId.js +8 -0
  6. package/api/components/parameters/groupId.d.ts +2 -0
  7. package/api/components/parameters/groupId.js +8 -0
  8. package/api/components/parameters/groupMemberId.d.ts +2 -0
  9. package/api/components/parameters/groupMemberId.js +8 -0
  10. package/api/components/parameters/index.d.ts +17 -13
  11. package/api/components/parameters/index.js +17 -13
  12. package/api/components/parameters/organizationId.d.ts +9 -2
  13. package/api/components/parameters/organizationId.js +1 -1
  14. package/api/components/parameters/roles.js +12 -6
  15. package/api/components/parameters/seed.d.ts +2 -0
  16. package/api/components/parameters/seed.js +9 -0
  17. package/api/components/parameters/selectedGroupId.d.ts +2 -0
  18. package/api/components/parameters/selectedGroupId.js +7 -0
  19. package/api/components/parameters/serviceSecretId.d.ts +2 -0
  20. package/api/components/parameters/{appServiceId.js → serviceSecretId.js} +3 -3
  21. package/api/components/requestBodies/oauth2Consent.js +1 -5
  22. package/api/components/requestBodies/user.js +1 -1
  23. package/api/components/schemas/ActionDefinition.js +14 -11
  24. package/api/components/schemas/AppAccount.js +7 -24
  25. package/api/components/schemas/AppDefinition.js +3 -15
  26. package/api/components/schemas/AppMember.d.ts +2 -0
  27. package/api/components/schemas/AppMember.js +26 -0
  28. package/api/components/schemas/AppMemberCurrentPatchActionDefinition.d.ts +1 -0
  29. package/api/components/schemas/AppMemberCurrentPatchActionDefinition.js +30 -0
  30. package/api/components/schemas/AppMemberDeleteActionDefinition.d.ts +1 -0
  31. package/api/components/schemas/AppMemberDeleteActionDefinition.js +20 -0
  32. package/api/components/schemas/AppMemberInfo.d.ts +2 -0
  33. package/api/components/schemas/AppMemberInfo.js +48 -0
  34. package/api/components/schemas/AppMemberInviteActionDefinition.d.ts +1 -0
  35. package/api/components/schemas/AppMemberInviteActionDefinition.js +24 -0
  36. package/api/components/schemas/AppMemberLoginActionDefinition.d.ts +1 -0
  37. package/api/components/schemas/AppMemberLoginActionDefinition.js +24 -0
  38. package/api/components/schemas/AppMemberLogoutActionDefinition.d.ts +1 -0
  39. package/api/components/schemas/AppMemberLogoutActionDefinition.js +14 -0
  40. package/api/components/schemas/AppMemberPropertiesPatchActionDefinition.d.ts +1 -0
  41. package/api/components/schemas/AppMemberPropertiesPatchActionDefinition.js +26 -0
  42. package/api/components/schemas/AppMemberPropertyDefinition.d.ts +2 -0
  43. package/api/components/schemas/{UserPropertyDefinition.js → AppMemberPropertyDefinition.js} +5 -5
  44. package/api/components/schemas/AppMemberQueryActionDefinition.d.ts +1 -0
  45. package/api/components/schemas/AppMemberQueryActionDefinition.js +20 -0
  46. package/api/components/schemas/AppMemberRegisterActionDefinition.d.ts +1 -0
  47. package/api/components/schemas/AppMemberRegisterActionDefinition.js +43 -0
  48. package/api/components/schemas/AppMemberRoleUpdateActionDefinition.d.ts +1 -0
  49. package/api/components/schemas/AppMemberRoleUpdateActionDefinition.js +27 -0
  50. package/api/components/schemas/AppMembersDefinition.d.ts +2 -0
  51. package/api/components/schemas/AppMembersDefinition.js +17 -0
  52. package/api/components/schemas/BasePageDefinition.js +4 -0
  53. package/api/components/schemas/GroupMember.d.ts +2 -0
  54. package/api/components/schemas/GroupMember.js +19 -0
  55. package/api/components/schemas/GroupMemberDeleteActionDefinition.d.ts +1 -0
  56. package/api/components/schemas/{TeamMembersActionDefinition.js → GroupMemberDeleteActionDefinition.js} +5 -5
  57. package/api/components/schemas/GroupMemberInviteActionDefinition.d.ts +1 -0
  58. package/api/components/schemas/{TeamInviteActionDefinition.js → GroupMemberInviteActionDefinition.js} +5 -6
  59. package/api/components/schemas/GroupMemberQueryActionDefinition.d.ts +1 -0
  60. package/api/components/schemas/GroupMemberQueryActionDefinition.js +18 -0
  61. package/api/components/schemas/GroupMemberRoleUpdateActionDefinition.d.ts +1 -0
  62. package/api/components/schemas/GroupMemberRoleUpdateActionDefinition.js +22 -0
  63. package/api/components/schemas/GroupQueryActionDefinition.d.ts +1 -0
  64. package/api/components/schemas/{UserLogoutActionDefinition.js → GroupQueryActionDefinition.js} +4 -4
  65. package/api/components/schemas/OrganizationMember.js +2 -2
  66. package/api/components/schemas/PageActionsDefinition.d.ts +2 -0
  67. package/api/components/schemas/{TabsPageActionsDefinition.js → PageActionsDefinition.js} +2 -2
  68. package/api/components/schemas/PageDefinition.js +3 -0
  69. package/api/components/schemas/ResourceCountActionDefinition.js +4 -0
  70. package/api/components/schemas/ResourceCreateActionDefinition.js +1 -1
  71. package/api/components/schemas/ResourceDefinition.js +0 -22
  72. package/api/components/schemas/ResourceQueryActionDefinition.js +4 -0
  73. package/api/components/schemas/SecurityDefaultDefinition.js +1 -1
  74. package/api/components/schemas/SecurityDefinition.js +2 -6
  75. package/api/components/schemas/SecurityGuestDefinition.d.ts +2 -0
  76. package/api/components/schemas/SecurityGuestDefinition.js +26 -0
  77. package/api/components/schemas/SecurityRoleDefinition.js +7 -0
  78. package/api/components/schemas/TabsPageDefinition.js +1 -1
  79. package/api/components/schemas/User.js +2 -22
  80. package/api/components/schemas/UserInfo.d.ts +2 -0
  81. package/api/components/schemas/UserInfo.js +42 -0
  82. package/api/components/schemas/index.d.ts +23 -16
  83. package/api/components/schemas/index.js +23 -16
  84. package/api/components/securitySchemes/app.js +6 -6
  85. package/api/components/securitySchemes/cli.js +3 -3
  86. package/api/paths/app-collections/appCollectionId/apps/appId/pinned.d.ts +2 -0
  87. package/api/paths/app-collections/appCollectionId/apps/appId/pinned.js +70 -0
  88. package/api/paths/app-collections/appCollectionId/apps/appId.d.ts +2 -0
  89. package/api/paths/app-collections/appCollectionId/apps/appId.js +34 -0
  90. package/api/paths/app-collections/appCollectionId/apps.d.ts +2 -0
  91. package/api/paths/app-collections/appCollectionId/apps.js +93 -0
  92. package/api/paths/app-collections/appCollectionId/expert/profileImage.d.ts +2 -0
  93. package/api/paths/app-collections/appCollectionId/expert/profileImage.js +31 -0
  94. package/api/paths/app-collections/appCollectionId/headerImage.d.ts +2 -0
  95. package/api/paths/app-collections/appCollectionId/headerImage.js +31 -0
  96. package/api/paths/app-collections/appCollectionId.d.ts +2 -0
  97. package/api/paths/app-collections/appCollectionId.js +102 -0
  98. package/api/paths/app-invites/token/respond.d.ts +2 -0
  99. package/api/paths/app-invites/token/respond.js +51 -0
  100. package/api/paths/app-invites/token.d.ts +2 -0
  101. package/api/paths/app-invites/token.js +23 -0
  102. package/api/paths/app-members/appMemberId/picture.d.ts +2 -0
  103. package/api/paths/app-members/appMemberId/picture.js +30 -0
  104. package/api/paths/app-members/appMemberId/properties.d.ts +2 -0
  105. package/api/paths/app-members/appMemberId/properties.js +48 -0
  106. package/api/paths/app-members/appMemberId/role.d.ts +2 -0
  107. package/api/paths/app-members/appMemberId/role.js +46 -0
  108. package/api/paths/app-members/appMemberId.d.ts +2 -0
  109. package/api/paths/app-members/appMemberId.js +24 -0
  110. package/api/paths/appCollections.d.ts +1 -1
  111. package/api/paths/appCollections.js +12 -454
  112. package/api/paths/appTemplates.d.ts +2 -0
  113. package/api/paths/appTemplates.js +94 -0
  114. package/api/paths/apps/appId/actions/path.d.ts +2 -0
  115. package/api/paths/{action.js → apps/appId/actions/path.js} +18 -20
  116. package/api/paths/apps/appId/assets/assetId.d.ts +2 -0
  117. package/api/paths/apps/appId/assets/assetId.js +38 -0
  118. package/api/paths/apps/appId/assets/count.d.ts +2 -0
  119. package/api/paths/apps/appId/assets/count.js +22 -0
  120. package/api/paths/apps/appId/assets.d.ts +2 -0
  121. package/api/paths/apps/appId/assets.js +96 -0
  122. package/api/paths/apps/appId/auth/email/login.d.ts +2 -0
  123. package/api/paths/apps/appId/auth/email/login.js +10 -0
  124. package/api/paths/apps/appId/auth/email/register.d.ts +2 -0
  125. package/api/paths/apps/appId/auth/email/register.js +52 -0
  126. package/api/paths/apps/appId/auth/email/requestResetPassword.d.ts +2 -0
  127. package/api/paths/apps/appId/auth/email/requestResetPassword.js +31 -0
  128. package/api/paths/apps/appId/auth/email/resendVerification.d.ts +2 -0
  129. package/api/paths/apps/appId/auth/email/resendVerification.js +32 -0
  130. package/api/paths/apps/appId/auth/email/resetPassword.d.ts +2 -0
  131. package/api/paths/apps/appId/auth/email/resetPassword.js +34 -0
  132. package/api/paths/apps/appId/auth/email/verify.d.ts +2 -0
  133. package/api/paths/apps/appId/auth/email/verify.js +31 -0
  134. package/api/paths/apps/appId/broadcast.d.ts +2 -0
  135. package/api/paths/apps/appId/broadcast.js +36 -0
  136. package/api/paths/apps/appId/demo-groups.d.ts +2 -0
  137. package/api/paths/apps/appId/demo-groups.js +29 -0
  138. package/api/paths/apps/appId/demo-members.d.ts +2 -0
  139. package/api/paths/apps/appId/demo-members.js +27 -0
  140. package/api/paths/apps/appId/email.d.ts +2 -0
  141. package/api/paths/apps/appId/email.js +48 -0
  142. package/api/paths/apps/appId/export.d.ts +2 -0
  143. package/api/paths/apps/appId/export.js +41 -0
  144. package/api/paths/apps/appId/groups.d.ts +2 -0
  145. package/api/paths/apps/appId/groups.js +79 -0
  146. package/api/paths/apps/appId/icon.d.ts +2 -0
  147. package/api/paths/apps/appId/icon.js +31 -0
  148. package/api/paths/apps/appId/invites.d.ts +2 -0
  149. package/api/paths/apps/appId/invites.js +79 -0
  150. package/api/paths/apps/appId/lock.d.ts +2 -0
  151. package/api/paths/apps/appId/lock.js +35 -0
  152. package/api/paths/apps/appId/maskableIcon.d.ts +2 -0
  153. package/api/paths/apps/appId/maskableIcon.js +15 -0
  154. package/api/paths/apps/appId/members/current/groups.d.ts +2 -0
  155. package/api/paths/apps/appId/members/current/groups.js +30 -0
  156. package/api/paths/apps/appId/members/current/link.d.ts +2 -0
  157. package/api/paths/apps/appId/members/current/link.js +41 -0
  158. package/api/paths/apps/appId/members/current.d.ts +2 -0
  159. package/api/paths/apps/appId/members/current.js +111 -0
  160. package/api/paths/apps/appId/members.d.ts +2 -0
  161. package/api/paths/apps/appId/members.js +29 -0
  162. package/api/paths/apps/appId/messages/language.d.ts +2 -0
  163. package/api/paths/apps/appId/messages/language.js +47 -0
  164. package/api/paths/apps/appId/messages.d.ts +2 -0
  165. package/api/paths/apps/appId/messages.js +72 -0
  166. package/api/paths/apps/appId/quotas/emails.d.ts +2 -0
  167. package/api/paths/apps/appId/quotas/emails.js +36 -0
  168. package/api/paths/apps/appId/ratings.d.ts +2 -0
  169. package/api/paths/apps/appId/ratings.js +58 -0
  170. package/api/paths/apps/appId/readmes/readmeId.d.ts +2 -0
  171. package/api/paths/apps/appId/readmes/readmeId.js +17 -0
  172. package/api/paths/apps/appId/reseed.d.ts +2 -0
  173. package/api/paths/apps/appId/reseed.js +12 -0
  174. package/api/paths/apps/appId/resources/resourceType/count.d.ts +2 -0
  175. package/api/paths/apps/appId/resources/resourceType/count.js +30 -0
  176. package/api/paths/apps/appId/resources/resourceType/resourceId/subscriptions.d.ts +2 -0
  177. package/api/paths/apps/appId/resources/resourceType/resourceId/subscriptions.js +31 -0
  178. package/api/paths/apps/appId/resources/resourceType/resourceId.d.ts +2 -0
  179. package/api/paths/apps/appId/resources/resourceType/resourceId.js +74 -0
  180. package/api/paths/apps/appId/resources/resourceType/subscriptions.d.ts +2 -0
  181. package/api/paths/apps/appId/resources/resourceType/subscriptions.js +26 -0
  182. package/api/paths/apps/appId/resources/resourceType.d.ts +2 -0
  183. package/api/paths/apps/appId/resources/resourceType.js +171 -0
  184. package/api/paths/apps/appId/resources/versions.d.ts +2 -0
  185. package/api/paths/apps/appId/resources/versions.js +29 -0
  186. package/api/paths/apps/appId/resources.d.ts +2 -0
  187. package/api/paths/apps/appId/resources.js +15 -0
  188. package/api/paths/apps/appId/saml/secretId/acs.d.ts +2 -0
  189. package/api/paths/apps/appId/saml/secretId/acs.js +35 -0
  190. package/api/paths/apps/appId/saml/secretId/authn.d.ts +2 -0
  191. package/api/paths/apps/appId/saml/secretId/authn.js +37 -0
  192. package/api/paths/apps/appId/saml/secretId/metadata.d.ts +2 -0
  193. package/api/paths/apps/appId/saml/secretId/metadata.js +21 -0
  194. package/api/paths/apps/appId/scim/resource-types/resourceTypeId.d.ts +2 -0
  195. package/api/paths/apps/appId/scim/resource-types/resourceTypeId.js +25 -0
  196. package/api/paths/apps/appId/scim/resource-types.d.ts +2 -0
  197. package/api/paths/apps/appId/scim/resource-types.js +22 -0
  198. package/api/paths/apps/appId/scim/schemas/schemaId.d.ts +2 -0
  199. package/api/paths/apps/appId/scim/schemas/schemaId.js +24 -0
  200. package/api/paths/apps/appId/scim/schemas.d.ts +2 -0
  201. package/api/paths/apps/appId/scim/schemas.js +21 -0
  202. package/api/paths/apps/appId/scim/service-provider-config.d.ts +2 -0
  203. package/api/paths/apps/appId/scim/service-provider-config.js +22 -0
  204. package/api/paths/apps/appId/scim/users/userId.d.ts +2 -0
  205. package/api/paths/apps/appId/scim/users/userId.js +92 -0
  206. package/api/paths/apps/appId/scim/users.d.ts +2 -0
  207. package/api/paths/apps/appId/scim/users.js +58 -0
  208. package/api/paths/apps/appId/screenshots/screenshotId.d.ts +2 -0
  209. package/api/paths/apps/appId/screenshots/screenshotId.js +28 -0
  210. package/api/paths/apps/appId/screenshots.d.ts +2 -0
  211. package/api/paths/apps/appId/screenshots.js +55 -0
  212. package/api/paths/apps/appId/secrets/oauth2/secretId/verify.d.ts +2 -0
  213. package/api/paths/apps/appId/secrets/oauth2/secretId/verify.js +47 -0
  214. package/api/paths/apps/appId/secrets/oauth2/secretId.d.ts +2 -0
  215. package/api/paths/apps/appId/secrets/oauth2/secretId.js +60 -0
  216. package/api/paths/apps/appId/secrets/oauth2.d.ts +2 -0
  217. package/api/paths/apps/appId/secrets/oauth2.js +54 -0
  218. package/api/paths/apps/appId/secrets/saml/secretId.d.ts +2 -0
  219. package/api/paths/apps/appId/secrets/saml/secretId.js +39 -0
  220. package/api/paths/apps/appId/secrets/saml.d.ts +2 -0
  221. package/api/paths/apps/appId/secrets/saml.js +54 -0
  222. package/api/paths/apps/appId/secrets/scim.d.ts +2 -0
  223. package/api/paths/apps/appId/secrets/scim.js +43 -0
  224. package/api/paths/apps/appId/secrets/service/secretId.d.ts +2 -0
  225. package/api/paths/apps/appId/secrets/service/secretId.js +39 -0
  226. package/api/paths/apps/appId/secrets/service.d.ts +2 -0
  227. package/api/paths/apps/appId/secrets/service.js +54 -0
  228. package/api/paths/apps/appId/secrets/ssl.d.ts +2 -0
  229. package/api/paths/apps/appId/secrets/ssl.js +37 -0
  230. package/api/paths/apps/appId/snapshots/snapshotId.d.ts +2 -0
  231. package/api/paths/apps/appId/snapshots/snapshotId.js +47 -0
  232. package/api/paths/apps/appId/snapshots.d.ts +2 -0
  233. package/api/paths/apps/appId/snapshots.js +40 -0
  234. package/api/paths/apps/appId/style/block/organizationId/blockId.d.ts +2 -0
  235. package/api/paths/apps/appId/style/block/organizationId/blockId.js +53 -0
  236. package/api/paths/apps/appId/style/core.d.ts +2 -0
  237. package/api/paths/apps/appId/style/core.js +17 -0
  238. package/api/paths/apps/appId/style/shared.d.ts +2 -0
  239. package/api/paths/apps/appId/style/shared.js +17 -0
  240. package/api/paths/apps/appId/subscriptions.d.ts +2 -0
  241. package/api/paths/apps/appId/subscriptions.js +91 -0
  242. package/api/paths/apps/appId/variables/variableId.d.ts +2 -0
  243. package/api/paths/apps/appId/variables/variableId.js +39 -0
  244. package/api/paths/apps/appId/variables.d.ts +2 -0
  245. package/api/paths/apps/appId/variables.js +53 -0
  246. package/api/paths/apps/appId.d.ts +2 -0
  247. package/api/paths/apps/appId.js +175 -0
  248. package/api/paths/apps.d.ts +1 -1
  249. package/api/paths/apps.js +95 -1518
  250. package/api/paths/auth/email/login.d.ts +2 -0
  251. package/api/paths/auth/email/login.js +10 -0
  252. package/api/paths/auth/email/register.d.ts +2 -0
  253. package/api/paths/auth/email/register.js +45 -0
  254. package/api/paths/auth/email/requestResetPassword.d.ts +2 -0
  255. package/api/paths/auth/email/requestResetPassword.js +30 -0
  256. package/api/paths/auth/email/resendVerification.d.ts +2 -0
  257. package/api/paths/auth/email/resendVerification.js +31 -0
  258. package/api/paths/auth/email/resetPassword.d.ts +2 -0
  259. package/api/paths/auth/email/resetPassword.js +33 -0
  260. package/api/paths/auth/email/verify.d.ts +2 -0
  261. package/api/paths/auth/email/verify.js +30 -0
  262. package/api/paths/auth/oauth2/authorizations/connect.d.ts +2 -0
  263. package/api/paths/auth/oauth2/authorizations/connect.js +45 -0
  264. package/api/paths/auth/oauth2/authorizations/register.d.ts +2 -0
  265. package/api/paths/auth/oauth2/authorizations/register.js +32 -0
  266. package/api/paths/auth/refreshToken.d.ts +2 -0
  267. package/api/paths/auth/refreshToken.js +26 -0
  268. package/api/paths/blocks/organizationId/blockId/versions/list.d.ts +2 -0
  269. package/api/paths/blocks/organizationId/blockId/versions/list.js +27 -0
  270. package/api/paths/blocks/organizationId/blockId/versions/version/asset.d.ts +2 -0
  271. package/api/paths/blocks/organizationId/blockId/versions/version/asset.js +24 -0
  272. package/api/paths/blocks/organizationId/blockId/versions/version/icon.d.ts +2 -0
  273. package/api/paths/blocks/organizationId/blockId/versions/version/icon.js +18 -0
  274. package/api/paths/blocks/organizationId/blockId/versions/version/messages/language.d.ts +2 -0
  275. package/api/paths/blocks/organizationId/blockId/versions/version/messages/language.js +37 -0
  276. package/api/paths/blocks/organizationId/blockId/versions/version.d.ts +2 -0
  277. package/api/paths/blocks/organizationId/blockId/versions/version.js +29 -0
  278. package/api/paths/blocks/organizationId/blockId/versions.d.ts +2 -0
  279. package/api/paths/blocks/organizationId/blockId/versions.js +27 -0
  280. package/api/paths/blocks/organizationId/blockId.d.ts +2 -0
  281. package/api/paths/blocks/organizationId/blockId.js +18 -0
  282. package/api/paths/blocks/versions/blockVersion.js +21 -0
  283. package/api/paths/blocks.d.ts +1 -1
  284. package/api/paths/blocks.js +29 -204
  285. package/api/paths/containerLogs.d.ts +1 -1
  286. package/api/paths/containerLogs.js +28 -30
  287. package/api/paths/group-invites/token/respond.d.ts +2 -0
  288. package/api/paths/group-invites/token/respond.js +42 -0
  289. package/api/paths/group-invites/token.d.ts +2 -0
  290. package/api/paths/group-invites/token.js +23 -0
  291. package/api/paths/group-members/groupMemberId/role.d.ts +2 -0
  292. package/api/paths/group-members/groupMemberId/role.js +40 -0
  293. package/api/paths/group-members/groupMemberId.d.ts +2 -0
  294. package/api/paths/group-members/groupMemberId.js +34 -0
  295. package/api/paths/groups/groupId/invites.d.ts +2 -0
  296. package/api/paths/groups/groupId/invites.js +87 -0
  297. package/api/paths/groups/groupId/members.d.ts +2 -0
  298. package/api/paths/groups/groupId/members.js +34 -0
  299. package/api/paths/groups/groupId.d.ts +2 -0
  300. package/api/paths/groups/groupId.js +86 -0
  301. package/api/paths/health.d.ts +1 -1
  302. package/api/paths/health.js +12 -66
  303. package/api/paths/index.d.ts +145 -136
  304. package/api/paths/index.js +294 -58
  305. package/api/paths/messages/language.d.ts +2 -0
  306. package/api/paths/messages/language.js +21 -0
  307. package/api/paths/messages.d.ts +2 -0
  308. package/api/paths/messages.js +26 -0
  309. package/api/paths/organization-invites/token/respond.d.ts +2 -0
  310. package/api/paths/organization-invites/token/respond.js +42 -0
  311. package/api/paths/organization-invites/token.d.ts +2 -0
  312. package/api/paths/organization-invites/token.js +23 -0
  313. package/api/paths/organizations/organizationId/appCollections.d.ts +2 -0
  314. package/api/paths/organizations/organizationId/appCollections.js +76 -0
  315. package/api/paths/organizations/organizationId/apps/import.d.ts +2 -0
  316. package/api/paths/organizations/organizationId/apps/import.js +26 -0
  317. package/api/paths/organizations/organizationId/apps.d.ts +2 -0
  318. package/api/paths/organizations/organizationId/apps.js +33 -0
  319. package/api/paths/organizations/organizationId/blocks.d.ts +2 -0
  320. package/api/paths/organizations/organizationId/blocks.js +25 -0
  321. package/api/paths/organizations/organizationId/icon.d.ts +2 -0
  322. package/api/paths/organizations/organizationId/icon.js +14 -0
  323. package/api/paths/organizations/organizationId/invites/resend.d.ts +2 -0
  324. package/api/paths/organizations/organizationId/invites/resend.js +32 -0
  325. package/api/paths/organizations/organizationId/invites.d.ts +2 -0
  326. package/api/paths/organizations/organizationId/invites.js +108 -0
  327. package/api/paths/organizations/organizationId/members/memberId/role.d.ts +2 -0
  328. package/api/paths/organizations/organizationId/members/memberId/role.js +50 -0
  329. package/api/paths/organizations/organizationId/members/memberId.d.ts +2 -0
  330. package/api/paths/organizations/organizationId/members/memberId.js +25 -0
  331. package/api/paths/organizations/organizationId/members.d.ts +2 -0
  332. package/api/paths/organizations/organizationId/members.js +25 -0
  333. package/api/paths/organizations/organizationId.d.ts +2 -0
  334. package/api/paths/organizations/organizationId.js +67 -0
  335. package/api/paths/organizations.d.ts +1 -1
  336. package/api/paths/organizations.js +46 -452
  337. package/api/paths/ssl.d.ts +2 -0
  338. package/api/paths/ssl.js +31 -0
  339. package/api/paths/timezones.d.ts +2 -0
  340. package/api/paths/timezones.js +23 -0
  341. package/api/paths/trainingBlocks/trainingBlockId.d.ts +2 -0
  342. package/api/paths/trainingBlocks/trainingBlockId.js +41 -0
  343. package/api/paths/trainings/trainingId/blocks.d.ts +2 -0
  344. package/api/paths/trainings/trainingId/blocks.js +51 -0
  345. package/api/paths/trainings/trainingId/users/current.d.ts +2 -0
  346. package/api/paths/trainings/trainingId/users/current.js +62 -0
  347. package/api/paths/trainings/trainingId/users.d.ts +2 -0
  348. package/api/paths/trainings/trainingId/users.js +25 -0
  349. package/api/paths/trainings/trainingId.d.ts +2 -0
  350. package/api/paths/trainings/trainingId.js +85 -0
  351. package/api/paths/trainings.d.ts +1 -1
  352. package/api/paths/trainings.js +26 -287
  353. package/api/paths/users/current/apps/accounts.d.ts +2 -0
  354. package/api/paths/users/current/apps/accounts.js +24 -0
  355. package/api/paths/users/current/apps/appId/account.d.ts +2 -0
  356. package/api/paths/users/current/apps/appId/account.js +65 -0
  357. package/api/paths/users/current/apps.d.ts +2 -0
  358. package/api/paths/users/current/apps.js +32 -0
  359. package/api/paths/users/current/auth/oauth2/apps/appId/consent/agree.d.ts +2 -0
  360. package/api/paths/users/current/auth/oauth2/apps/appId/consent/agree.js +12 -0
  361. package/api/paths/users/current/auth/oauth2/apps/appId/consent/verify.d.ts +2 -0
  362. package/api/paths/users/current/auth/oauth2/apps/appId/consent/verify.js +12 -0
  363. package/api/paths/users/current/auth/oauth2/authorizations.d.ts +2 -0
  364. package/api/paths/users/current/auth/oauth2/authorizations.js +43 -0
  365. package/api/paths/users/current/auth/oauth2/clientCredentials/clientId.d.ts +2 -0
  366. package/api/paths/users/current/auth/oauth2/clientCredentials/clientId.js +23 -0
  367. package/api/paths/users/current/auth/oauth2/clientCredentials.d.ts +2 -0
  368. package/api/paths/users/current/auth/oauth2/clientCredentials.js +53 -0
  369. package/api/paths/users/current/emails.d.ts +2 -0
  370. package/api/paths/users/current/emails.js +73 -0
  371. package/api/paths/users/current/organizations.d.ts +2 -0
  372. package/api/paths/users/current/organizations.js +29 -0
  373. package/api/paths/users/current/unsubscribe.d.ts +2 -0
  374. package/api/paths/users/current/unsubscribe.js +29 -0
  375. package/api/paths/users/current.d.ts +2 -0
  376. package/api/paths/users/current.js +43 -0
  377. package/api/paths/users/subscribed.d.ts +2 -0
  378. package/api/paths/users/subscribed.js +12 -0
  379. package/api/tags/index.d.ts +2 -1
  380. package/api/tags/index.js +170 -8
  381. package/appMembers.d.ts +1 -0
  382. package/appMembers.js +9 -0
  383. package/authorization.d.ts +12 -0
  384. package/authorization.js +171 -0
  385. package/constants/index.d.ts +0 -2
  386. package/constants/index.js +0 -2
  387. package/constants/scopes.d.ts +1 -1
  388. package/constants/scopes.js +2 -2
  389. package/examples.js +42 -14
  390. package/index.d.ts +2 -2
  391. package/index.js +2 -2
  392. package/package.json +2 -2
  393. package/reference-schemas/remappers/arrays.js +31 -0
  394. package/reference-schemas/remappers/data.js +23 -38
  395. package/reference-schemas/remappers/unsorted.js +18 -0
  396. package/remap.d.ts +3 -7
  397. package/remap.js +24 -2
  398. package/remap.test.js +79 -9
  399. package/validation.js +396 -83
  400. package/validation.test.js +1039 -230
  401. package/api/components/parameters/$team.d.ts +0 -2
  402. package/api/components/parameters/$team.js +0 -8
  403. package/api/components/parameters/appServiceId.d.ts +0 -2
  404. package/api/components/parameters/memberEmail.d.ts +0 -2
  405. package/api/components/parameters/memberEmail.js +0 -8
  406. package/api/components/schemas/TabsPageActionsDefinition.d.ts +0 -2
  407. package/api/components/schemas/TeamInviteActionDefinition.d.ts +0 -1
  408. package/api/components/schemas/TeamJoinActionDefinition.d.ts +0 -1
  409. package/api/components/schemas/TeamJoinActionDefinition.js +0 -14
  410. package/api/components/schemas/TeamListActionDefinition.d.ts +0 -1
  411. package/api/components/schemas/TeamListActionDefinition.js +0 -14
  412. package/api/components/schemas/TeamMembersActionDefinition.d.ts +0 -1
  413. package/api/components/schemas/TeamsDefinition.d.ts +0 -2
  414. package/api/components/schemas/TeamsDefinition.js +0 -28
  415. package/api/components/schemas/UserCreateActionDefinition.d.ts +0 -1
  416. package/api/components/schemas/UserCreateActionDefinition.js +0 -33
  417. package/api/components/schemas/UserLoginActionDefinition.d.ts +0 -1
  418. package/api/components/schemas/UserLoginActionDefinition.js +0 -22
  419. package/api/components/schemas/UserLogoutActionDefinition.d.ts +0 -1
  420. package/api/components/schemas/UserPropertyDefinition.d.ts +0 -2
  421. package/api/components/schemas/UserQueryActionDefinition.d.ts +0 -1
  422. package/api/components/schemas/UserQueryActionDefinition.js +0 -20
  423. package/api/components/schemas/UserRegisterActionDefinition.d.ts +0 -1
  424. package/api/components/schemas/UserRegisterActionDefinition.js +0 -37
  425. package/api/components/schemas/UserRemoveActionDefinition.d.ts +0 -1
  426. package/api/components/schemas/UserRemoveActionDefinition.js +0 -20
  427. package/api/components/schemas/UserUpdateActionDefinition.d.ts +0 -1
  428. package/api/components/schemas/UserUpdateActionDefinition.js +0 -36
  429. package/api/components/schemas/UsersDefinition.d.ts +0 -2
  430. package/api/components/schemas/UsersDefinition.js +0 -17
  431. package/api/paths/appMessages.d.ts +0 -2
  432. package/api/paths/appMessages.js +0 -120
  433. package/api/paths/appOAuth2Secrets.d.ts +0 -2
  434. package/api/paths/appOAuth2Secrets.js +0 -161
  435. package/api/paths/appQuotas.d.ts +0 -2
  436. package/api/paths/appQuotas.js +0 -38
  437. package/api/paths/appSSLSecrets.d.ts +0 -2
  438. package/api/paths/appSSLSecrets.js +0 -39
  439. package/api/paths/appSamlSecrets.d.ts +0 -2
  440. package/api/paths/appSamlSecrets.js +0 -94
  441. package/api/paths/appScimEndpoints.d.ts +0 -2
  442. package/api/paths/appScimEndpoints.js +0 -260
  443. package/api/paths/appScimSecrets.d.ts +0 -2
  444. package/api/paths/appScimSecrets.js +0 -45
  445. package/api/paths/appServiceSecrets.d.ts +0 -2
  446. package/api/paths/appServiceSecrets.js +0 -94
  447. package/api/paths/appVariables.d.ts +0 -2
  448. package/api/paths/appVariables.js +0 -93
  449. package/api/paths/appsembleMessages.d.ts +0 -2
  450. package/api/paths/appsembleMessages.js +0 -48
  451. package/api/paths/assets.d.ts +0 -2
  452. package/api/paths/assets.js +0 -213
  453. package/api/paths/emails.d.ts +0 -2
  454. package/api/paths/emails.js +0 -167
  455. package/api/paths/invite.d.ts +0 -2
  456. package/api/paths/invite.js +0 -25
  457. package/api/paths/oauth2ClientCredentials.d.ts +0 -2
  458. package/api/paths/oauth2ClientCredentials.js +0 -77
  459. package/api/paths/oauth2Login.d.ts +0 -2
  460. package/api/paths/oauth2Login.js +0 -119
  461. package/api/paths/oauth2Provider.d.ts +0 -2
  462. package/api/paths/oauth2Provider.js +0 -75
  463. package/api/paths/resourceHistory.d.ts +0 -2
  464. package/api/paths/resourceHistory.js +0 -31
  465. package/api/paths/resources.d.ts +0 -2
  466. package/api/paths/resources.js +0 -395
  467. package/api/paths/saml.d.ts +0 -2
  468. package/api/paths/saml.js +0 -126
  469. package/api/paths/templates.d.ts +0 -2
  470. package/api/paths/templates.js +0 -96
  471. package/api/paths/user.d.ts +0 -2
  472. package/api/paths/user.js +0 -649
  473. package/api/tags/app.d.ts +0 -2
  474. package/api/tags/app.js +0 -5
  475. package/api/tags/appMember.d.ts +0 -2
  476. package/api/tags/appMember.js +0 -5
  477. package/api/tags/asset.d.ts +0 -2
  478. package/api/tags/asset.js +0 -5
  479. package/api/tags/auth.d.ts +0 -2
  480. package/api/tags/auth.js +0 -5
  481. package/api/tags/language.d.ts +0 -2
  482. package/api/tags/language.js +0 -5
  483. package/api/tags/organization.d.ts +0 -2
  484. package/api/tags/organization.js +0 -5
  485. package/api/tags/resource.d.ts +0 -2
  486. package/api/tags/resource.js +0 -5
  487. package/api/tags/template.d.ts +0 -2
  488. package/api/tags/template.js +0 -5
  489. package/api/tags/user.d.ts +0 -2
  490. package/api/tags/user.js +0 -5
  491. package/appSecurity.d.ts +0 -9
  492. package/appSecurity.js +0 -41
  493. package/appSecurity.test.d.ts +0 -1
  494. package/appSecurity.test.js +0 -114
  495. package/checkAppRole.d.ts +0 -11
  496. package/checkAppRole.js +0 -34
  497. package/constants/Permission.d.ts +0 -114
  498. package/constants/Permission.js +0 -116
  499. package/constants/roles.d.ts +0 -16
  500. package/constants/roles.js +0 -58
  501. /package/api/paths/{action.d.ts → blocks/versions/blockVersion.d.ts} +0 -0
@@ -0,0 +1,171 @@
1
+ import { appOrganizationPermissionMapping, AppPermission, PredefinedAppRole, predefinedAppRolePermissions, predefinedOrganizationRolePermissions, } from '@appsemble/types';
2
+ function checkAppPermissions(acquiredPermissions, requiredPermissions) {
3
+ const customAppResourcePermissionPattern = /^\$resource:[^:]+:(get|query|create|delete|patch|update)$/;
4
+ const customAppOwnResourcePermissionPattern = /^\$resource:[^:]+:own:(get|query|delete|patch|update)$/;
5
+ const customAppResourceViewPermissionPattern = /^\$resource:[^:]+:(get|query):[^:]+$/;
6
+ return requiredPermissions.every((p) => {
7
+ if (acquiredPermissions.includes(p)) {
8
+ return true;
9
+ }
10
+ if (customAppResourcePermissionPattern.test(p)) {
11
+ const [, , resourceAction] = p.split(':');
12
+ return acquiredPermissions.includes(`$resource:all:${resourceAction}`);
13
+ }
14
+ if (customAppOwnResourcePermissionPattern.test(p)) {
15
+ const [, resourceName, , resourceAction] = p.split(':');
16
+ return (acquiredPermissions.includes(`$resource:all:${resourceAction}`) ||
17
+ acquiredPermissions.includes(`$resource:all:own:${resourceAction}`) ||
18
+ acquiredPermissions.includes(`$resource:${resourceName}:${resourceAction}`));
19
+ }
20
+ if (customAppResourceViewPermissionPattern.test(p)) {
21
+ const [, resourceName, resourceAction, view] = p.split(':');
22
+ return (acquiredPermissions.includes(`$resource:${resourceName}:${resourceAction}`) ||
23
+ acquiredPermissions.includes(`$resource:all:${resourceAction}`) ||
24
+ acquiredPermissions.includes(`$resource:all:${resourceAction}:${view}`));
25
+ }
26
+ });
27
+ }
28
+ export function getAppInheritedRoles(appSecurityDefinition, roles, accumulatedRoles = []) {
29
+ var _a;
30
+ if (!appSecurityDefinition || !roles) {
31
+ return [];
32
+ }
33
+ for (const role of roles) {
34
+ if (!accumulatedRoles.includes(role)) {
35
+ accumulatedRoles.push(role);
36
+ const roleDefinition = (_a = appSecurityDefinition.roles) === null || _a === void 0 ? void 0 : _a[role];
37
+ if (roleDefinition && roleDefinition.inherits) {
38
+ accumulatedRoles.push(...getAppInheritedRoles(appSecurityDefinition, roleDefinition.inherits, accumulatedRoles));
39
+ }
40
+ }
41
+ }
42
+ return Array.from(new Set(accumulatedRoles));
43
+ }
44
+ export function getAppRolePermissions(appSecurityDefinition, roles) {
45
+ var _a;
46
+ const accumulatedPermissions = [];
47
+ const inheritedRoles = getAppInheritedRoles(appSecurityDefinition, roles);
48
+ for (const role of inheritedRoles) {
49
+ const roleDefinition = (_a = appSecurityDefinition.roles) === null || _a === void 0 ? void 0 : _a[role];
50
+ if (roleDefinition) {
51
+ const rolePermissions = roleDefinition.permissions;
52
+ if (rolePermissions) {
53
+ accumulatedPermissions.push(...rolePermissions);
54
+ }
55
+ }
56
+ else {
57
+ const predefinedRolePermissions = predefinedAppRolePermissions[role];
58
+ if (predefinedRolePermissions) {
59
+ accumulatedPermissions.push(...predefinedRolePermissions);
60
+ }
61
+ }
62
+ }
63
+ return Array.from(new Set(accumulatedPermissions));
64
+ }
65
+ export function getGuestAppPermissions(appSecurityDefinition) {
66
+ if (!appSecurityDefinition || !appSecurityDefinition.guest) {
67
+ return [];
68
+ }
69
+ return [
70
+ ...(appSecurityDefinition.guest.permissions || []),
71
+ ...getAppRolePermissions(appSecurityDefinition, appSecurityDefinition.guest.inherits),
72
+ ];
73
+ }
74
+ export function checkGuestAppPermissions(appSecurityDefinition, requiredPermissions) {
75
+ const guestPermissions = getGuestAppPermissions(appSecurityDefinition);
76
+ return checkAppPermissions(guestPermissions, requiredPermissions);
77
+ }
78
+ export function getAppRoles(appSecurityDefinition) {
79
+ return Array.from(new Set([
80
+ ...Object.keys((appSecurityDefinition === null || appSecurityDefinition === void 0 ? void 0 : appSecurityDefinition.roles) || {}),
81
+ ...Object.keys(PredefinedAppRole),
82
+ ]));
83
+ }
84
+ export function getAppPossibleGuestPermissions(appDefinition) {
85
+ const possibleAllViews = {};
86
+ const resourceDefinitions = Object.values(appDefinition.resources || {});
87
+ for (const resourceDefinition of resourceDefinitions) {
88
+ for (const view of Object.keys(resourceDefinition.views || {})) {
89
+ possibleAllViews[view] = true;
90
+ }
91
+ }
92
+ for (const view of Object.keys(possibleAllViews)) {
93
+ if (resourceDefinitions.some((resourceDefinition) => { var _a; return !((_a = resourceDefinition.views) === null || _a === void 0 ? void 0 : _a[view]); })) {
94
+ possibleAllViews[view] = false;
95
+ }
96
+ }
97
+ for (const view in possibleAllViews) {
98
+ if (!possibleAllViews[view]) {
99
+ delete possibleAllViews[view];
100
+ }
101
+ }
102
+ return [
103
+ ...Object.values(AppPermission),
104
+ ...Object.entries(appDefinition.resources || {}).flatMap(([resourceName, resourceDefinition]) => [
105
+ `$resource:${resourceName}:create`,
106
+ `$resource:${resourceName}:query`,
107
+ `$resource:${resourceName}:get`,
108
+ `$resource:${resourceName}:update`,
109
+ `$resource:${resourceName}:patch`,
110
+ `$resource:${resourceName}:delete`,
111
+ ...Object.keys(resourceDefinition.views || {}).flatMap((resourceView) => [
112
+ `$resource:${resourceName}:query:${resourceView}`,
113
+ `$resource:${resourceName}:get:${resourceView}`,
114
+ ]),
115
+ ...Object.keys(possibleAllViews).flatMap((view) => [
116
+ `$resource:all:query:${view}`,
117
+ `$resource:all:get:${view}`,
118
+ ]),
119
+ ]),
120
+ ];
121
+ }
122
+ export function getAppPossiblePermissions(appDefinition) {
123
+ return [
124
+ ...getAppPossibleGuestPermissions(appDefinition),
125
+ ...Object.keys(appDefinition.resources || {}).flatMap((resourceName) => [
126
+ `$resource:${resourceName}:own:query`,
127
+ `$resource:${resourceName}:own:get`,
128
+ `$resource:${resourceName}:own:update`,
129
+ `$resource:${resourceName}:own:patch`,
130
+ `$resource:${resourceName}:own:delete`,
131
+ ]),
132
+ ];
133
+ }
134
+ export function getAppRolesByPermissions(appSecurityDefinition, requiredPermissions) {
135
+ const roles = getAppRoles(appSecurityDefinition);
136
+ const compliantRoles = [];
137
+ for (const role of roles) {
138
+ if (checkAppPermissions(getAppRolePermissions(appSecurityDefinition, [role]), requiredPermissions)) {
139
+ compliantRoles.push(role);
140
+ }
141
+ }
142
+ if (checkAppPermissions(getGuestAppPermissions(appSecurityDefinition), requiredPermissions)) {
143
+ compliantRoles.push('Guest');
144
+ }
145
+ return compliantRoles;
146
+ }
147
+ export function checkAppRoleAppPermissions(appSecurityDefinition, appRole, requiredPermissions) {
148
+ const appRolePermissions = getAppRolePermissions(appSecurityDefinition, [appRole]);
149
+ return checkAppPermissions(appRolePermissions, requiredPermissions);
150
+ }
151
+ export function checkOrganizationRoleAppPermissions(organizationRole, requiredPermissions) {
152
+ if (!organizationRole) {
153
+ return false;
154
+ }
155
+ const organizationRolePermissions = predefinedOrganizationRolePermissions[organizationRole];
156
+ return requiredPermissions.every((p) => {
157
+ let mappedPermission = appOrganizationPermissionMapping[p];
158
+ if (!mappedPermission) {
159
+ const customAppPermission = p;
160
+ if (customAppPermission.startsWith('$resource')) {
161
+ mappedPermission =
162
+ appOrganizationPermissionMapping[p.replace(/:[^:]*:/, ':all:')];
163
+ }
164
+ }
165
+ return organizationRolePermissions.includes(mappedPermission);
166
+ });
167
+ }
168
+ export function checkOrganizationRoleOrganizationPermissions(organizationRole, requiredPermissions) {
169
+ return requiredPermissions.every((p) => predefinedOrganizationRolePermissions[organizationRole].includes(p));
170
+ }
171
+ //# sourceMappingURL=authorization.js.map
@@ -5,5 +5,3 @@ export * from './fonts.js';
5
5
  export * from './locale.js';
6
6
  export * from './scopes.js';
7
7
  export * from './patterns.js';
8
- export * from './roles.js';
9
- export * from './Permission.js';
@@ -5,6 +5,4 @@ export * from './fonts.js';
5
5
  export * from './locale.js';
6
6
  export * from './scopes.js';
7
7
  export * from './patterns.js';
8
- export * from './roles.js';
9
- export * from './Permission.js';
10
8
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * All known OAuth2 scopes for client credentials.
3
3
  */
4
- export declare const scopes: readonly ["apps:export", "apps:write", "apps:delete", "blocks:write", "blocks:delete", "organizations:write", "resources:read", "resources:write", "assets:write", "teams:read", "teams:write"];
4
+ export declare const scopes: readonly ["apps:export", "apps:write", "apps:delete", "blocks:write", "blocks:delete", "organizations:write", "resources:read", "resources:write", "assets:write", "groups:read", "groups:write"];
@@ -11,7 +11,7 @@ export const scopes = [
11
11
  'resources:read',
12
12
  'resources:write',
13
13
  'assets:write',
14
- 'teams:read',
15
- 'teams:write',
14
+ 'groups:read',
15
+ 'groups:write',
16
16
  ];
17
17
  //# sourceMappingURL=scopes.js.map
package/examples.js CHANGED
@@ -27,12 +27,17 @@ export const examples = {
27
27
  },
28
28
  result: 'https://example-app.example-organization.example.com',
29
29
  },
30
- appMember: {
30
+ 'app.member': {
31
31
  input: null,
32
32
  remapper: {},
33
33
  result: {},
34
34
  skip: true,
35
35
  },
36
+ type: {
37
+ input: [1, 2, 3],
38
+ remapper: { type: null },
39
+ result: 'array',
40
+ },
36
41
  array: {
37
42
  input: ['a', 'b', 'c'],
38
43
  remapper: {
@@ -112,6 +117,30 @@ export const examples = {
112
117
  },
113
118
  ],
114
119
  },
120
+ 'array.filter': {
121
+ input: [
122
+ {
123
+ name: 'Peter',
124
+ },
125
+ {
126
+ name: 'Louis',
127
+ },
128
+ {
129
+ name: 'Brian',
130
+ },
131
+ ],
132
+ remapper: {
133
+ 'array.filter': {
134
+ equals: [
135
+ {
136
+ prop: 'name',
137
+ },
138
+ 'Louis',
139
+ ],
140
+ },
141
+ },
142
+ result: [{ name: 'Louis' }],
143
+ },
115
144
  'array.find': {
116
145
  input: [
117
146
  {
@@ -649,12 +678,6 @@ export const examples = {
649
678
  result: {},
650
679
  skip: true,
651
680
  },
652
- user: {
653
- input: null,
654
- remapper: {},
655
- result: {},
656
- skip: true,
657
- },
658
681
  container: {
659
682
  input: null,
660
683
  remapper: {},
@@ -689,18 +712,23 @@ export function createExampleContext(url, lang, userInfo, history) {
689
712
  getVariable: (name) => (name === 'MY_VARIABLE' ? 'variable value' : null),
690
713
  url: String(url),
691
714
  appUrl: `${url.protocol}//example-app.example-organization.${url.host}`,
692
- userInfo: userInfo !== null && userInfo !== void 0 ? userInfo : {
693
- sub: 'default-example-sub',
694
- name: 'default-example-name',
695
- email: 'default@example.com',
696
- email_verified: false,
697
- },
698
715
  context: {},
699
716
  history: history !== null && history !== void 0 ? history : ['Default example value'],
700
717
  appId: 0,
701
718
  locale: 'en',
702
719
  pageData: { default: 'Page data' },
703
- appMember: userInfo === null || userInfo === void 0 ? void 0 : userInfo.appMember,
720
+ appMemberInfo: {
721
+ sub: 'default-example-id',
722
+ email: 'default-app-member@example.com',
723
+ email_verified: true,
724
+ name: 'default-example-name',
725
+ demo: false,
726
+ role: 'Member',
727
+ zoneinfo: 'Europe/Amsterdam',
728
+ properties: {
729
+ completedExamples: [],
730
+ },
731
+ },
704
732
  };
705
733
  }
706
734
  //# sourceMappingURL=examples.js.map
package/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import './types.js';
2
2
  export * from './api/index.js';
3
3
  export * from './appMessages.js';
4
- export * from './appSecurity.js';
5
4
  export * from './blockUtils.js';
6
5
  export * from './compare.js';
7
6
  export * from './constants/index.js';
@@ -11,7 +10,6 @@ export * from './noop.js';
11
10
  export * from './normalize.js';
12
11
  export * from './validateStyle.js';
13
12
  export * from './prefix.js';
14
- export * from './checkAppRole.js';
15
13
  export * from './formatRequestAction.js';
16
14
  export * from './iterApp.js';
17
15
  export * from './jsonschema.js';
@@ -29,6 +27,8 @@ export * from './serverActions.js';
29
27
  export * from './validation.js';
30
28
  export * from './serializeResource.js';
31
29
  export * from './convertToCsv.js';
30
+ export * from './authorization.js';
31
+ export * from './appMembers.js';
32
32
  export * from './assets.js';
33
33
  export * from './validateAppMessages.js';
34
34
  export * from './findPageByName.js';
package/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import './types.js';
2
2
  export * from './api/index.js';
3
3
  export * from './appMessages.js';
4
- export * from './appSecurity.js';
5
4
  export * from './blockUtils.js';
6
5
  export * from './compare.js';
7
6
  export * from './constants/index.js';
@@ -11,7 +10,6 @@ export * from './noop.js';
11
10
  export * from './normalize.js';
12
11
  export * from './validateStyle.js';
13
12
  export * from './prefix.js';
14
- export * from './checkAppRole.js';
15
13
  export * from './formatRequestAction.js';
16
14
  export * from './iterApp.js';
17
15
  export * from './jsonschema.js';
@@ -29,6 +27,8 @@ export * from './serverActions.js';
29
27
  export * from './validation.js';
30
28
  export * from './serializeResource.js';
31
29
  export * from './convertToCsv.js';
30
+ export * from './authorization.js';
31
+ export * from './appMembers.js';
32
32
  export * from './assets.js';
33
33
  export * from './validateAppMessages.js';
34
34
  export * from './findPageByName.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appsemble/utils",
3
- "version": "0.29.11",
3
+ "version": "0.30.2",
4
4
  "description": "Utility functions used in Appsemble internally",
5
5
  "keywords": [
6
6
  "app",
@@ -37,7 +37,7 @@
37
37
  "test": "vitest"
38
38
  },
39
39
  "dependencies": {
40
- "@appsemble/types": "0.29.11",
40
+ "@appsemble/types": "0.30.2",
41
41
  "axios": "^1.0.0",
42
42
  "cron-parser": "^4.0.0",
43
43
  "date-fns": "^2.0.0",
@@ -100,6 +100,37 @@ remapper is a filtered list:
100
100
  "age": 20
101
101
  }
102
102
  ]
103
+ \`\`\`
104
+ `,
105
+ },
106
+ 'array.filter': {
107
+ $ref: '#/components/schemas/RemapperDefinition',
108
+ description: `
109
+ Filters out values based on the input conditions provided.
110
+
111
+ For example:
112
+
113
+ ${schemaExample('array.filter')}
114
+
115
+ Example of how it can be used to filter a number array.
116
+
117
+ Input:
118
+
119
+ \`\`\`json
120
+ [1,2,1,3,4,1,5]
121
+ \`\`\`
122
+
123
+ \`\`\`yaml
124
+ array.filter:
125
+ equals:
126
+ - array: item
127
+ - 1
128
+ \`\`\`
129
+
130
+ Result:
131
+
132
+ \`\`\`json
133
+ [1,1,1]
103
134
  \`\`\`
104
135
  `,
105
136
  },
@@ -304,22 +304,34 @@ parameters:
304
304
 
305
305
  `,
306
306
  },
307
- user: {
308
- enum: ['sub', 'name', 'email', 'email_verified', 'picture', 'profile', 'locale', 'properties'],
307
+ 'app.member': {
308
+ enum: [
309
+ 'sub',
310
+ 'name',
311
+ 'email',
312
+ 'email_verified',
313
+ 'picture',
314
+ 'locale',
315
+ 'zoneinfo',
316
+ 'role',
317
+ 'properties',
318
+ ],
309
319
  description: `
310
- > **Note:** For this remapper to work, the user that activated the remapper has to be logged in to
320
+ > **Note:** For this remapper to work, the app member that activated the remapper has to be logged in to
311
321
  > the app
312
322
 
313
- Provides some fields of user information taken from the OpenID user info. These fields are:
323
+ Provides some fields of app member information taken from the OpenID user info. These fields are:
314
324
 
315
- - \`email\`: User’s **primary** email address
316
- - \`email_verified\`: Whether the user’s primary email address is verified or not (\`boolean\`)
317
- - \`locale\`: The user’s default language [\`BCP47\`](https://en.wikipedia.org/wiki/IETF_language_tag)
325
+ - \`sub\`: The app member’s identifier
326
+ - \`name\`: The app member’s name
327
+ - \`email\`: The app member’s **primary** email address
328
+ - \`email_verified\`: Whether the app member’s primary email address is verified or not (\`boolean\`)
329
+ - \`picture\`: Full URL to the app member’s profile picture web address
330
+ - \`locale\`: The app member’s default language [\`BCP47\`](https://en.wikipedia.org/wiki/IETF_language_tag)
318
331
  language tag (ex. \`en\`) (Broken)
319
- - \`name\`: The user’s name
320
- - \`picture\`: Full URL to the user’s profile picture web address
321
- - \`sub\`: The user’s identifier
322
- - \`properties\`: Custom properties defined on the user
332
+ - \`zoneinfo\`: The app member’s timezone
333
+ - \`role\`: The role of the app member in the app
334
+ - \`properties\`: Custom properties defined on the app member
323
335
 
324
336
  Example:
325
337
 
@@ -333,33 +345,6 @@ Example:
333
345
  "sub": "5c6270e2-ad31-414f-bcab-6752a2c4dcfd",
334
346
  "properties": {}
335
347
  }
336
- \`\`\`
337
- `,
338
- },
339
- appMember: {
340
- enum: ['userId', 'memberId', 'name', 'primary_email', 'role'],
341
- description: `
342
- > **Note:** For this remapper to work, the user that activated the remapper has to be logged in to
343
- > the app
344
-
345
- Provides some fields of the appMember object.
346
-
347
- - \`userId\`: The id of the user to which the appMember object belongs.
348
- - \`memberId\`: The id of the appMember object itself. This value should be used when fetching resources created by the current user.
349
- - \`primary_email\`: User’s **primary** email address.
350
- - \`name\`: The user’s name.
351
- - \`role\`: User's role in the context of the app.
352
-
353
- Example:
354
-
355
- \`\`\`json
356
- {
357
- "memberId": "1f433c7a-54ea-466e-89f7-5dbb8f324b12",
358
- "name": "Test User"
359
- "primaryEmail": "example@hotmail.nl",
360
- "role": "Medewerker",
361
- "userId": "5c6270e2-ad31-414f-bcab-6752a2c4dcfd"
362
- }
363
348
  \`\`\`
364
349
  `,
365
350
  },
@@ -145,6 +145,24 @@ object will be checked. The result looks like this:
145
145
  },
146
146
  ],
147
147
  },
148
+ type: {
149
+ enum: [null],
150
+ description: `Returns the type of the input object
151
+
152
+ For example, with the following input value:
153
+ \`\`\`json
154
+ [0, 5, 7, 8]
155
+ \`\`\`
156
+ \`\`\`yaml
157
+ type: null
158
+ \`\`\`
159
+
160
+ The result will be:
161
+ \`\`\`json
162
+ "array"
163
+ \`\`\`
164
+ `,
165
+ },
148
166
  log: {
149
167
  enum: ['info', 'warn', 'error'],
150
168
  description: `Logs in the browser's console and returns the incoming data and the remapper function's context.
package/remap.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type AppMember, type Remapper, type UserInfo, type ValueFromProcess } from '@appsemble/types';
1
+ import { type AppMemberInfo, type Remapper, type ValueFromProcess } from '@appsemble/types';
2
2
  import { type IntlMessageFormat } from 'intl-messageformat';
3
3
  export interface IntlMessage {
4
4
  id?: string;
@@ -46,17 +46,13 @@ export interface RemapperContext {
46
46
  */
47
47
  pageData?: unknown;
48
48
  /**
49
- * The OpenID compatible userinfo object for the current user.
49
+ * The OpenID compatible userinfo object for the current app member.
50
50
  */
51
- userInfo: UserInfo;
51
+ appMemberInfo: AppMemberInfo;
52
52
  /**
53
53
  * A custom context passed to the remap function.
54
54
  */
55
55
  context: Record<string, any>;
56
- /**
57
- * The appMember object for the current user in the app.
58
- */
59
- appMember: AppMember;
60
56
  }
61
57
  interface InternalContext extends RemapperContext {
62
58
  root?: unknown;
package/remap.js CHANGED
@@ -194,6 +194,16 @@ const mapperImplementations = {
194
194
  }
195
195
  return result;
196
196
  },
197
+ type(args, input) {
198
+ // eslint-disable-next-line eqeqeq
199
+ if (input === null) {
200
+ return null;
201
+ }
202
+ if (Array.isArray(input)) {
203
+ return 'array';
204
+ }
205
+ return typeof input;
206
+ },
197
207
  'array.map': (mapper, input, context) => {
198
208
  var _a;
199
209
  return (_a = input === null || input === void 0 ? void 0 : input.map((item, index) => remap(mapper, item, {
@@ -221,6 +231,19 @@ const mapperImplementations = {
221
231
  });
222
232
  },
223
233
  array: (prop, input, context) => { var _a; return (_a = context.array) === null || _a === void 0 ? void 0 : _a[prop]; },
234
+ 'array.filter'(mapper, input, context) {
235
+ if (!Array.isArray(input)) {
236
+ console.error(`${input} is not an array!`);
237
+ return null;
238
+ }
239
+ return input === null || input === void 0 ? void 0 : input.filter((item, index) => {
240
+ const remapped = remap(mapper, item, {
241
+ ...context,
242
+ array: { index, length: input.length, item },
243
+ });
244
+ return remapped;
245
+ });
246
+ },
224
247
  'array.find'(mapper, input, context) {
225
248
  var _a;
226
249
  if (!Array.isArray(input)) {
@@ -413,8 +436,7 @@ const mapperImplementations = {
413
436
  const message = context.getMessage({ id: messageId });
414
437
  return message.format() || `{${messageId}}`;
415
438
  },
416
- user: (property, input, context) => { var _a; return (_a = context.userInfo) === null || _a === void 0 ? void 0 : _a[property]; },
417
- appMember: (property, input, context) => { var _a, _b; return (_b = (_a = context.userInfo) === null || _a === void 0 ? void 0 : _a.appMember) === null || _b === void 0 ? void 0 : _b[property]; },
439
+ 'app.member': (property, input, context) => { var _a; return (_a = context.appMemberInfo) === null || _a === void 0 ? void 0 : _a[property]; },
418
440
  container(property, input, context) {
419
441
  // This value is replaced when the request is made
420
442
  // By using the value of the release name