@paroicms/server 1.109.6 → 1.110.1

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 (108) hide show
  1. package/ddl/main.ddl.sql +51 -10
  2. package/dist/admin-backend/account/account-role.queries.d.ts +3 -0
  3. package/dist/admin-backend/account/account-role.queries.js +18 -0
  4. package/dist/admin-backend/account/account-role.queries.js.map +1 -0
  5. package/dist/admin-backend/account/account-role.resolver.d.ts +3 -0
  6. package/dist/admin-backend/account/account-role.resolver.js +49 -0
  7. package/dist/admin-backend/account/account-role.resolver.js.map +1 -0
  8. package/dist/admin-backend/account/account.queries.d.ts +11 -2
  9. package/dist/admin-backend/account/account.queries.js +114 -25
  10. package/dist/admin-backend/account/account.queries.js.map +1 -1
  11. package/dist/admin-backend/account/account.resolver.js +126 -10
  12. package/dist/admin-backend/account/account.resolver.js.map +1 -1
  13. package/dist/admin-backend/account/author-account.queries.d.ts +12 -0
  14. package/dist/admin-backend/account/author-account.queries.js +110 -0
  15. package/dist/admin-backend/account/author-account.queries.js.map +1 -0
  16. package/dist/admin-backend/account/author-account.resolver.d.ts +3 -0
  17. package/dist/admin-backend/account/author-account.resolver.js +39 -0
  18. package/dist/admin-backend/account/author-account.resolver.js.map +1 -0
  19. package/dist/admin-backend/auth/auth.helper.d.ts +2 -0
  20. package/dist/admin-backend/auth/auth.helper.js +10 -2
  21. package/dist/admin-backend/auth/auth.helper.js.map +1 -1
  22. package/dist/admin-backend/auth/auth.service.d.ts +1 -1
  23. package/dist/admin-backend/auth/auth.service.js +145 -65
  24. package/dist/admin-backend/auth/auth.service.js.map +1 -1
  25. package/dist/admin-backend/auth/auth.types.d.ts +3 -1
  26. package/dist/admin-backend/auth/authorization.helper.d.ts +11 -0
  27. package/dist/admin-backend/auth/authorization.helper.js +37 -0
  28. package/dist/admin-backend/auth/authorization.helper.js.map +1 -0
  29. package/dist/admin-backend/auth/special-account.helper.d.ts +10 -0
  30. package/dist/admin-backend/auth/special-account.helper.js +38 -0
  31. package/dist/admin-backend/auth/special-account.helper.js.map +1 -0
  32. package/dist/admin-backend/backup/backup.resolver.js +2 -2
  33. package/dist/admin-backend/backup/backup.resolver.js.map +1 -1
  34. package/dist/admin-backend/document/document.resolver.extend.js +1 -3
  35. package/dist/admin-backend/document/document.resolver.extend.js.map +1 -1
  36. package/dist/admin-backend/document/document.resolver.js +95 -13
  37. package/dist/admin-backend/document/document.resolver.js.map +1 -1
  38. package/dist/admin-backend/event-log/event-log.queries.d.ts +24 -0
  39. package/dist/admin-backend/event-log/event-log.queries.js +84 -0
  40. package/dist/admin-backend/event-log/event-log.queries.js.map +1 -0
  41. package/dist/admin-backend/event-log/event-log.resolver.d.ts +3 -0
  42. package/dist/admin-backend/event-log/event-log.resolver.js +21 -0
  43. package/dist/admin-backend/event-log/event-log.resolver.js.map +1 -0
  44. package/dist/admin-backend/event-log/event-log.service.d.ts +11 -0
  45. package/dist/admin-backend/event-log/event-log.service.js +290 -0
  46. package/dist/admin-backend/event-log/event-log.service.js.map +1 -0
  47. package/dist/admin-backend/event-log/event-log.types.d.ts +142 -0
  48. package/dist/admin-backend/event-log/event-log.types.js +2 -0
  49. package/dist/admin-backend/event-log/event-log.types.js.map +1 -0
  50. package/dist/admin-backend/fields/fields.resolver.js +3 -2
  51. package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
  52. package/dist/admin-backend/lnode/lnode-wrap.resolver.js +6 -6
  53. package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
  54. package/dist/admin-backend/login/login.controller.js +32 -3
  55. package/dist/admin-backend/login/login.controller.js.map +1 -1
  56. package/dist/admin-backend/media/media-upload.controller.js +15 -0
  57. package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
  58. package/dist/admin-backend/media/media.resolver.extend.js +1 -3
  59. package/dist/admin-backend/media/media.resolver.extend.js.map +1 -1
  60. package/dist/admin-backend/media/media.resolver.js +70 -11
  61. package/dist/admin-backend/media/media.resolver.js.map +1 -1
  62. package/dist/admin-backend/migration/migration.resolver.js +3 -3
  63. package/dist/admin-backend/migration/migration.resolver.js.map +1 -1
  64. package/dist/admin-backend/node/node.resolver.extend.js +1 -3
  65. package/dist/admin-backend/node/node.resolver.extend.js.map +1 -1
  66. package/dist/admin-backend/node/node.resolver.js +6 -5
  67. package/dist/admin-backend/node/node.resolver.js.map +1 -1
  68. package/dist/admin-backend/part/part.resolver.extend.js +2 -5
  69. package/dist/admin-backend/part/part.resolver.extend.js.map +1 -1
  70. package/dist/admin-backend/part/part.resolver.js +56 -10
  71. package/dist/admin-backend/part/part.resolver.js.map +1 -1
  72. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +7 -7
  73. package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -1
  74. package/dist/common/data-format.d.ts +5 -1
  75. package/dist/common/data-format.js +3 -1
  76. package/dist/common/data-format.js.map +1 -1
  77. package/dist/connector/app-conf/app-conf-formatter.js +4 -1
  78. package/dist/connector/app-conf/app-conf-formatter.js.map +1 -1
  79. package/dist/connector/app-conf/app-conf.types.d.ts +3 -3
  80. package/dist/connector/db-init/db-constants.d.ts +1 -1
  81. package/dist/connector/db-init/db-constants.js +1 -1
  82. package/dist/connector/db-init/ddl-migration.js +60 -0
  83. package/dist/connector/db-init/ddl-migration.js.map +1 -1
  84. package/dist/connector/row-types.d.ts +5 -3
  85. package/dist/connector/site-schema/site-schema-factory.js +76 -0
  86. package/dist/connector/site-schema/site-schema-factory.js.map +1 -1
  87. package/dist/graphql/apollo-server-init.js +6 -0
  88. package/dist/graphql/apollo-server-init.js.map +1 -1
  89. package/dist/maintenance/maintenance-task.d.ts +1 -1
  90. package/dist/maintenance/maintenance-task.js +5 -0
  91. package/dist/maintenance/maintenance-task.js.map +1 -1
  92. package/dist/protected-site/protected-access-token.d.ts +3 -3
  93. package/dist/protected-site/protected-access-token.js +3 -3
  94. package/dist/protected-site/protected-access-token.js.map +1 -1
  95. package/dist/protected-site/protected-site.req-handler.js +4 -4
  96. package/dist/protected-site/protected-site.req-handler.js.map +1 -1
  97. package/dist/public-api/password-reset/password-reset.service.js +9 -6
  98. package/dist/public-api/password-reset/password-reset.service.js.map +1 -1
  99. package/dist/rendered-site/feed/feed-generator.js +2 -2
  100. package/dist/rendered-site/feed/feed-generator.js.map +1 -1
  101. package/dist/site-context/load-site-context.js +1 -3
  102. package/dist/site-context/load-site-context.js.map +1 -1
  103. package/dist/tsconfig.tsbuildinfo +1 -1
  104. package/package.json +28 -28
  105. package/schema.graphql +43 -0
  106. package/dist/helpers/special-account.helpers.d.ts +0 -9
  107. package/dist/helpers/special-account.helpers.js +0 -36
  108. package/dist/helpers/special-account.helpers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-log.service.js","sourceRoot":"","sources":["../../../src/admin-backend/event-log/event-log.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,MAAM,UAAU,WAAW,CACzB,WAA+C,EAC/C,KAAoB;IAEpB,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,WAA+C,EAC/C,KAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACzE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAUD,MAAM,0BAA0B,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,UAAU;IACzB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,QAAQ;IACzB,WAAW,EAAE,QAAQ;IACrB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,kBAAkB;IAC3B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,aAAa,EAAE,UAAU;IACzB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,kBAAkB;IAC3B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,+CAA+C;IAC5D,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAG,IAAI,CAAC;IAChD,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,+CAA+C;IAC/D,cAAc,EAAE,+CAA+C;IAC/D,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,QAAQ;IACnB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,QAAQ;IACjB,aAAa,EAAE,UAAU;IACzB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,CAAC;IACzB,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,oBAAoB;IAC/B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,SAAS,EAAE,CAAC,CAAC,SAAS;IACtB,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;IAC3D,UAAU,EAAE,CAAC,CAAC,UAAU;IACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;IACpB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAa,CAAC,CAAC,CAAC,SAAS;CAC1E,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAoC,EACpC,UAA8B,EAAE;IAEhC,IAAI,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAElF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;IAEzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE5C,QAAQ,SAAS,CAAC,SAAS,EAAE,CAAC;YAC5B,KAAK,iBAAiB;gBACpB,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAClE,CAAC;YAEJ,KAAK,iBAAiB;gBACpB,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAClE,CAAC;YAEJ,KAAK,iBAAiB;gBACpB,IAAI,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAClE,CAAC;YAEJ,KAAK,WAAW;gBACd,IAAI,SAAS,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC5D,CAAC;YAEJ,KAAK,gBAAgB;gBACnB,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBACjE,CAAC;YAEJ,KAAK,gBAAgB;gBACnB,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBACjE,CAAC;YAEJ,KAAK,gBAAgB;gBACnB,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBACjE,CAAC;YAEJ,KAAK,eAAe;gBAClB,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC/D,CAAC;YAEJ,KAAK,4BAA4B;gBAC/B,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,oCAAoC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC5E,CAAC;YAEJ,KAAK,qBAAqB;gBACxB,IAAI,SAAS,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,6BAA6B,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBACrE,CAAC;YAEJ,KAAK,cAAc;gBACjB,IAAI,SAAS,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC/D,CAAC;YAEJ,KAAK,cAAc;gBACjB,IAAI,SAAS,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC/D,CAAC;YAEJ,KAAK,cAAc;gBACjB,IAAI,SAAS,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;iBAC/D,CAAC;YAEJ;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,142 @@
