@strapi/admin 5.16.1 → 5.17.0

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 (100) hide show
  1. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js +1 -0
  2. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +1 -1
  3. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs +1 -0
  4. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js +31 -4
  6. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +1 -1
  7. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs +31 -4
  8. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +1 -1
  9. package/dist/admin/admin/src/features/Tracking.js +0 -33
  10. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  11. package/dist/admin/admin/src/features/Tracking.mjs +0 -33
  12. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  13. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +15 -8
  14. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  15. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +15 -8
  16. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  17. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -3
  18. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  19. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -3
  20. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  21. package/dist/admin/admin/src/services/admin.js +17 -3
  22. package/dist/admin/admin/src/services/admin.js.map +1 -1
  23. package/dist/admin/admin/src/services/admin.mjs +17 -4
  24. package/dist/admin/admin/src/services/admin.mjs.map +1 -1
  25. package/dist/admin/admin/src/services/apiTokens.js +4 -2
  26. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  27. package/dist/admin/admin/src/services/apiTokens.mjs +4 -2
  28. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  29. package/dist/admin/admin/src/utils/rulesEngine.js +75 -0
  30. package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -0
  31. package/dist/admin/admin/src/utils/rulesEngine.mjs +72 -0
  32. package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -0
  33. package/dist/admin/index.js +3 -0
  34. package/dist/admin/index.js.map +1 -1
  35. package/dist/admin/index.mjs +1 -0
  36. package/dist/admin/index.mjs.map +1 -1
  37. package/dist/admin/src/components/UnstableGuidedTour/Context.d.ts +6 -5
  38. package/dist/admin/src/components/UnstableGuidedTour/Tours.d.ts +4 -1
  39. package/dist/admin/src/features/Tracking.d.ts +9 -2
  40. package/dist/admin/src/index.d.ts +1 -0
  41. package/dist/admin/src/services/admin.d.ts +8 -8
  42. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  43. package/dist/admin/src/utils/rulesEngine.d.ts +23 -0
  44. package/dist/ee/server/src/index.d.ts +2 -12
  45. package/dist/ee/server/src/index.d.ts.map +1 -1
  46. package/dist/ee/server/src/routes/index.d.ts +1 -6
  47. package/dist/ee/server/src/routes/index.d.ts.map +1 -1
  48. package/dist/ee/server/src/routes/license-limit.d.ts +1 -6
  49. package/dist/ee/server/src/routes/license-limit.d.ts.map +1 -1
  50. package/dist/server/ee/server/src/routes/license-limit.js +1 -12
  51. package/dist/server/ee/server/src/routes/license-limit.js.map +1 -1
  52. package/dist/server/ee/server/src/routes/license-limit.mjs +1 -12
  53. package/dist/server/ee/server/src/routes/license-limit.mjs.map +1 -1
  54. package/dist/server/server/src/bootstrap.js +4 -12
  55. package/dist/server/server/src/bootstrap.js.map +1 -1
  56. package/dist/server/server/src/bootstrap.mjs +4 -12
  57. package/dist/server/server/src/bootstrap.mjs.map +1 -1
  58. package/dist/server/server/src/controllers/admin.js +12 -1
  59. package/dist/server/server/src/controllers/admin.js.map +1 -1
  60. package/dist/server/server/src/controllers/admin.mjs +12 -1
  61. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  62. package/dist/server/server/src/routes/admin.js +10 -0
  63. package/dist/server/server/src/routes/admin.js.map +1 -1
  64. package/dist/server/server/src/routes/admin.mjs +10 -0
  65. package/dist/server/server/src/routes/admin.mjs.map +1 -1
  66. package/dist/server/server/src/services/constants.js +14 -0
  67. package/dist/server/server/src/services/constants.js.map +1 -1
  68. package/dist/server/server/src/services/constants.mjs +14 -0
  69. package/dist/server/server/src/services/constants.mjs.map +1 -1
  70. package/dist/server/server/src/services/guided-tour.js +43 -0
  71. package/dist/server/server/src/services/guided-tour.js.map +1 -0
  72. package/dist/server/server/src/services/guided-tour.mjs +41 -0
  73. package/dist/server/server/src/services/guided-tour.mjs.map +1 -0
  74. package/dist/server/server/src/services/index.js +3 -1
  75. package/dist/server/server/src/services/index.js.map +1 -1
  76. package/dist/server/server/src/services/index.mjs +3 -1
  77. package/dist/server/server/src/services/index.mjs.map +1 -1
  78. package/dist/server/server/src/services/user.js +28 -1
  79. package/dist/server/server/src/services/user.js.map +1 -1
  80. package/dist/server/server/src/services/user.mjs +28 -1
  81. package/dist/server/server/src/services/user.mjs.map +1 -1
  82. package/dist/server/src/bootstrap.d.ts.map +1 -1
  83. package/dist/server/src/controllers/admin.d.ts +6 -1
  84. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  85. package/dist/server/src/controllers/index.d.ts +6 -0
  86. package/dist/server/src/controllers/index.d.ts.map +1 -1
  87. package/dist/server/src/index.d.ts +12 -0
  88. package/dist/server/src/index.d.ts.map +1 -1
  89. package/dist/server/src/routes/admin.d.ts.map +1 -1
  90. package/dist/server/src/services/constants.d.ts +11 -1
  91. package/dist/server/src/services/constants.d.ts.map +1 -1
  92. package/dist/server/src/services/guided-tour.d.ts +12 -0
  93. package/dist/server/src/services/guided-tour.d.ts.map +1 -0
  94. package/dist/server/src/services/index.d.ts +6 -0
  95. package/dist/server/src/services/index.d.ts.map +1 -1
  96. package/dist/server/src/services/user.d.ts +1 -0
  97. package/dist/server/src/services/user.d.ts.map +1 -1
  98. package/dist/shared/contracts/admin.d.ts +15 -0
  99. package/dist/shared/contracts/admin.d.ts.map +1 -1
  100. package/package.json +9 -7