1
+ import type { LoginMethod } from "@paroicms/public-anywhere-lib";
2
+ export type EventLogEntry = DocumentCreatedEventLogEntry | DocumentUpdatedEventLogEntry | DocumentDeletedEventLogEntry | PartMovedEventLogEntry | AccountCreatedEventLogEntry | AccountUpdatedEventLogEntry | AccountDeletedEventLogEntry | AccountLoginEventLogEntry | AccountLoginMethodChangedEventLogEntry | AccountDeactivatedEventLogEntry | MediaCreatedEventLogEntry | MediaUpdatedEventLogEntry | MediaDeletedEventLogEntry;
3
+ export interface EventLogEntryBase {
4
+ actorId?: string;
5
+ targetId: string;
6
+ }
7
+ export interface DocumentCreatedEventLogEntry extends EventLogEntryBase {
8
+ eventType: "document.create";
9
+ targetType: "document";
10
+ eventData: DocumentCreatedEventData;
11
+ }
12
+ export interface DocumentCreatedEventData {
13
+ nodeId: string;
14
+ typeName: string;
15
+ title?: string;
16
+ language: string;
17
+ }
18
+ export interface DocumentUpdatedEventLogEntry extends EventLogEntryBase {
19
+ eventType: "document.update";
20
+ targetType: "document";
21
+ eventData: DocumentUpdatedEventData;
22
+ }
23
+ export interface DocumentUpdatedEventData {
24
+ nodeId: string;
25
+ typeName: string;
26
+ title?: string;
27
+ language: string;
28
+ changedFields: string[];
29
+ }
30
+ export interface DocumentDeletedEventLogEntry extends EventLogEntryBase {
31
+ eventType: "document.delete";
32
+ targetType: "document";
33
+ eventData: DocumentDeletedEventData;
34
+ }
35
+ export interface DocumentDeletedEventData {
36
+ nodeId: string;
37
+ typeName: string;
38
+ title?: string;
39
+ language: string;
40
+ }
41
+ export interface PartMovedEventLogEntry extends EventLogEntryBase {
42
+ eventType: "part.move";
43
+ targetType: "documentNode";
44
+ eventData: PartMovedEventData;
45
+ }
46
+ export interface PartMovedEventData {
47
+ partNodeId: string;
48
+ documentNodeId: string;
49
+ typeName: string;
50
+ newParentNodeId: string;
51
+ newListName: string;
52
+ }
53
+ export interface AccountCreatedEventLogEntry extends EventLogEntryBase {
54
+ eventType: "account.create";
55
+ targetType: "account";
56
+ eventData: AccountCreatedEventData;
57
+ }
58
+ export interface AccountCreatedEventData {
59
+ accountId: string;
60
+ email: string;
61
+ name?: string;
62
+ }
63
+ export interface AccountUpdatedEventLogEntry extends EventLogEntryBase {
64
+ eventType: "account.update";
65
+ targetType: "account";
66
+ eventData: AccountUpdatedEventData;
67
+ }
68
+ export interface AccountUpdatedEventData {
69
+ accountId: string;
70
+ email: string;
71
+ changedFields: string[];
72
+ }
73
+ export interface AccountDeletedEventLogEntry extends EventLogEntryBase {
74
+ eventType: "account.delete";
75
+ targetType: "account";
76
+ eventData: AccountDeletedEventData;
77
+ }
78
+ export interface AccountDeletedEventData {
79
+ accountId: string;
80
+ email: string;
81
+ name?: string;
82
+ }
83
+ export interface AccountLoginEventLogEntry extends EventLogEntryBase {
84
+ eventType: "account.login";
85
+ targetType: "account";
86
+ eventData: AccountLoginEventData;
87
+ }
88
+ export interface AccountLoginEventData {
89
+ accountId: string;
90
+ email: string;
91
+ loginMethod: LoginMethod;
92
+ }
93
+ export interface AccountLoginMethodChangedEventLogEntry extends EventLogEntryBase {
94
+ eventType: "account.loginMethodChanged";
95
+ targetType: "account";
96
+ eventData: AccountLoginMethodChangedEventData;
97
+ }
98
+ export interface AccountLoginMethodChangedEventData {
99
+ accountId: string;
100
+ email: string;
101
+ oldLoginMethod?: LoginMethod;
102
+ newLoginMethod?: LoginMethod;
103
+ }
104
+ export interface AccountDeactivatedEventLogEntry extends EventLogEntryBase {
105
+ eventType: "account.deactivated";
106
+ targetType: "account";
107
+ eventData: AccountDeactivatedEventData;
108
+ }
109
+ export interface AccountDeactivatedEventData {
110
+ accountId: string;
111
+ email: string;
112
+ reason: string;
113
+ }
114
+ export interface MediaCreatedEventLogEntry extends EventLogEntryBase {
115
+ eventType: "media.create";
116
+ targetType: "media";
117
+ eventData: MediaCreatedEventData;
118
+ }
119
+ export interface MediaCreatedEventData {
120
+ mediaId: string;
121
+ filename: string;
122
+ mimeType: string;
123
+ sizeBytes: number;
124
+ }
125
+ export interface MediaUpdatedEventLogEntry extends EventLogEntryBase {
126
+ eventType: "media.update";
127
+ targetType: "media";
128
+ eventData: MediaUpdatedEventData;
129
+ }
130
+ export interface MediaUpdatedEventData {
131
+ mediaId: string;
132
+ changedFields: string[];
133
+ }
134
+ export interface MediaDeletedEventLogEntry extends EventLogEntryBase {
135
+ eventType: "media.delete";
136
+ targetType: "media";
137
+ eventData: MediaDeletedEventData;
138
+ }
139
+ export interface MediaDeletedEventData {
140
+ mediaId: string;
141
+ originalName?: string;
142
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-log.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-log.types.js","sourceRoot":"","sources":["../../../src/admin-backend/event-log/event-log.types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import { siteReadyGuard } from "../../graphql/graphql.types.js";
2
2
  import { authGuard } from "../auth/auth.helper.js";
3
+ import { permissionGuard } from "../auth/authorization.helper.js";
3
4
  import { getTypeNameOf } from "../node/node.queries.js";
4
5
  import { getFieldValuesOfLNode, getFieldValuesOfOneList } from "./load-fields-of.queries.js";
5
6
  import { getFieldTypesByNames, loadFieldValues, } from "./load-fields.queries.js";
@@ -7,8 +8,8 @@ import { parseFieldValues, saveFieldValues } from "./save-fields.queries.js";
7
8
  export const fieldResolvers = {
8
9
  Mutation: {
9
10
  setFieldValues: async (_parent, { nodeId, language, values }, { siteContext, httpContext }) => {
10
- authGuard(httpContext);
11
11
  siteReadyGuard(siteContext);
12
+ await permissionGuard(siteContext, httpContext, "document.edit");
12
13
  const typeName = await getTypeNameOf(siteContext, nodeId);
13
14
  await saveFieldValues(siteContext, {
14
15
  typeName,
@@ -19,8 +20,8 @@ export const fieldResolvers = {
19
20
  return true;
20
21
  },
21
22
  setSiteFieldValues: async (_parent, { language, values }, { siteContext, httpContext }) => {
22
- authGuard(httpContext);
23
23
  siteReadyGuard(siteContext);
24
+ await permissionGuard(siteContext, httpContext, "site.editProperties");
24
25
  await saveFieldValues(siteContext, {
25
26
  typeName: "_site",
26
27
  nodeId: siteContext.homeRoutingCluster.siteNodeId,
@@ -1 +1 @@
1
- {"version":3,"file":"fields.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/fields/fields.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/fields/fields.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,QAAQ,EAAE;QACR,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC5F,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,eAAe,CAAC,WAAW,EAAE;gBACjC,QAAQ;gBACR,MAAM;gBACN,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YACxF,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;YACvE,MAAM,eAAe,CAAC,WAAW,EAAE;gBACjC,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU;gBACjD,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;aACjC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;KACF;IAED,KAAK,EAAE;QACL,WAAW,EAAE,KAAK,EAChB,OAAO,EACP,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EACnC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE;gBAC3D,OAAO;gBACP,UAAU,EAAE,UAAU,IAAI,SAAS;gBACnC,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;gBAChD,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YACH,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAED,iBAAiB,EAAE,KAAK,EACtB,OAAO,EACP,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EACnD,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAE5B,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE;gBACrD,aAAa;gBACb,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,UAAU,EAAE,UAAU,IAAI,SAAS;gBACnC,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;gBAChD,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO;gBACP,WAAW,EAAE,0BAA0B,CAAC,WAAW,CAAC;aACrD,CAAC,CAAC,CAAC;QACN,CAAC;QAED,eAAe,EAAE,KAAK,EACpB,OAAO,EACP,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EACpC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBAC3C,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,WAAW,CAAC,kBAAkB,CAAC,UAAU;gBACjD,UAAU,EAAE,UAAU,IAAI,SAAS;gBACnC,QAAQ,EAAE,QAAQ,IAAI,SAAS;gBAC/B,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uCAAuC,GAAiC;IACnF,SAAS,EAAE;QACT,WAAW,EAAE,KAAK,EAChB,EAAE,MAAM,EAAE,QAAQ,EAAiB,EACnC,EAAE,UAAU,EAAE,UAAU,EAAE,EAC1B,EAAE,WAAW,EAAE,EACf,EAAE;YACF,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBAC3C,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,UAAU,IAAI,SAAS;gBACnC,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAiC;IAC7E,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK,EAChB,EAAE,MAAM,EAAE,QAAQ,EAAY,EAC9B,EAAE,UAAU,EAAE,UAAU,EAAE,EAC1B,EAAE,WAAW,EAAE,EACf,EAAE;YACF,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBAC3C,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,UAAU,EAAE,UAAU,IAAI,SAAS;gBACnC,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC;AAEF,KAAK,UAAU,kBAAkB,CAC/B,WAAwB,EACxB,OAMC;IAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE;QACnD,QAAQ;QACR,UAAU;KACX,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE;QAChD,MAAM;QACN,QAAQ;QACR,UAAU;QACV,aAAa,EAAE,KAAK;QACpB,UAAU;KACX,CAAC,CAAC;IACH,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAe;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAkD;IAElD,OAAO,UAAU;QACf,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,SAAS,EAAE;QACpE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -2,7 +2,7 @@ import { createNoTracker } from "@paroicms/internal-server-lib";
2
2
  import { encodeLNodeId, parseLNodeId } from "@paroicms/public-anywhere-lib";
3
3
  import { type } from "arktype";
4
4
  import { siteReadyGuard } from "../../graphql/graphql.types.js";
5
- import { authGuard } from "../auth/auth.helper.js";
5
+ import { permissionGuard } from "../auth/authorization.helper.js";
6
6
  import { formatGqlOrderBy } from "./lnode-wrap.formatters.js";
7
7
  import { findOneLNode, getBreadcrumb, getLNodeWraps, getParentLanguages, searchDocuments, setLNodeReady, } from "./lnode.queries.js";
8
8
  const LNodeLanguageRowAT = type({
@@ -12,14 +12,14 @@ const LNodeLanguageRowAT = type({
12
12
  export const lNodeWrapResolvers = {
13
13
  Query: {
14
14
  lNodeWrap: async (_parent, { lNodeId }, { siteContext, httpContext }) => {
15
- authGuard(httpContext);
16
15
  siteReadyGuard(siteContext);
16
+ await permissionGuard(siteContext, httpContext, "document.edit");
17
17
  const parsedLNodeId = parseLNodeId(lNodeId);
18
18
  return await findOneLNode(siteContext, parsedLNodeId);
19
19
  },
20
20
  pagedLNodeWraps: async (_parent, { parentLNodeId, offset, limit, sorting }, { siteContext, httpContext }) => {
21
- authGuard(httpContext);
22
21
  siteReadyGuard(siteContext);
22
+ await permissionGuard(siteContext, httpContext, "document.edit");
23
23
  const parentId = parseLNodeId(parentLNodeId);
24
24
  const result = await getLNodeWraps(siteContext, {
25
25
  parentId,
@@ -39,8 +39,8 @@ export const lNodeWrapResolvers = {
39
39
  };
40
40
  },
41
41
  searchDocuments: async (_parent, { language, queryString, offset, limit, sorting }, { siteContext, httpContext }) => {
42
- authGuard(httpContext);
43
42
  siteReadyGuard(siteContext);
43
+ await permissionGuard(siteContext, httpContext, "document.edit");
44
44
  return await searchDocuments(siteContext, {
45
45
  language,
46
46
  queryString,
@@ -50,8 +50,8 @@ export const lNodeWrapResolvers = {
50
50
  });
51
51
  },
52
52
  lNodeWraps: async (_parent, { parentLNodeId }, { siteContext, httpContext }) => {
53
- authGuard(httpContext);
54
53
  siteReadyGuard(siteContext);
54
+ await permissionGuard(siteContext, httpContext, "document.edit");
55
55
  const parentId = parseLNodeId(parentLNodeId);
56
56
  return (await getLNodeWraps(siteContext, {
57
57
  parentId,
@@ -60,8 +60,8 @@ export const lNodeWrapResolvers = {
60
60
  },
61
61
  Mutation: {
62
62
  setLNodeReady: async (_parent, { lNodeId, ready }, { siteContext, httpContext }) => {
63
- authGuard(httpContext);
64
63
  siteReadyGuard(siteContext);
64
+ await permissionGuard(siteContext, httpContext, "document.edit");
65
65
  const parsedId = parseLNodeId(lNodeId);
66
66
  await setLNodeReady(siteContext, {
67
67
  lNodeId: parsedId,
@@ -1 +1 @@
1
- {"version":3,"file":"lnode-wrap.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/lnode/lnode-wrap.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lnode-wrap.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/lnode/lnode-wrap.resolver.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,54 @@
1
1
  import { ApiError } from "@paroicms/public-server-lib";
2
2
  import { type } from "arktype";
3
- import { getVerifiedAccountFromToken, loginByPlatformToken, loginUser, } from "../auth/auth.service.js";
3
+ import { getVerifiedAccountFromToken, loginByPlatformToken, loginLocalUser, } from "../auth/auth.service.js";
4
+ import { recordEvent } from "../event-log/event-log.service.js";
4
5
  export async function loginController(siteContext, httpContext, _routeParams) {
5
6
  const defaultLanguage = siteContext.status === "migration"
6
7
  ? (siteContext.deprecatedSiteSchema.languages[0] ?? "en")
7
8
  : siteContext.siteSchema.defaultLanguage;
8
9
  const loginInput = formatLoginAction(httpContext.req.body);
9
10
  if (loginInput.action === "loginWithPlatformToken") {
10
- return await loginByPlatformToken(siteContext, {
11
+ const result = await loginByPlatformToken(siteContext, {
11
12
  token: loginInput.token,
12
13
  defaultLanguage,
13
14
  });
15
+ if ("loginMethod" in result && result.loginMethod) {
16
+ recordEvent(siteContext, {
17
+ eventType: "account.login",
18
+ actorId: result.id,
19
+ targetType: "account",
20
+ targetId: result.id,
21
+ eventData: {
22
+ accountId: result.id,
23
+ email: result.email,
24
+ loginMethod: result.loginMethod,
25
+ },
26
+ });
27
+ }
28
+ return result;
14
29
  }
15
30
  if (loginInput.action === "signIn") {
16
- return await loginUser(siteContext, {
31
+ const result = await loginLocalUser(siteContext, {
17
32
  user: {
18
33
  email: loginInput.email,
19
34
  password: loginInput.password,
20
35
  },
21
36
  defaultLanguage,
22
37
  });
38
+ if ("loginMethod" in result && result.loginMethod) {
39
+ recordEvent(siteContext, {
40
+ eventType: "account.login",
41
+ actorId: result.id,
42
+ targetType: "account",
43
+ targetId: result.id,
44
+ eventData: {
45
+ accountId: result.id,
46
+ email: result.email,
47
+ loginMethod: result.loginMethod,
48
+ },
49
+ });
50
+ }
51
+ return result;
23
52
  }
24
53
  return getVerifiedAccountFromToken(siteContext, {
25
54
  token: loginInput.token,
@@ -1 +1 @@
1
- {"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AAGjC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAA+C,EAC/C,WAA0B,EAC1B,YAAgD;IAEhD,MAAM,eAAe,GACnB,WAAW,CAAC,MAAM,KAAK,WAAW;QAChC,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACzD,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACnD,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE;YAC7C,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,MAAM,SAAS,CAAC,WAAW,EAAE;YAClC,IAAI,EAAE;gBACJ,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B;YACD,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,2BAA2B,CAAC,WAAW,EAAE;QAC9C,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,QAAQ,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,4DAA4D,EAAE,GAAG,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,yBAAyB,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { ApiError } from "@paroicms/public-server-lib";
3
3
  import { type } from "arktype";
4
4
  import { makeDefaultThumbAvailableForAdminUi } from "../../common/medias/media-lib.js";
5
5
  import { removeExtensionFromFileName } from "../../helpers/utils-helper.js";
6
+ import { permissionGuard } from "../auth/authorization.helper.js";
7
+ import { recordEvent } from "../event-log/event-log.service.js";
6
8
  import { getTypeNameOf } from "../node/node.queries.js";
7
9
  import { addMediaToNode } from "./add-media-to-node.js";
8
10
  const UploadBodyAT = type({
@@ -17,6 +19,7 @@ const UploadBodyAT = type({
17
19
  replace: d.replace === "1",
18
20
  }));
19
21
  export async function uploadMediaController(siteContext, httpContext) {
22
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
20
23
  const { req } = httpContext;
21
24
  const file = req.file;
22
25
  const body = req.body;
@@ -38,6 +41,18 @@ export async function uploadMediaController(siteContext, httpContext) {
38
41
  attachedData,
39
42
  replace,
40
43
  });
44
+ recordEvent(siteContext, {
45
+ eventType: "media.create",
46
+ actorId: authorizedAccount.accountId,
47
+ targetType: "media",
48
+ targetId: source.mediaId,
49
+ eventData: {
50
+ mediaId: source.mediaId,
51
+ filename: source.originalName ?? originalName,
52
+ mimeType: source.mediaType,
53
+ sizeBytes: weightB,
54
+ },
55
+ });
41
56
  if (source.kind === "image") {
42
57
  return {
43
58
  kind: "image",
@@ -1 +1 @@
1
- {"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAmB,CAAC,CAAC,CAAC,SAAS;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG;CAC3B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,WAA0B;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEzD,MAAM,YAAY,GAAG,2BAA2B,CAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,iCAAiC,OAAO,YAAY,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,EACX,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAChD;QACE,MAAM;QACN,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,OAAO;KACR,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM;YACN,KAAK,EAAE,MAAM,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE;gBACpE,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAmB,CAAC,CAAC,CAAC,SAAS;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG;CAC3B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,WAA0B;IAE1B,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAE3F,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEzD,MAAM,YAAY,GAAG,2BAA2B,CAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,iCAAiC,OAAO,YAAY,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,EACX,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAChD;QACE,MAAM;QACN,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,OAAO;KACR,CACF,CAAC;IAEF,WAAW,CAAC,WAAW,EAAE;QACvB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,iBAAiB,CAAC,SAAS;QACpC,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,SAAS,EAAE;YACT,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,YAAY;YAC7C,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,SAAS,EAAE,OAAO;SACa;KAClC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM;YACN,KAAK,EAAE,MAAM,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE;gBACpE,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM;KACP,CAAC;AACJ,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { makeGqlMedia } from "../../common/medias/media-lib.js";
2
2
  import { siteReadyGuard } from "../../graphql/graphql.types.js";
3
- import { authGuard } from "../auth/auth.helper.js";
4
3
  export const extendDocumentWithMediaResolver = {
5
4
  Document: {
6
- featuredImage: async (parent, _args, { siteContext, httpContext }) => {
7
- authGuard(httpContext);
5
+ featuredImage: async (parent, _args, { siteContext }) => {
8
6
  siteReadyGuard(siteContext);
9
7
  const media = await siteContext.mediaStorage.getMedia({
10
8
  handle: parent.featuredImageHandle,
@@ -1 +1 @@
1
- {"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,+BAA+B,GAAiC;IAC3E,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK,EAClB,MAAoB,EACpB,KAAc,EACd,EAAE,WAAW,EAAE,WAAW,EAAkB,EAC5C,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACpD,MAAM,EAAE,MAAM,CAAC,mBAAmB;gBAClC,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AAErF,MAAM,CAAC,MAAM,+BAA+B,GAAiC;IAC3E,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK,EAClB,MAAoB,EACpB,KAAc,EACd,EAAE,WAAW,EAAkB,EAC/B,EAAE;YACF,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACpD,MAAM,EAAE,MAAM,CAAC,mBAAmB;gBAClC,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
@@ -5,74 +5,121 @@ import { makeGqlImageVariant, makeGqlMedia, makeGqlMedias } from "../../common/m
5
5
  import { dependencyKeyOfMedia, invalidateMultipleDocumentsInCache, } from "../../common/text-cache.js";
6
6
  import { adminUiOwnerHandle } from "../../context.js";
7
7
  import { siteReadyGuard } from "../../graphql/graphql.types.js";
8
- import { authGuard } from "../auth/auth.helper.js";
8
+ import { permissionGuard } from "../auth/authorization.helper.js";
9
+ import { recordEvent } from "../event-log/event-log.service.js";
9
10
  export const mediaResolvers = {
10
11
  Query: {
11
12
  medias: async (_parent, { handle }, { siteContext, httpContext }) => {
12
- authGuard(httpContext);
13
13
  siteReadyGuard(siteContext);
14
+ await permissionGuard(siteContext, httpContext, "document.edit");
14
15
  const medias = await siteContext.mediaStorage.getMedias({ handle, withAttachedData: true });
15
16
  return await makeGqlMedias(siteContext, medias);
16
17
  },
17
18
  media: async (_parent, { handle }, { siteContext, httpContext }) => {
18
- authGuard(httpContext);
19
19
  siteReadyGuard(siteContext);
20
+ await permissionGuard(siteContext, httpContext, "document.edit");
20
21
  const media = await siteContext.mediaStorage.getMedia({ handle, withAttachedData: true });
21
22
  if (!media)
22
23
  return null;
23
24
  return await makeGqlMedia(siteContext, media);
24
25
  },
25
26
  getUsedRawSizesByMedia: async (_parent, { mediaId }, { siteContext, httpContext }) => {
26
- authGuard(httpContext);
27
27
  siteReadyGuard(siteContext);
28
+ await permissionGuard(siteContext, httpContext, "document.edit");
28
29
  return await siteContext.imageCache.getUsedRawSizesByMedia(mediaId);
29
30
  },
30
31
  },
31
32
  Mutation: {
32
33
  deleteMediaFromGallery: async (_parent, { mediaId, handle }, { siteContext, httpContext }) => {
33
- authGuard(httpContext);
34
34
  siteReadyGuard(siteContext);
35
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
36
+ const media = await siteContext.mediaStorage.getMedia({ mediaId, withAttachedData: false });
35
37
  const deletedIds = await siteContext.mediaStorage.deleteMedia({ mediaId, handle });
36
38
  await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
37
39
  const nodeId = extractNodeIdFromHandle(handle);
38
40
  if (nodeId !== undefined)
39
41
  await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
42
+ if (media) {
43
+ recordEvent(siteContext, {
44
+ eventType: "media.delete",
45
+ actorId: authorizedAccount.accountId,
46
+ targetType: "media",
47
+ targetId: mediaId,
48
+ eventData: {
49
+ mediaId,
50
+ originalName: media.originalName,
51
+ },
52
+ });
53
+ }
40
54
  return handle;
41
55
  },
42
56
  deleteMedia: async (_parent, { handle }, { siteContext, httpContext }) => {
43
- authGuard(httpContext);
44
57
  siteReadyGuard(siteContext);
58
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
59
+ const medias = await siteContext.mediaStorage.getMedias({ handle, withAttachedData: false });
45
60
  const deletedIds = await siteContext.mediaStorage.deleteMedia({ handle });
46
61
  await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
47
62
  const nodeId = extractNodeIdFromHandle(handle);
48
63
  if (nodeId !== undefined)
49
64
  await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
65
+ for (const media of medias) {
66
+ recordEvent(siteContext, {
67
+ eventType: "media.delete",
68
+ actorId: authorizedAccount.accountId,
69
+ targetType: "media",
70
+ targetId: media.id,
71
+ eventData: {
72
+ mediaId: media.id,
73
+ originalName: media.originalName,
74
+ },
75
+ });
76
+ }
50
77
  return handle;
51
78
  },
52
79
  updateMediaAttachedData: async (_parent, { mediaId, language, value }, { siteContext, httpContext }) => {
53
- authGuard(httpContext);
54
80
  siteReadyGuard(siteContext);
81
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
55
82
  await siteContext.mediaStorage.setAttachedData({
56
83
  mediaId,
57
84
  language,
58
85
  value: value ? JSON.parse(value) : null,
59
86
  });
60
87
  await siteContext.textCache.invalidate([dependencyKeyOfMedia(mediaId)]);
88
+ recordEvent(siteContext, {
89
+ eventType: "media.update",
90
+ actorId: authorizedAccount.accountId,
91
+ targetType: "media",
92
+ targetId: mediaId,
93
+ eventData: {
94
+ mediaId,
95
+ changedFields: ["attachedData"],
96
+ },
97
+ });
61
98
  return true;
62
99
  },
63
100
  updateMediaPixelRatio: async (_parent, { mediaId, pixelRatio }, { siteContext, httpContext }) => {
64
- authGuard(httpContext);
65
101
  siteReadyGuard(siteContext);
102
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
66
103
  await siteContext.mediaStorage.updatePixelRatio({
67
104
  mediaId,
68
105
  pixelRatio: pixelRatio ?? null,
69
106
  });
70
107
  await siteContext.textCache.invalidate([dependencyKeyOfMedia(mediaId)]);
108
+ recordEvent(siteContext, {
109
+ eventType: "media.update",
110
+ actorId: authorizedAccount.accountId,
111
+ targetType: "media",
112
+ targetId: mediaId,
113
+ eventData: {
114
+ mediaId,
115
+ changedFields: ["pixelRatio"],
116
+ },
117
+ });
71
118
  return true;
72
119
  },
73
120
  reorderMedias: async (_parent, { input }, { siteContext, httpContext }) => {
74
- authGuard(httpContext);
75
121
  siteReadyGuard(siteContext);
122
+ const authorizedAccount = await permissionGuard(siteContext, httpContext, "document.edit");
76
123
  const medias = await siteContext.mediaStorage.reorderMedias({
77
124
  handle: input.handle,
78
125
  mediaIds: input.mediaIds,
@@ -81,11 +128,23 @@ export const mediaResolvers = {
81
128
  const nodeId = extractNodeIdFromHandle(input.handle);
82
129
  if (nodeId !== undefined)
83
130
  await invalidateMultipleDocumentsInCache(siteContext, { nodeId });
131
+ for (const mediaId of input.mediaIds) {
132
+ recordEvent(siteContext, {
133
+ eventType: "media.update",
134
+ actorId: authorizedAccount.accountId,
135
+ targetType: "media",
136
+ targetId: mediaId,
137
+ eventData: {
138
+ mediaId,
139
+ changedFields: ["order"],
140
+ },
141
+ });
142
+ }
84
143
  return await makeGqlMedias(siteContext, medias);
85
144
  },
86
145
  useAdminUiImage: async (_parent, { input }, { siteContext, httpContext }) => {
87
- authGuard(httpContext);
88
146
  siteReadyGuard(siteContext);
147
+ await permissionGuard(siteContext, httpContext, "document.edit");
89
148
  const { mediaId, resizeRule } = input;
90
149
  if (!isResizeRule(resizeRule)) {
91
150
  throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);
@@ -108,8 +167,8 @@ export const mediaResolvers = {
108
167
  });
109
168
  },
110
169
  useFTextImage: async (_parent, { input }, { siteContext, httpContext }) => {
111
- authGuard(httpContext);
112
170
  siteReadyGuard(siteContext);
171
+ await permissionGuard(siteContext, httpContext, "document.edit");
113
172
  const { mediaId, resizeRule } = input;
114
173
  if (!isResizeRule(resizeRule)) {
115
174
  throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);