@@ -5,7 +5,8 @@ const admin = adminApi.enhanceEndpoints({
5
5
  addTagTypes: [
6
6
  'ProjectSettings',
7
7
  'LicenseLimits',
8
- 'LicenseTrialTimeLeft'
8
+ 'LicenseTrialTimeLeft',
9
+ 'GuidedTourMeta'
9
10
  ]
10
11
  }).injectEndpoints({
11
12
  endpoints: (builder)=>({
@@ -16,7 +17,10 @@ const admin = adminApi.enhanceEndpoints({
16
17
  }),
17
18
  transformResponse (res) {
18
19
  return res.data;
19
- }
20
+ },
21
+ providesTags: [
22
+ 'ProjectSettings'
23
+ ]
20
24
  }),
21
25
  information: builder.query({
22
26
  query: ()=>({
@@ -98,11 +102,20 @@ const admin = adminApi.enhanceEndpoints({
98
102
  providesTags: [
99
103
  'LicenseTrialTimeLeft'
100
104
  ]
105
+ }),
106
+ getGuidedTourMeta: builder.query({
107
+ query: ()=>({
108
+ url: '/admin/guided-tour-meta',
109
+ method: 'GET'
110
+ }),
111
+ providesTags: [
112
+ 'GuidedTourMeta'
113
+ ]
101
114
  })
102
115
  }),
103
116
  overrideExisting: false
104
117
  });
105
- const { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery } = admin;
118
+ const { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetGuidedTourMetaQuery } = admin;
106
119
 
107
- export { useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetPluginsQuery, useInformationQuery, useInitQuery, useProjectSettingsQuery, useTelemetryPropertiesQuery, useUpdateProjectSettingsMutation };
120
+ export { useGetGuidedTourMetaQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetPluginsQuery, useInformationQuery, useInitQuery, useProjectSettingsQuery, useTelemetryPropertiesQuery, useUpdateProjectSettingsMutation };
108
121
  //# sourceMappingURL=admin.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin.mjs","sources":["../../../../../admin/src/services/admin.ts"],"sourcesContent":["import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits', 'LicenseTrialTimeLeft'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status: number) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n getLicenseTrialTimeLeft: builder.query<{ trialEndsAt: string }, void>({\n query: () => ({\n url: '/admin/license-trial-time-left',\n method: 'GET',\n }),\n providesTags: ['LicenseTrialTimeLeft'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n useGetLicenseTrialTimeLeftQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n useGetLicenseTrialTimeLeftQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["admin","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","init","query","url","method","transformResponse","res","data","information","telemetryProperties","config","validateStatus","status","projectSettings","providesTags","authLogo","name","prefixFileUrlWithBackendUrl","undefined","menuLogo","updateProjectSettings","mutation","headers","invalidatesTags","getPlugins","getLicenseLimits","getLicenseTrialTimeLeft","overrideExisting","useInitQuery","useTelemetryPropertiesQuery","useInformationQuery","useProjectSettingsQuery","useUpdateProjectSettingsMutation","useGetPluginsQuery","useGetLicenseLimitsQuery","useGetLicenseTrialTimeLeftQuery"],"mappings":"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"}
1
+ {"version":3,"file":"admin.mjs","sources":["../../../../../admin/src/services/admin.ts"],"sourcesContent":["import {\n type TelemetryProperties,\n type Init,\n type Information,\n type GetProjectSettings,\n type UpdateProjectSettings,\n type Plugins,\n type GetLicenseLimitInformation,\n GetGuidedTourMeta,\n} from '../../../shared/contracts/admin';\nimport { prefixFileUrlWithBackendUrl } from '../utils/urls';\n\nimport { adminApi } from './api';\n\ninterface ConfigurationLogo {\n custom?: {\n name?: string;\n url?: string;\n };\n default: string;\n}\n\nconst admin = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ProjectSettings', 'LicenseLimits', 'LicenseTrialTimeLeft', 'GuidedTourMeta'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n init: builder.query<Init.Response['data'], void>({\n query: () => ({\n url: '/admin/init',\n method: 'GET',\n }),\n transformResponse(res: Init.Response) {\n return res.data;\n },\n providesTags: ['ProjectSettings'],\n }),\n information: builder.query<Information.Response['data'], void>({\n query: () => ({\n url: '/admin/information',\n method: 'GET',\n }),\n transformResponse(res: Information.Response) {\n return res.data;\n },\n }),\n telemetryProperties: builder.query<TelemetryProperties.Response['data'], void>({\n query: () => ({\n url: '/admin/telemetry-properties',\n method: 'GET',\n config: {\n validateStatus: (status: number) => status < 500,\n },\n }),\n transformResponse(res: TelemetryProperties.Response) {\n return res.data;\n },\n }),\n projectSettings: builder.query<\n { authLogo?: ConfigurationLogo['custom']; menuLogo?: ConfigurationLogo['custom'] },\n void\n >({\n query: () => ({\n url: '/admin/project-settings',\n method: 'GET',\n }),\n providesTags: ['ProjectSettings'],\n transformResponse(data: GetProjectSettings.Response) {\n return {\n authLogo: data.authLogo\n ? {\n name: data.authLogo.name,\n url: prefixFileUrlWithBackendUrl(data.authLogo.url),\n }\n : undefined,\n menuLogo: data.menuLogo\n ? {\n name: data.menuLogo.name,\n url: prefixFileUrlWithBackendUrl(data.menuLogo.url),\n }\n : undefined,\n };\n },\n }),\n updateProjectSettings: builder.mutation<UpdateProjectSettings.Response, FormData>({\n query: (data) => ({\n url: '/admin/project-settings',\n method: 'POST',\n data,\n config: {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n },\n }),\n invalidatesTags: ['ProjectSettings'],\n }),\n getPlugins: builder.query<Plugins.Response, void>({\n query: () => ({\n url: '/admin/plugins',\n method: 'GET',\n }),\n }),\n getLicenseLimits: builder.query<GetLicenseLimitInformation.Response, void>({\n query: () => ({\n url: '/admin/license-limit-information',\n method: 'GET',\n }),\n providesTags: ['LicenseLimits'],\n }),\n getLicenseTrialTimeLeft: builder.query<{ trialEndsAt: string }, void>({\n query: () => ({\n url: '/admin/license-trial-time-left',\n method: 'GET',\n }),\n providesTags: ['LicenseTrialTimeLeft'],\n }),\n getGuidedTourMeta: builder.query<GetGuidedTourMeta.Response, void>({\n query: () => ({\n url: '/admin/guided-tour-meta',\n method: 'GET',\n }),\n providesTags: ['GuidedTourMeta'],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n useGetLicenseTrialTimeLeftQuery,\n useGetGuidedTourMetaQuery,\n} = admin;\n\nexport {\n useInitQuery,\n useTelemetryPropertiesQuery,\n useInformationQuery,\n useProjectSettingsQuery,\n useUpdateProjectSettingsMutation,\n useGetPluginsQuery,\n useGetLicenseLimitsQuery,\n useGetLicenseTrialTimeLeftQuery,\n useGetGuidedTourMetaQuery,\n};\n\nexport type { ConfigurationLogo };\n"],"names":["admin","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","init","query","url","method","transformResponse","res","data","providesTags","information","telemetryProperties","config","validateStatus","status","projectSettings","authLogo","name","prefixFileUrlWithBackendUrl","undefined","menuLogo","updateProjectSettings","mutation","headers","invalidatesTags","getPlugins","getLicenseLimits","getLicenseTrialTimeLeft","getGuidedTourMeta","overrideExisting","useInitQuery","useTelemetryPropertiesQuery","useInformationQuery","useProjectSettingsQuery","useUpdateProjectSettingsMutation","useGetPluginsQuery","useGetLicenseLimitsQuery","useGetLicenseTrialTimeLeftQuery","useGetGuidedTourMetaQuery"],"mappings":";;;AAsBA,MAAMA,KAAAA,GAAQC,QACXC,CAAAA,gBAAgB,CAAC;IAChBC,WAAa,EAAA;AAAC,QAAA,iBAAA;AAAmB,QAAA,eAAA;AAAiB,QAAA,sBAAA;AAAwB,QAAA;AAAiB;AAC7F,CAAA,CAAA,CACCC,eAAe,CAAC;IACfC,SAAW,EAAA,CAACC,WAAa;YACvBC,IAAMD,EAAAA,OAAAA,CAAQE,KAAK,CAA8B;AAC/CA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,aAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;AACAC,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAkB,EAAA;AAClC,oBAAA,OAAOA,IAAIC,IAAI;AACjB,iBAAA;gBACAC,YAAc,EAAA;AAAC,oBAAA;AAAkB;AACnC,aAAA,CAAA;YACAC,WAAaT,EAAAA,OAAAA,CAAQE,KAAK,CAAqC;AAC7DA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,oBAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;AACAC,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAyB,EAAA;AACzC,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA,CAAA;YACAG,mBAAqBV,EAAAA,OAAAA,CAAQE,KAAK,CAA6C;AAC7EA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,6BAAA;wBACLC,MAAQ,EAAA,KAAA;wBACRO,MAAQ,EAAA;4BACNC,cAAgB,EAAA,CAACC,SAAmBA,MAAS,GAAA;AAC/C;qBACF,CAAA;AACAR,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAiC,EAAA;AACjD,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA,CAAA;YACAO,eAAiBd,EAAAA,OAAAA,CAAQE,KAAK,CAG5B;AACAA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,yBAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;gBACAI,YAAc,EAAA;AAAC,oBAAA;AAAkB,iBAAA;AACjCH,gBAAAA,iBAAAA,CAAAA,CAAkBE,IAAiC,EAAA;oBACjD,OAAO;wBACLQ,QAAUR,EAAAA,IAAAA,CAAKQ,QAAQ,GACnB;4BACEC,IAAMT,EAAAA,IAAAA,CAAKQ,QAAQ,CAACC,IAAI;AACxBb,4BAAAA,GAAAA,EAAKc,2BAA4BV,CAAAA,IAAAA,CAAKQ,QAAQ,CAACZ,GAAG;yBAEpDe,GAAAA,SAAAA;wBACJC,QAAUZ,EAAAA,IAAAA,CAAKY,QAAQ,GACnB;4BACEH,IAAMT,EAAAA,IAAAA,CAAKY,QAAQ,CAACH,IAAI;AACxBb,4BAAAA,GAAAA,EAAKc,2BAA4BV,CAAAA,IAAAA,CAAKY,QAAQ,CAAChB,GAAG;yBAEpDe,GAAAA;AACN,qBAAA;AACF;AACF,aAAA,CAAA;YACAE,qBAAuBpB,EAAAA,OAAAA,CAAQqB,QAAQ,CAA2C;gBAChFnB,KAAO,EAAA,CAACK,QAAU;wBAChBJ,GAAK,EAAA,yBAAA;wBACLC,MAAQ,EAAA,MAAA;AACRG,wBAAAA,IAAAA;wBACAI,MAAQ,EAAA;4BACNW,OAAS,EAAA;gCACP,cAAgB,EAAA;AAClB;AACF;qBACF,CAAA;gBACAC,eAAiB,EAAA;AAAC,oBAAA;AAAkB;AACtC,aAAA,CAAA;YACAC,UAAYxB,EAAAA,OAAAA,CAAQE,KAAK,CAAyB;AAChDA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,gBAAA;wBACLC,MAAQ,EAAA;qBACV;AACF,aAAA,CAAA;YACAqB,gBAAkBzB,EAAAA,OAAAA,CAAQE,KAAK,CAA4C;AACzEA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,kCAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;gBACAI,YAAc,EAAA;AAAC,oBAAA;AAAgB;AACjC,aAAA,CAAA;YACAkB,uBAAyB1B,EAAAA,OAAAA,CAAQE,KAAK,CAAgC;AACpEA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,gCAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;gBACAI,YAAc,EAAA;AAAC,oBAAA;AAAuB;AACxC,aAAA,CAAA;YACAmB,iBAAmB3B,EAAAA,OAAAA,CAAQE,KAAK,CAAmC;AACjEA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,GAAK,EAAA,yBAAA;wBACLC,MAAQ,EAAA;qBACV,CAAA;gBACAI,YAAc,EAAA;AAAC,oBAAA;AAAiB;AAClC,aAAA;SACF,CAAA;IACAoB,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEF,MAAM,EACJC,YAAY,EACZC,2BAA2B,EAC3BC,mBAAmB,EACnBC,uBAAuB,EACvBC,gCAAgC,EAChCC,kBAAkB,EAClBC,wBAAwB,EACxBC,+BAA+B,EAC/BC,yBAAyB,EAC1B,GAAG3C;;;;"}
@@ -4,7 +4,8 @@ var api = require('./api.js');
4
4
 
5
5
  const apiTokensService = api.adminApi.enhanceEndpoints({
6
6
  addTagTypes: [
7
- 'ApiToken'
7
+ 'ApiToken',
8
+ 'GuidedTourMeta'
8
9
  ]
9
10
  }).injectEndpoints({
10
11
  endpoints: (builder)=>({
@@ -43,7 +44,8 @@ const apiTokensService = api.adminApi.enhanceEndpoints({
43
44
  {
44
45
  type: 'ApiToken',
45
46
  id: 'LIST'
46
- }
47
+ },
48
+ 'GuidedTourMeta'
47
49
  ]
48
50
  }),
49
51
  deleteAPIToken: builder.mutation({
@@ -1 +1 @@
1
- {"version":3,"file":"apiTokens.js","sources":["../../../../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["apiTokensService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getAPITokens","query","transformResponse","response","data","providesTags","res","_err","map","id","type","getAPIToken","createAPIToken","mutation","body","url","method","invalidatesTags","deleteAPIToken","_res","updateAPIToken","useGetAPITokensQuery","useGetAPITokenQuery","useCreateAPITokenMutation","useDeleteAPITokenMutation","useUpdateAPITokenMutation"],"mappings":";;;;AAIA,MAAMA,gBAAAA,GAAmBC,YACtBC,CAAAA,gBAAgB,CAAC;IAChBC,WAAa,EAAA;AAAC,QAAA;AAAW;AAC3B,CAAA,CAAA,CACCC,eAAe,CAAC;IACfC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAAuC;AAChEA,gBAAAA,KAAAA,EAAO,IAAM,mBAAA;gBACbC,iBAAmB,EAAA,CAACC,QAAqCA,GAAAA,QAAAA,CAASC,IAAI;gBACtEC,YAAc,EAAA,CAACC,KAAKC,IAAS,GAAA;AACvBD,wBAAAA,GAAAA,GAAAA,EAAKE,IAAI,CAAC,EAAEC,EAAE,EAAE,IAAM;gCAAEC,IAAM,EAAA,UAAA;AAAqBD,gCAAAA;AAAG,6BAAA,MAAO,EAAE;AACnE,wBAAA;4BAAEC,IAAM,EAAA,UAAA;4BAAqBD,EAAI,EAAA;AAAO;AACzC;AACH,aAAA,CAAA;YACAE,WAAaZ,EAAAA,OAAAA,CAAQE,KAAK,CAA2D;AACnFA,gBAAAA,KAAAA,EAAO,CAACQ,EAAO,GAAA,CAAC,kBAAkB,EAAEA,GAAG,CAAC;gBACxCP,iBAAmB,EAAA,CAACC,QAAoCA,GAAAA,QAAAA,CAASC,IAAI;gBACrEC,YAAc,EAAA,CAACC,GAAKC,EAAAA,IAAAA,EAAME,EAAO,GAAA;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AACtE,aAAA,CAAA;YACAG,cAAgBb,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;gBACAZ,KAAO,EAAA,CAACa,QAAU;wBAChBC,GAAK,EAAA,mBAAA;wBACLC,MAAQ,EAAA,MAAA;wBACRZ,IAAMU,EAAAA;qBACR,CAAA;gBACAZ,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;gBACxEa,eAAiB,EAAA;AAAC,oBAAA;wBAAEP,IAAM,EAAA,UAAA;wBAAqBD,EAAI,EAAA;AAAO;AAAE;AAC9D,aAAA,CAAA;YACAS,cAAgBnB,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;gBACAZ,KAAO,EAAA,CAACQ,MAAQ;AACdM,wBAAAA,GAAAA,EAAK,CAAC,kBAAkB,EAAEN,EAAAA,CAAG,CAAC;wBAC9BO,MAAQ,EAAA;qBACV,CAAA;gBACAd,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;gBACxEa,eAAiB,EAAA,CAACE,IAAMZ,EAAAA,IAAAA,EAAME,EAAO,GAAA;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AAC1E,aAAA,CAAA;YACAW,cAAgBrB,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;AACAZ,gBAAAA,KAAAA,EAAO,CAAC,EAAEQ,EAAE,EAAE,GAAGK,IAAAA,EAAM,IAAM;AAC3BC,wBAAAA,GAAAA,EAAK,CAAC,kBAAkB,EAAEN,EAAAA,CAAG,CAAC;wBAC9BO,MAAQ,EAAA,KAAA;wBACRZ,IAAMU,EAAAA;qBACR,CAAA;gBACAZ,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;AACxEa,gBAAAA,eAAAA,EAAiB,CAACE,IAAMZ,EAAAA,IAAAA,EAAM,EAAEE,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AAC9E,aAAA;SACF;AACF,CAAA,CAAA;AAEI,MAAA,EACJY,oBAAoB,EACpBC,mBAAmB,EACnBC,yBAAyB,EACzBC,yBAAyB,EACzBC,yBAAyB,EAC1B,GAAGhC;;;;;;;;"}
1
+ {"version":3,"file":"apiTokens.js","sources":["../../../../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken', 'GuidedTourMeta'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }, 'GuidedTourMeta'],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["apiTokensService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getAPITokens","query","transformResponse","response","data","providesTags","res","_err","map","id","type","getAPIToken","createAPIToken","mutation","body","url","method","invalidatesTags","deleteAPIToken","_res","updateAPIToken","useGetAPITokensQuery","useGetAPITokenQuery","useCreateAPITokenMutation","useDeleteAPITokenMutation","useUpdateAPITokenMutation"],"mappings":"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"}
@@ -2,7 +2,8 @@ import { adminApi } from './api.mjs';
2
2
 
3
3
  const apiTokensService = adminApi.enhanceEndpoints({
4
4
  addTagTypes: [
5
- 'ApiToken'
5
+ 'ApiToken',
6
+ 'GuidedTourMeta'
6
7
  ]
7
8
  }).injectEndpoints({
8
9
  endpoints: (builder)=>({
@@ -41,7 +42,8 @@ const apiTokensService = adminApi.enhanceEndpoints({
41
42
  {
42
43
  type: 'ApiToken',
43
44
  id: 'LIST'
44
- }
45
+ },
46
+ 'GuidedTourMeta'
45
47
  ]
46
48
  }),
47
49
  deleteAPIToken: builder.mutation({
@@ -1 +1 @@
1
- {"version":3,"file":"apiTokens.mjs","sources":["../../../../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["apiTokensService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getAPITokens","query","transformResponse","response","data","providesTags","res","_err","map","id","type","getAPIToken","createAPIToken","mutation","body","url","method","invalidatesTags","deleteAPIToken","_res","updateAPIToken","useGetAPITokensQuery","useGetAPITokenQuery","useCreateAPITokenMutation","useDeleteAPITokenMutation","useUpdateAPITokenMutation"],"mappings":";;AAIA,MAAMA,gBAAAA,GAAmBC,QACtBC,CAAAA,gBAAgB,CAAC;IAChBC,WAAa,EAAA;AAAC,QAAA;AAAW;AAC3B,CAAA,CAAA,CACCC,eAAe,CAAC;IACfC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAAuC;AAChEA,gBAAAA,KAAAA,EAAO,IAAM,mBAAA;gBACbC,iBAAmB,EAAA,CAACC,QAAqCA,GAAAA,QAAAA,CAASC,IAAI;gBACtEC,YAAc,EAAA,CAACC,KAAKC,IAAS,GAAA;AACvBD,wBAAAA,GAAAA,GAAAA,EAAKE,IAAI,CAAC,EAAEC,EAAE,EAAE,IAAM;gCAAEC,IAAM,EAAA,UAAA;AAAqBD,gCAAAA;AAAG,6BAAA,MAAO,EAAE;AACnE,wBAAA;4BAAEC,IAAM,EAAA,UAAA;4BAAqBD,EAAI,EAAA;AAAO;AACzC;AACH,aAAA,CAAA;YACAE,WAAaZ,EAAAA,OAAAA,CAAQE,KAAK,CAA2D;AACnFA,gBAAAA,KAAAA,EAAO,CAACQ,EAAO,GAAA,CAAC,kBAAkB,EAAEA,GAAG,CAAC;gBACxCP,iBAAmB,EAAA,CAACC,QAAoCA,GAAAA,QAAAA,CAASC,IAAI;gBACrEC,YAAc,EAAA,CAACC,GAAKC,EAAAA,IAAAA,EAAME,EAAO,GAAA;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AACtE,aAAA,CAAA;YACAG,cAAgBb,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;gBACAZ,KAAO,EAAA,CAACa,QAAU;wBAChBC,GAAK,EAAA,mBAAA;wBACLC,MAAQ,EAAA,MAAA;wBACRZ,IAAMU,EAAAA;qBACR,CAAA;gBACAZ,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;gBACxEa,eAAiB,EAAA;AAAC,oBAAA;wBAAEP,IAAM,EAAA,UAAA;wBAAqBD,EAAI,EAAA;AAAO;AAAE;AAC9D,aAAA,CAAA;YACAS,cAAgBnB,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;gBACAZ,KAAO,EAAA,CAACQ,MAAQ;AACdM,wBAAAA,GAAAA,EAAK,CAAC,kBAAkB,EAAEN,EAAAA,CAAG,CAAC;wBAC9BO,MAAQ,EAAA;qBACV,CAAA;gBACAd,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;gBACxEa,eAAiB,EAAA,CAACE,IAAMZ,EAAAA,IAAAA,EAAME,EAAO,GAAA;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AAC1E,aAAA,CAAA;YACAW,cAAgBrB,EAAAA,OAAAA,CAAQc,QAAQ,CAG9B;AACAZ,gBAAAA,KAAAA,EAAO,CAAC,EAAEQ,EAAE,EAAE,GAAGK,IAAAA,EAAM,IAAM;AAC3BC,wBAAAA,GAAAA,EAAK,CAAC,kBAAkB,EAAEN,EAAAA,CAAG,CAAC;wBAC9BO,MAAQ,EAAA,KAAA;wBACRZ,IAAMU,EAAAA;qBACR,CAAA;gBACAZ,iBAAmB,EAAA,CAACC,QAAuCA,GAAAA,QAAAA,CAASC,IAAI;AACxEa,gBAAAA,eAAAA,EAAiB,CAACE,IAAMZ,EAAAA,IAAAA,EAAM,EAAEE,EAAE,EAAE,GAAK;AAAC,wBAAA;4BAAEC,IAAM,EAAA,UAAA;AAAqBD,4BAAAA;AAAG;AAAE;AAC9E,aAAA;SACF;AACF,CAAA,CAAA;AAEI,MAAA,EACJY,oBAAoB,EACpBC,mBAAmB,EACnBC,yBAAyB,EACzBC,yBAAyB,EACzBC,yBAAyB,EAC1B,GAAGhC;;;;"}
1
+ {"version":3,"file":"apiTokens.mjs","sources":["../../../../../admin/src/services/apiTokens.ts"],"sourcesContent":["import * as ApiToken from '../../../shared/contracts/api-token';\n\nimport { adminApi } from './api';\n\nconst apiTokensService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['ApiToken', 'GuidedTourMeta'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getAPITokens: builder.query<ApiToken.List.Response['data'], void>({\n query: () => '/admin/api-tokens',\n transformResponse: (response: ApiToken.List.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'ApiToken' as const, id })) ?? []),\n { type: 'ApiToken' as const, id: 'LIST' },\n ],\n }),\n getAPIToken: builder.query<ApiToken.Get.Response['data'], ApiToken.Get.Params['id']>({\n query: (id) => `/admin/api-tokens/${id}`,\n transformResponse: (response: ApiToken.Get.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n createAPIToken: builder.mutation<\n ApiToken.Create.Response['data'],\n ApiToken.Create.Request['body']\n >({\n query: (body) => ({\n url: '/admin/api-tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: ApiToken.Create.Response) => response.data,\n invalidatesTags: [{ type: 'ApiToken' as const, id: 'LIST' }, 'GuidedTourMeta'],\n }),\n deleteAPIToken: builder.mutation<\n ApiToken.Revoke.Response['data'],\n ApiToken.Revoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: ApiToken.Revoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'ApiToken' as const, id }],\n }),\n updateAPIToken: builder.mutation<\n ApiToken.Update.Response['data'],\n ApiToken.Update.Params & ApiToken.Update.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/api-tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: ApiToken.Update.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'ApiToken' as const, id }],\n }),\n }),\n });\n\nconst {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n} = apiTokensService;\n\nexport {\n useGetAPITokensQuery,\n useGetAPITokenQuery,\n useCreateAPITokenMutation,\n useDeleteAPITokenMutation,\n useUpdateAPITokenMutation,\n};\n"],"names":["apiTokensService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getAPITokens","query","transformResponse","response","data","providesTags","res","_err","map","id","type","getAPIToken","createAPIToken","mutation","body","url","method","invalidatesTags","deleteAPIToken","_res","updateAPIToken","useGetAPITokensQuery","useGetAPITokenQuery","useCreateAPITokenMutation","useDeleteAPITokenMutation","useUpdateAPITokenMutation"],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var jsonLogic = require('json-logic-js');
4
+ var zod = require('zod');
5
+
6
+ const ConditionSchema = zod.z.object({
7
+ dependsOn: zod.z.string().min(1),
8
+ operator: zod.z.enum([
9
+ 'is',
10
+ 'isNot'
11
+ ]),
12
+ value: zod.z.union([
13
+ zod.z.string(),
14
+ zod.z.number(),
15
+ zod.z.boolean()
16
+ ])
17
+ });
18
+ function createRulesEngine() {
19
+ /**
20
+ * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.
21
+ *
22
+ * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').
23
+ * Throws an error if the operator is not supported.
24
+ *
25
+ * @param condition - The condition object to convert.
26
+ * @returns A JSON Logic AST representing the condition.
27
+ * @throws {Error} If the operator is not recognized.
28
+ */ const generate = (condition)=>{
29
+ const { dependsOn, operator, value } = condition;
30
+ const operatorsMap = {
31
+ is: '==',
32
+ isNot: '!='
33
+ };
34
+ if (!operatorsMap[operator]) {
35
+ throw new Error(`Invalid operator: ${operator}`);
36
+ }
37
+ return {
38
+ [operatorsMap[operator]]: [
39
+ {
40
+ var: dependsOn
41
+ },
42
+ value
43
+ ]
44
+ };
45
+ };
46
+ /**
47
+ * Validates a condition object against the `ConditionSchema`.
48
+ *
49
+ * Ensures that the condition adheres to the expected structure and types.
50
+ *
51
+ * @param condition - The condition object to validate.
52
+ * @throws {ZodError} If the condition is invalid.
53
+ */ const validate = (condition)=>{
54
+ ConditionSchema.parse(condition);
55
+ };
56
+ /**
57
+ * Evaluates a JSON Logic condition against provided data.
58
+ * @throws {Error} If the condition is invalid.
59
+ */ const evaluate = (condition, data)=>{
60
+ try {
61
+ return jsonLogic.apply(condition, data);
62
+ } catch (err) {
63
+ throw new Error(`Invalid condition: ${err.message}`);
64
+ }
65
+ };
66
+ return {
67
+ generate,
68
+ validate,
69
+ evaluate
70
+ };
71
+ }
72
+
73
+ exports.ConditionSchema = ConditionSchema;
74
+ exports.createRulesEngine = createRulesEngine;
75
+ //# sourceMappingURL=rulesEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesEngine.js","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;;;AAGaA,MAAAA,eAAAA,GAAkBC,KAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,KAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,KAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,KAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,KAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,KAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,KAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAM,CAAA,CAAC,kBAAkB,EAAEZ,SAAS,CAAC,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;YACjB,MAAM,IAAIR,MAAM,CAAC,mBAAmB,EAAEQ,GAAIC,CAAAA,OAAO,CAAC,CAAC,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;;"}
@@ -0,0 +1,72 @@
1
+ import jsonLogic from 'json-logic-js';
2
+ import { z } from 'zod';
3
+
4
+ const ConditionSchema = z.object({
5
+ dependsOn: z.string().min(1),
6
+ operator: z.enum([
7
+ 'is',
8
+ 'isNot'
9
+ ]),
10
+ value: z.union([
11
+ z.string(),
12
+ z.number(),
13
+ z.boolean()
14
+ ])
15
+ });
16
+ function createRulesEngine() {
17
+ /**
18
+ * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.
19
+ *
20
+ * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').
21
+ * Throws an error if the operator is not supported.
22
+ *
23
+ * @param condition - The condition object to convert.
24
+ * @returns A JSON Logic AST representing the condition.
25
+ * @throws {Error} If the operator is not recognized.
26
+ */ const generate = (condition)=>{
27
+ const { dependsOn, operator, value } = condition;
28
+ const operatorsMap = {
29
+ is: '==',
30
+ isNot: '!='
31
+ };
32
+ if (!operatorsMap[operator]) {
33
+ throw new Error(`Invalid operator: ${operator}`);
34
+ }
35
+ return {
36
+ [operatorsMap[operator]]: [
37
+ {
38
+ var: dependsOn
39
+ },
40
+ value
41
+ ]
42
+ };
43
+ };
44
+ /**
45
+ * Validates a condition object against the `ConditionSchema`.
46
+ *
47
+ * Ensures that the condition adheres to the expected structure and types.
48
+ *
49
+ * @param condition - The condition object to validate.
50
+ * @throws {ZodError} If the condition is invalid.
51
+ */ const validate = (condition)=>{
52
+ ConditionSchema.parse(condition);
53
+ };
54
+ /**
55
+ * Evaluates a JSON Logic condition against provided data.
56
+ * @throws {Error} If the condition is invalid.
57
+ */ const evaluate = (condition, data)=>{
58
+ try {
59
+ return jsonLogic.apply(condition, data);
60
+ } catch (err) {
61
+ throw new Error(`Invalid condition: ${err.message}`);
62
+ }
63
+ };
64
+ return {
65
+ generate,
66
+ validate,
67
+ evaluate
68
+ };
69
+ }
70
+
71
+ export { ConditionSchema, createRulesEngine };
72
+ //# sourceMappingURL=rulesEngine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesEngine.mjs","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;AAGaA,MAAAA,eAAAA,GAAkBC,CAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,CAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,CAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,CAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,CAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,CAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,CAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAM,CAAA,CAAC,kBAAkB,EAAEZ,SAAS,CAAC,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;YACjB,MAAM,IAAIR,MAAM,CAAC,mBAAmB,EAAEQ,GAAIC,CAAAA,OAAO,CAAC,CAAC,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;"}
@@ -35,6 +35,7 @@ var users = require('./admin/src/services/users.js');
35
35
  var translatedErrors = require('./admin/src/utils/translatedErrors.js');
36
36
  var getFetchClient = require('./admin/src/utils/getFetchClient.js');
37
37
  var baseQuery = require('./admin/src/utils/baseQuery.js');
38
+ var rulesEngine = require('./admin/src/utils/rulesEngine.js');
38
39
  var api = require('./admin/src/services/api.js');
39
40
  var Layout = require('./admin/src/components/Layouts/Layout.js');
40
41
 
@@ -85,6 +86,8 @@ exports.getFetchClient = getFetchClient.getFetchClient;
85
86
  exports.isFetchError = getFetchClient.isFetchError;
86
87
  exports.fetchBaseQuery = baseQuery.fetchBaseQuery;
87
88
  exports.isBaseQueryError = baseQuery.isBaseQueryError;
89
+ exports.ConditionSchema = rulesEngine.ConditionSchema;
90
+ exports.createRulesEngine = rulesEngine.createRulesEngine;
88
91
  exports.adminApi = api.adminApi;
89
92
  exports.Layouts = Layout.Layouts;
90
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -33,6 +33,7 @@ export { useAdminUsers } from './admin/src/services/users.mjs';
33
33
  export { translatedErrors } from './admin/src/utils/translatedErrors.mjs';
34
34
  export { FetchError, getFetchClient, isFetchError } from './admin/src/utils/getFetchClient.mjs';
35
35
  export { fetchBaseQuery, isBaseQueryError } from './admin/src/utils/baseQuery.mjs';
36
+ export { ConditionSchema, createRulesEngine } from './admin/src/utils/rulesEngine.mjs';
36
37
  export { adminApi } from './admin/src/services/api.mjs';
37
38
  export { Layouts } from './admin/src/components/Layouts/Layout.mjs';
38
39
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,12 +8,13 @@ type Action = {
8
8
  type: 'skip_tour';
9
9
  payload: ValidTourName;
10
10
  };
11
+ type Tour = Record<ValidTourName, {
12
+ currentStep: number;
13
+ length: number;
14
+ isCompleted: boolean;
15
+ }>;
11
16
  type State = {
12
- tours: Record<ValidTourName, {
13
- currentStep: number;
14
- length: number;
15
- isCompleted: boolean;
16
- }>;
17
+ tours: Tour;
17
18
  };
18
19
  declare const unstableUseGuidedTour: <Selected, ShouldThrow extends boolean = true>(consumerName: string, selector: (value: {
19
20
  state: State;
@@ -2,10 +2,13 @@ import * as React from 'react';
2
2
  import { type State, type Action } from './Context';
3
3
  import { Step } from './Step';
4
4
  declare const tours: {
5
- readonly contentManager: {
5
+ readonly TEST: {
6
6
  Introduction: React.ComponentType<{
7
7
  children: React.ReactNode;
8
8
  }>;
9
+ Done: React.ComponentType<{
10
+ children: React.ReactNode;
11
+ }>;
9
12
  };
10
13
  };
11
14
  type Tours = typeof tours;
@@ -24,9 +24,16 @@ declare const TrackingProvider: ({ children }: TrackingProviderProps) => import(
24
24
  * event so understanding which properties go with which event is very helpful.
25
25
  */
26
26
  interface EventWithoutProperties {
27
- name: 'changeComponentsOrder' | 'didAccessAuthenticatedAdministration' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease';
27
+ name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease';
28
28
  properties?: never;
29
29
  }
30
+ interface DidAccessAuthenticatedAdministrationEvent {
31
+ name: 'didAccessAuthenticatedAdministration';
32
+ properties: {
33
+ registeredWidgets: string[];
34
+ projectId: string;
35
+ };
36
+ }
30
37
  interface DidFilterMediaLibraryElementsEvent {
31
38
  name: 'didFilterMediaLibraryElements';
32
39
  properties: MediaEvents['properties'] & {
@@ -179,7 +186,7 @@ interface DidUpdateCTBSchema {
179
186
  deletedFields: number;
180
187
  };
181
188
  }
182
- type EventsWithProperties = CreateEntryEvents | PublishEntryEvents | DidAccessTokenListEvent | DidChangeModeEvent | DidCropFileEvent | DeleteEntryEvents | DidEditMediaLibraryElementsEvent | DidFilterMediaLibraryElementsEvent | DidFilterEntriesEvent | DidSelectContentTypeFieldTypeEvent | DidSelectFile | DidSortMediaLibraryElementsEvent | DidSubmitWithErrorsFirstAdminEvent | LogoEvent | TokenEvents | UpdateEntryEvents | WillModifyTokenEvent | WillNavigateEvent | DidPublishRelease | MediaEvents | DidUpdateCTBSchema;
189
+ type EventsWithProperties = CreateEntryEvents | PublishEntryEvents | DidAccessAuthenticatedAdministrationEvent | DidAccessTokenListEvent | DidChangeModeEvent | DidCropFileEvent | DeleteEntryEvents | DidEditMediaLibraryElementsEvent | DidFilterMediaLibraryElementsEvent | DidFilterEntriesEvent | DidSelectContentTypeFieldTypeEvent | DidSelectFile | DidSortMediaLibraryElementsEvent | DidSubmitWithErrorsFirstAdminEvent | LogoEvent | TokenEvents | UpdateEntryEvents | WillModifyTokenEvent | WillNavigateEvent | DidPublishRelease | MediaEvents | DidUpdateCTBSchema;
183
190
  export type TrackingEvent = EventWithoutProperties | EventsWithProperties;
184
191
  export interface UseTrackingReturn {
185
192
  /**
@@ -61,6 +61,7 @@ export type { Widget as WidgetType } from './core/apis/Widgets';
61
61
  export { translatedErrors } from './utils/translatedErrors';
62
62
  export * from './utils/getFetchClient';
63
63
  export * from './utils/baseQuery';
64
+ export * from './utils/rulesEngine';
64
65
  export * from './services/api';
65
66
  export type { CMAdminConfiguration } from './types/adminConfiguration';
66
67
  /**
@@ -1,4 +1,4 @@
1
- import { type UpdateProjectSettings, type Plugins, type GetLicenseLimitInformation } from '../../../shared/contracts/admin';
1
+ import { type UpdateProjectSettings, type Plugins, type GetLicenseLimitInformation, GetGuidedTourMeta } from '../../../shared/contracts/admin';
2
2
  interface ConfigurationLogo {
3
3
  custom?: {
4
4
  name?: string;
@@ -6,19 +6,19 @@ interface ConfigurationLogo {
6
6
  };
7
7
  default: string;
8
8
  }
9
- declare const useInitQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", {
9
+ declare const useInitQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", {
10
10
  uuid: string | false;
11
11
  hasAdmin: boolean;
12
12
  menuLogo: string | null;
13
13
  authLogo: string | null;
14
- }, "adminApi">>, useTelemetryPropertiesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", {
14
+ }, "adminApi">>, useTelemetryPropertiesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", {
15
15
  useTypescriptOnServer: boolean;
16
16
  useTypescriptOnAdmin: boolean;
17
17
  isHostedOnStrapiCloud: boolean;
18
18
  numberOfAllContentTypes: number;
19
19
  numberOfComponents: number;
20
20
  numberOfDynamicZones: number;
21
- }, "adminApi">>, useInformationQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", {
21
+ }, "adminApi">>, useInformationQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", {
22
22
  currentEnvironment: string;
23
23
  autoReload: boolean;
24
24
  strapiVersion: string | null;
@@ -27,11 +27,11 @@ declare const useInitQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks
27
27
  nodeVersion: string;
28
28
  communityEdition: boolean;
29
29
  useYarn: boolean;
30
- }, "adminApi">>, useProjectSettingsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", {
30
+ }, "adminApi">>, useProjectSettingsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", {
31
31
  authLogo?: ConfigurationLogo['custom'];
32
32
  menuLogo?: ConfigurationLogo['custom'];
33
- }, "adminApi">>, useUpdateProjectSettingsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<FormData, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", UpdateProjectSettings.Response, "adminApi">>, useGetPluginsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", Plugins.Response, "adminApi">>, useGetLicenseLimitsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", GetLicenseLimitInformation.Response, "adminApi">>, useGetLicenseTrialTimeLeftQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft", {
33
+ }, "adminApi">>, useUpdateProjectSettingsMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<FormData, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", UpdateProjectSettings.Response, "adminApi">>, useGetPluginsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", Plugins.Response, "adminApi">>, useGetLicenseLimitsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", GetLicenseLimitInformation.Response, "adminApi">>, useGetLicenseTrialTimeLeftQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", {
34
34
  trialEndsAt: string;
35
- }, "adminApi">>;
36
- export { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, };
35
+ }, "adminApi">>, useGetGuidedTourMetaQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "LicenseLimits" | "ProjectSettings" | "LicenseTrialTimeLeft" | "GuidedTourMeta", GetGuidedTourMeta.Response, "adminApi">>;
36
+ export { useInitQuery, useTelemetryPropertiesQuery, useInformationQuery, useProjectSettingsQuery, useUpdateProjectSettingsMutation, useGetPluginsQuery, useGetLicenseLimitsQuery, useGetLicenseTrialTimeLeftQuery, useGetGuidedTourMetaQuery, };
37
37
  export type { ConfigurationLogo };
@@ -1,3 +1,3 @@
1
1
  import * as ApiToken from '../../../shared/contracts/api-token';
2
- declare const useGetAPITokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "ApiToken", ApiToken.ApiToken[], "adminApi">>, useGetAPITokenQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@strapi/types/dist/data").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "ApiToken", ApiToken.ApiToken, "adminApi">>, useCreateAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<ApiToken.ApiTokenBody, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "ApiToken", ApiToken.ApiToken, "adminApi">>, useDeleteAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<import("@strapi/types/dist/data").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "ApiToken", ApiToken.ApiToken, "adminApi">>, useUpdateAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<ApiToken.Update.Params & ApiToken.ApiTokenBody, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "ApiToken", ApiToken.ApiToken, "adminApi">>;
2
+ declare const useGetAPITokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "ApiToken", ApiToken.ApiToken[], "adminApi">>, useGetAPITokenQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@strapi/types/dist/data").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "ApiToken", ApiToken.ApiToken, "adminApi">>, useCreateAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<ApiToken.ApiTokenBody, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "ApiToken", ApiToken.ApiToken, "adminApi">>, useDeleteAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<import("@strapi/types/dist/data").ID, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "ApiToken", ApiToken.ApiToken, "adminApi">>, useUpdateAPITokenMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<ApiToken.Update.Params & ApiToken.ApiTokenBody, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "ApiToken", ApiToken.ApiToken, "adminApi">>;
3
3
  export { useGetAPITokensQuery, useGetAPITokenQuery, useCreateAPITokenMutation, useDeleteAPITokenMutation, useUpdateAPITokenMutation, };
@@ -0,0 +1,23 @@
1
+ import jsonLogic from 'json-logic-js';
2
+ import { z } from 'zod';
3
+ export declare const ConditionSchema: z.ZodObject<{
4
+ dependsOn: z.ZodString;
5
+ operator: z.ZodEnum<["is", "isNot"]>;
6
+ value: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ value: string | number | boolean;
9
+ operator: "is" | "isNot";
10
+ dependsOn: string;
11
+ }, {
12
+ value: string | number | boolean;
13
+ operator: "is" | "isNot";
14
+ dependsOn: string;
15
+ }>;
16
+ export type Condition = z.infer<typeof ConditionSchema>;
17
+ export type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;
18
+ export type RulesEngine = {
19
+ generate: (condition: Condition) => JsonLogicCondition;
20
+ validate: (condition: Condition) => void;
21
+ evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;
22
+ };
23
+ export declare function createRulesEngine(): RulesEngine;
@@ -185,12 +185,7 @@ declare const getAdminEE: () => {
185
185
  path: string;
186
186
  handler: string;
187
187
  config: {
188
- policies: (string | {
189
- name: string;
190
- config: {
191
- actions: string[];
192
- };
193
- })[];
188
+ policies: string[];
194
189
  };
195
190
  }[];
196
191
  };
@@ -309,12 +304,7 @@ declare const getAdminEE: () => {
309
304
  path: string;
310
305
  handler: string;
311
306
  config: {
312
- policies: (string | {
313
- name: string;
314
- config: {
315
- actions: string[];
316
- };
317
- })[];
307
+ policies: string[];
318
308
  };
319
309
  }[];
320
310
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ee/server/src/index.ts"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA8BiB;QAAE,MAAM,EAAE,KAAK,MAAM,CAAA;KAAE;wBAWxB;QAAE,MAAM,EAAE,KAAK,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../ee/server/src/index.ts"],"names":[],"mappings":";AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA8BiB;QAAE,MAAM,EAAE,KAAK,MAAM,CAAA;KAAE;wBAWxB;QAAE,MAAM,EAAE,KAAK,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQtD,CAAC;AAEF,eAAe,UAAU,CAAC"}