@strapi/review-workflows 0.0.0-next.ce5699024a72ea224891438d5bbe39f904ec6774 → 0.0.0-next.d190a700af70e9360d767221b76cd8e815bd01aa
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.
- package/dist/admin/components/LimitsModal.js.map +1 -1
- package/dist/admin/components/LimitsModal.mjs.map +1 -1
- package/dist/admin/components/Widgets.js +142 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +140 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/index.js +26 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +26 -2
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/routes/purchase-review-workflows.js +3 -3
- package/dist/admin/routes/purchase-review-workflows.js.map +1 -1
- package/dist/admin/routes/purchase-review-workflows.mjs +5 -5
- package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -1
- package/dist/admin/routes/settings/components/Stages.js +3 -5
- package/dist/admin/routes/settings/components/Stages.js.map +1 -1
- package/dist/admin/routes/settings/components/Stages.mjs +4 -6
- package/dist/admin/routes/settings/components/Stages.mjs.map +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.js +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -1
- package/dist/admin/routes/settings/id.js +9 -2
- package/dist/admin/routes/settings/id.js.map +1 -1
- package/dist/admin/routes/settings/id.mjs +10 -3
- package/dist/admin/routes/settings/id.mjs.map +1 -1
- package/dist/admin/routes/settings/index.js +1 -0
- package/dist/admin/routes/settings/index.js.map +1 -1
- package/dist/admin/routes/settings/index.mjs +1 -0
- package/dist/admin/routes/settings/index.mjs.map +1 -1
- package/dist/admin/services/content-manager.js +18 -3
- package/dist/admin/services/content-manager.js.map +1 -1
- package/dist/admin/services/content-manager.mjs +18 -4
- package/dist/admin/services/content-manager.mjs.map +1 -1
- package/dist/admin/services/settings.js.map +1 -1
- package/dist/admin/services/settings.mjs.map +1 -1
- package/dist/admin/src/components/Widgets.d.ts +2 -0
- package/dist/admin/src/services/admin.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/content-manager.d.ts +6 -5
- package/dist/admin/src/services/settings.d.ts +3 -3
- package/dist/admin/translations/en.json.js +3 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +3 -1
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.mjs.map +1 -1
- package/dist/server/controllers/index.js +3 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs +3 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js +15 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +13 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +25 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +23 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +10 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +8 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +24 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +22 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/migrations/shorten-stage-attribute.js.map +1 -1
- package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -1
- package/dist/server/routes/index.js +3 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs +3 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/services/index.js +3 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs +3 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics/weekly-metrics.js.map +1 -1
- package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -1
- package/dist/server/services/stage-permissions.js.map +1 -1
- package/dist/server/services/stage-permissions.mjs.map +1 -1
- package/dist/server/services/stages.js.map +1 -1
- package/dist/server/services/stages.mjs.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts +6 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +2 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +15 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +4 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage.d.ts +9 -0
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +8 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +6 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +5 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +26 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import type {} from 'koa-body';\n\nimport workflows from './workflows';\nimport stages from './stages';\nimport assignees from './assignees';\n\nexport default {\n workflows,\n stages,\n assignees,\n};\n"],"names":["workflows","stages","assignees"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/controllers/index.ts"],"sourcesContent":["import type {} from 'koa-body';\n\nimport workflows from './workflows';\nimport stages from './stages';\nimport assignees from './assignees';\nimport homepage from '../homepage';\n\nexport default {\n workflows,\n stages,\n assignees,\n ...homepage.controllers,\n};\n"],"names":["workflows","stages","assignees","homepage","controllers"],"mappings":";;;;;AAOA,kBAAe;AACbA,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;AACAC,IAAAA,SAAAA;AACA,IAAA,GAAGC,SAASC;AACd,CAAE;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const createHomepageController = ()=>{
|
|
4
|
+
const homepageService = strapi.plugin('review-workflows').service('homepage');
|
|
5
|
+
return {
|
|
6
|
+
async getRecentlyAssignedDocuments () {
|
|
7
|
+
return {
|
|
8
|
+
data: await homepageService.getRecentlyAssignedDocuments()
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.createHomepageController = createHomepageController;
|
|
15
|
+
//# sourceMappingURL=homepage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.js","sources":["../../../../server/src/homepage/controllers/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { GetRecentlyAssignedDocuments } from '../../../../shared/contracts/homepage';\n\nconst createHomepageController = () => {\n const homepageService = strapi.plugin('review-workflows').service('homepage');\n\n return {\n async getRecentlyAssignedDocuments(): Promise<GetRecentlyAssignedDocuments.Response> {\n return { data: await homepageService.getRecentlyAssignedDocuments() };\n },\n } satisfies Core.Controller;\n};\n\nexport { createHomepageController };\n"],"names":["createHomepageController","homepageService","strapi","plugin","service","getRecentlyAssignedDocuments","data"],"mappings":";;AAGA,MAAMA,wBAA2B,GAAA,IAAA;AAC/B,IAAA,MAAMC,kBAAkBC,MAAOC,CAAAA,MAAM,CAAC,kBAAA,CAAA,CAAoBC,OAAO,CAAC,UAAA,CAAA;IAElE,OAAO;QACL,MAAMC,4BAAAA,CAAAA,GAAAA;YACJ,OAAO;gBAAEC,IAAM,EAAA,MAAML,gBAAgBI,4BAA4B;AAAG,aAAA;AACtE;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const createHomepageController = ()=>{
|
|
2
|
+
const homepageService = strapi.plugin('review-workflows').service('homepage');
|
|
3
|
+
return {
|
|
4
|
+
async getRecentlyAssignedDocuments () {
|
|
5
|
+
return {
|
|
6
|
+
data: await homepageService.getRecentlyAssignedDocuments()
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { createHomepageController };
|
|
13
|
+
//# sourceMappingURL=homepage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.mjs","sources":["../../../../server/src/homepage/controllers/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport type { GetRecentlyAssignedDocuments } from '../../../../shared/contracts/homepage';\n\nconst createHomepageController = () => {\n const homepageService = strapi.plugin('review-workflows').service('homepage');\n\n return {\n async getRecentlyAssignedDocuments(): Promise<GetRecentlyAssignedDocuments.Response> {\n return { data: await homepageService.getRecentlyAssignedDocuments() };\n },\n } satisfies Core.Controller;\n};\n\nexport { createHomepageController };\n"],"names":["createHomepageController","homepageService","strapi","plugin","service","getRecentlyAssignedDocuments","data"],"mappings":"AAGA,MAAMA,wBAA2B,GAAA,IAAA;AAC/B,IAAA,MAAMC,kBAAkBC,MAAOC,CAAAA,MAAM,CAAC,kBAAA,CAAA,CAAoBC,OAAO,CAAC,UAAA,CAAA;IAElE,OAAO;QACL,MAAMC,4BAAAA,CAAAA,GAAAA;YACJ,OAAO;gBAAEC,IAAM,EAAA,MAAML,gBAAgBI,4BAA4B;AAAG,aAAA;AACtE;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/homepage/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHomepageController } from './homepage';\n\nexport const controllers = {\n homepage: createHomepageController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","homepage","createHomepageController"],"mappings":";;;;MAGaA,WAAc,GAAA;IACzBC,QAAUC,EAAAA;AAKZ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/homepage/controllers/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { createHomepageController } from './homepage';\n\nexport const controllers = {\n homepage: createHomepageController,\n /**\n * Casting is needed because the types aren't aware that Strapi supports\n * passing a controller factory as the value, instead of a controller object directly\n */\n} as unknown as Plugin.LoadedPlugin['controllers'];\n"],"names":["controllers","homepage","createHomepageController"],"mappings":";;MAGaA,WAAc,GAAA;IACzBC,QAAUC,EAAAA;AAKZ;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./routes/index.js');
|
|
4
|
+
var index$1 = require('./controllers/index.js');
|
|
5
|
+
var index$2 = require('./services/index.js');
|
|
6
|
+
|
|
7
|
+
var homepage = {
|
|
8
|
+
routes: index.routes,
|
|
9
|
+
controllers: index$1.controllers,
|
|
10
|
+
services: index$2.services
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
module.exports = homepage;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/homepage/index.ts"],"sourcesContent":["import { routes } from './routes';\nimport { controllers } from './controllers';\nimport { services } from './services';\n\nexport default {\n routes,\n controllers,\n services,\n};\n"],"names":["routes","controllers","services"],"mappings":";;;;;;AAIA,eAAe;AACbA,YAAAA,YAAAA;AACAC,iBAAAA,mBAAAA;AACAC,cAAAA;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { routes } from './routes/index.mjs';
|
|
2
|
+
import { controllers } from './controllers/index.mjs';
|
|
3
|
+
import { services } from './services/index.mjs';
|
|
4
|
+
|
|
5
|
+
var homepage = {
|
|
6
|
+
routes,
|
|
7
|
+
controllers,
|
|
8
|
+
services
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { homepage as default };
|
|
12
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/homepage/index.ts"],"sourcesContent":["import { routes } from './routes';\nimport { controllers } from './controllers';\nimport { services } from './services';\n\nexport default {\n routes,\n controllers,\n services,\n};\n"],"names":["routes","controllers","services"],"mappings":";;;;AAIA,eAAe;AACbA,IAAAA,MAAAA;AACAC,IAAAA,WAAAA;AACAC,IAAAA;AACF,CAAE;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const info = {
|
|
4
|
+
pluginName: 'content-manager',
|
|
5
|
+
type: 'admin'
|
|
6
|
+
};
|
|
7
|
+
const homepageRouter = {
|
|
8
|
+
type: 'admin',
|
|
9
|
+
routes: [
|
|
10
|
+
{
|
|
11
|
+
method: 'GET',
|
|
12
|
+
info,
|
|
13
|
+
path: '/homepage/recently-assigned-documents',
|
|
14
|
+
handler: 'homepage.getRecentlyAssignedDocuments',
|
|
15
|
+
config: {
|
|
16
|
+
policies: [
|
|
17
|
+
'admin::isAuthenticatedAdmin'
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
exports.homepageRouter = homepageRouter;
|
|
25
|
+
//# sourceMappingURL=homepage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.js","sources":["../../../../server/src/homepage/routes/homepage.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst homepageRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/homepage/recently-assigned-documents',\n handler: 'homepage.getRecentlyAssignedDocuments',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { homepageRouter };\n"],"names":["info","pluginName","type","homepageRouter","routes","method","path","handler","config","policies"],"mappings":";;AAEA,MAAMA,IAAO,GAAA;IAAEC,UAAY,EAAA,iBAAA;IAAmBC,IAAM,EAAA;AAAQ,CAAA;AAE5D,MAAMC,cAAwD,GAAA;IAC5DD,IAAM,EAAA,OAAA;IACNE,MAAQ,EAAA;AACN,QAAA;YACEC,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,uCAAA;YACNC,OAAS,EAAA,uCAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const info = {
|
|
2
|
+
pluginName: 'content-manager',
|
|
3
|
+
type: 'admin'
|
|
4
|
+
};
|
|
5
|
+
const homepageRouter = {
|
|
6
|
+
type: 'admin',
|
|
7
|
+
routes: [
|
|
8
|
+
{
|
|
9
|
+
method: 'GET',
|
|
10
|
+
info,
|
|
11
|
+
path: '/homepage/recently-assigned-documents',
|
|
12
|
+
handler: 'homepage.getRecentlyAssignedDocuments',
|
|
13
|
+
config: {
|
|
14
|
+
policies: [
|
|
15
|
+
'admin::isAuthenticatedAdmin'
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { homepageRouter };
|
|
23
|
+
//# sourceMappingURL=homepage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.mjs","sources":["../../../../server/src/homepage/routes/homepage.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nconst info = { pluginName: 'content-manager', type: 'admin' };\n\nconst homepageRouter: Plugin.LoadedPlugin['routes'][string] = {\n type: 'admin',\n routes: [\n {\n method: 'GET',\n info,\n path: '/homepage/recently-assigned-documents',\n handler: 'homepage.getRecentlyAssignedDocuments',\n config: {\n policies: ['admin::isAuthenticatedAdmin'],\n },\n },\n ],\n};\n\nexport { homepageRouter };\n"],"names":["info","pluginName","type","homepageRouter","routes","method","path","handler","config","policies"],"mappings":"AAEA,MAAMA,IAAO,GAAA;IAAEC,UAAY,EAAA,iBAAA;IAAmBC,IAAM,EAAA;AAAQ,CAAA;AAE5D,MAAMC,cAAwD,GAAA;IAC5DD,IAAM,EAAA,OAAA;IACNE,MAAQ,EAAA;AACN,QAAA;YACEC,MAAQ,EAAA,KAAA;AACRL,YAAAA,IAAAA;YACAM,IAAM,EAAA,uCAAA;YACNC,OAAS,EAAA,uCAAA;YACTC,MAAQ,EAAA;gBACNC,QAAU,EAAA;AAAC,oBAAA;AAA8B;AAC3C;AACF;AACD;AACH;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/homepage/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { homepageRouter } from './homepage';\n\nexport const routes = {\n homepage: homepageRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","homepage","homepageRouter"],"mappings":";;;;MAGaA,MAAS,GAAA;IACpBC,QAAUC,EAAAA;AACZ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/homepage/routes/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\nimport { homepageRouter } from './homepage';\n\nexport const routes = {\n homepage: homepageRouter,\n} satisfies Plugin.LoadedPlugin['routes'];\n"],"names":["routes","homepage","homepageRouter"],"mappings":";;MAGaA,MAAS,GAAA;IACpBC,QAAUC,EAAAA;AACZ;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const createHomepageService = ({ strapi })=>{
|
|
4
|
+
return {
|
|
5
|
+
async getRecentlyAssignedDocuments () {
|
|
6
|
+
const userId = strapi.requestContext.get()?.state?.user.id;
|
|
7
|
+
const { queryLastDocuments, addStatusToDocuments } = strapi.plugin('content-manager').service('homepage');
|
|
8
|
+
const recentlyAssignedDocuments = await queryLastDocuments({
|
|
9
|
+
populate: [
|
|
10
|
+
'strapi_stage'
|
|
11
|
+
],
|
|
12
|
+
filters: {
|
|
13
|
+
strapi_assignee: {
|
|
14
|
+
id: userId
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return addStatusToDocuments(recentlyAssignedDocuments);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.createHomepageService = createHomepageService;
|
|
24
|
+
//# sourceMappingURL=homepage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.js","sources":["../../../../server/src/homepage/services/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { GetRecentlyAssignedDocuments } from '../../../../shared/contracts/homepage';\n\nconst createHomepageService = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async getRecentlyAssignedDocuments(): Promise<GetRecentlyAssignedDocuments.Response['data']> {\n const userId = strapi.requestContext.get()?.state?.user.id;\n const { queryLastDocuments, addStatusToDocuments } = strapi\n .plugin('content-manager')\n .service('homepage');\n\n const recentlyAssignedDocuments = await queryLastDocuments({\n populate: ['strapi_stage'],\n filters: {\n strapi_assignee: {\n id: userId,\n },\n },\n });\n\n return addStatusToDocuments(recentlyAssignedDocuments);\n },\n };\n};\n\nexport { createHomepageService };\n"],"names":["createHomepageService","strapi","getRecentlyAssignedDocuments","userId","requestContext","get","state","user","id","queryLastDocuments","addStatusToDocuments","plugin","service","recentlyAssignedDocuments","populate","filters","strapi_assignee"],"mappings":";;AAIA,MAAMA,qBAAwB,GAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAChE,OAAO;QACL,MAAMC,4BAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,SAASF,MAAOG,CAAAA,cAAc,CAACC,GAAG,EAAA,EAAIC,OAAOC,IAAKC,CAAAA,EAAAA;YACxD,MAAM,EAAEC,kBAAkB,EAAEC,oBAAoB,EAAE,GAAGT,MAAAA,CAClDU,MAAM,CAAC,iBACPC,CAAAA,CAAAA,OAAO,CAAC,UAAA,CAAA;YAEX,MAAMC,yBAAAA,GAA4B,MAAMJ,kBAAmB,CAAA;gBACzDK,QAAU,EAAA;AAAC,oBAAA;AAAe,iBAAA;gBAC1BC,OAAS,EAAA;oBACPC,eAAiB,EAAA;wBACfR,EAAIL,EAAAA;AACN;AACF;AACF,aAAA,CAAA;AAEA,YAAA,OAAOO,oBAAqBG,CAAAA,yBAAAA,CAAAA;AAC9B;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const createHomepageService = ({ strapi })=>{
|
|
2
|
+
return {
|
|
3
|
+
async getRecentlyAssignedDocuments () {
|
|
4
|
+
const userId = strapi.requestContext.get()?.state?.user.id;
|
|
5
|
+
const { queryLastDocuments, addStatusToDocuments } = strapi.plugin('content-manager').service('homepage');
|
|
6
|
+
const recentlyAssignedDocuments = await queryLastDocuments({
|
|
7
|
+
populate: [
|
|
8
|
+
'strapi_stage'
|
|
9
|
+
],
|
|
10
|
+
filters: {
|
|
11
|
+
strapi_assignee: {
|
|
12
|
+
id: userId
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return addStatusToDocuments(recentlyAssignedDocuments);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { createHomepageService };
|
|
22
|
+
//# sourceMappingURL=homepage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homepage.mjs","sources":["../../../../server/src/homepage/services/homepage.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\n\nimport type { GetRecentlyAssignedDocuments } from '../../../../shared/contracts/homepage';\n\nconst createHomepageService = ({ strapi }: { strapi: Core.Strapi }) => {\n return {\n async getRecentlyAssignedDocuments(): Promise<GetRecentlyAssignedDocuments.Response['data']> {\n const userId = strapi.requestContext.get()?.state?.user.id;\n const { queryLastDocuments, addStatusToDocuments } = strapi\n .plugin('content-manager')\n .service('homepage');\n\n const recentlyAssignedDocuments = await queryLastDocuments({\n populate: ['strapi_stage'],\n filters: {\n strapi_assignee: {\n id: userId,\n },\n },\n });\n\n return addStatusToDocuments(recentlyAssignedDocuments);\n },\n };\n};\n\nexport { createHomepageService };\n"],"names":["createHomepageService","strapi","getRecentlyAssignedDocuments","userId","requestContext","get","state","user","id","queryLastDocuments","addStatusToDocuments","plugin","service","recentlyAssignedDocuments","populate","filters","strapi_assignee"],"mappings":"AAIA,MAAMA,qBAAwB,GAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;IAChE,OAAO;QACL,MAAMC,4BAAAA,CAAAA,GAAAA;AACJ,YAAA,MAAMC,SAASF,MAAOG,CAAAA,cAAc,CAACC,GAAG,EAAA,EAAIC,OAAOC,IAAKC,CAAAA,EAAAA;YACxD,MAAM,EAAEC,kBAAkB,EAAEC,oBAAoB,EAAE,GAAGT,MAAAA,CAClDU,MAAM,CAAC,iBACPC,CAAAA,CAAAA,OAAO,CAAC,UAAA,CAAA;YAEX,MAAMC,yBAAAA,GAA4B,MAAMJ,kBAAmB,CAAA;gBACzDK,QAAU,EAAA;AAAC,oBAAA;AAAe,iBAAA;gBAC1BC,OAAS,EAAA;oBACPC,eAAiB,EAAA;wBACfR,EAAIL,EAAAA;AACN;AACF;AACF,aAAA,CAAA;AAEA,YAAA,OAAOO,oBAAqBG,CAAAA,yBAAAA,CAAAA;AAC9B;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/src/homepage/services/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nimport { createHomepageService } from './homepage';\n\nexport const services = {\n homepage: createHomepageService,\n} satisfies Plugin.LoadedPlugin['services'];\n"],"names":["services","homepage","createHomepageService"],"mappings":";;;;MAIaA,QAAW,GAAA;IACtBC,QAAUC,EAAAA;AACZ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../server/src/homepage/services/index.ts"],"sourcesContent":["import type { Plugin } from '@strapi/types';\n\nimport { createHomepageService } from './homepage';\n\nexport const services = {\n homepage: createHomepageService,\n} satisfies Plugin.LoadedPlugin['services'];\n"],"names":["services","homepage","createHomepageService"],"mappings":";;MAIaA,QAAW,GAAA;IACtBC,QAAUC,EAAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shorten-stage-attribute.js","sources":["../../../server/src/migrations/shorten-stage-attribute.ts"],"sourcesContent":["import semver from 'semver';\nimport { getOr } from 'lodash/fp';\nimport { async } from '@strapi/utils';\nimport { STAGE_MODEL_UID } from '../constants/workflows';\n\nfunction checkVersionThreshold(\n startVersion: string,\n currentVersion: string,\n thresholdVersion: string\n) {\n return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);\n}\n\n/**\n * Shorten strapi stage name\n */\nasync function migrateStageAttribute({ oldContentTypes, contentTypes }: any) {\n const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);\n const oldRWVersion = getRWVersion(oldContentTypes);\n const currentRWVersion = getRWVersion(contentTypes);\n\n const migrationNeeded = checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');\n\n // TODO: Find tables with something else than `findTables` function\n // if (migrationNeeded) {\n // const oldAttributeTableName = 'strapi_review_workflows_stage';\n // const newAttributeTableName = 'strapi_stage';\n // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));\n\n // await async.map(tables, async (tableName: string) => {\n // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);\n // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);\n\n // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.\n // if (alreadyHasNextTable) {\n // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);\n // if (!dataInTable.length) {\n // await strapi.db.connection.schema.dropTable(newTableName);\n // }\n // }\n\n // try {\n // await strapi.db.connection.schema.renameTable(tableName, newTableName);\n // } catch (e: any) {\n // strapi.log.warn(\n // `An error occurred during the migration of ${tableName} table to ${newTableName}.\\nIf ${newTableName} already exists, migration can't be done automatically.`\n // );\n // strapi.log.warn(e.message);\n // }\n // });\n // }\n}\n\nexport default migrateStageAttribute;\n"],"names":["checkVersionThreshold","startVersion","currentVersion","thresholdVersion","semver","gte","lt","migrateStageAttribute","oldContentTypes","contentTypes","getRWVersion","getOr","STAGE_MODEL_UID","oldRWVersion","currentRWVersion"],"mappings":";;;;;;AAKA,SAASA,qBACPC,CAAAA,YAAoB,EACpBC,cAAsB,EACtBC,gBAAwB,EAAA;IAExB,OAAOC,MAAAA,CAAOC,GAAG,CAACH,cAAAA,EAAgBC,qBAAqBC,MAAOE,CAAAA,EAAE,CAACL,YAAcE,EAAAA,gBAAAA,CAAAA;AACjF;AAEA;;AAEC,IACD,eAAeI,qBAAsB,CAAA,EAAEC,eAAe,EAAEC,YAAY,EAAO,EAAA;AACzE,IAAA,MAAMC,eAAeC,QAAM,CAAA,OAAA,EAAS,
|
|
1
|
+
{"version":3,"file":"shorten-stage-attribute.js","sources":["../../../server/src/migrations/shorten-stage-attribute.ts"],"sourcesContent":["import semver from 'semver';\nimport { getOr } from 'lodash/fp';\nimport { async } from '@strapi/utils';\nimport { STAGE_MODEL_UID } from '../constants/workflows';\n\nfunction checkVersionThreshold(\n startVersion: string,\n currentVersion: string,\n thresholdVersion: string\n) {\n return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);\n}\n\n/**\n * Shorten strapi stage name\n */\nasync function migrateStageAttribute({ oldContentTypes, contentTypes }: any) {\n const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);\n const oldRWVersion = getRWVersion(oldContentTypes);\n const currentRWVersion = getRWVersion(contentTypes);\n\n const migrationNeeded = checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');\n\n // TODO: Find tables with something else than `findTables` function\n // if (migrationNeeded) {\n // const oldAttributeTableName = 'strapi_review_workflows_stage';\n // const newAttributeTableName = 'strapi_stage';\n // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));\n\n // await async.map(tables, async (tableName: string) => {\n // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);\n // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);\n\n // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.\n // if (alreadyHasNextTable) {\n // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);\n // if (!dataInTable.length) {\n // await strapi.db.connection.schema.dropTable(newTableName);\n // }\n // }\n\n // try {\n // await strapi.db.connection.schema.renameTable(tableName, newTableName);\n // } catch (e: any) {\n // strapi.log.warn(\n // `An error occurred during the migration of ${tableName} table to ${newTableName}.\\nIf ${newTableName} already exists, migration can't be done automatically.`\n // );\n // strapi.log.warn(e.message);\n // }\n // });\n // }\n}\n\nexport default migrateStageAttribute;\n"],"names":["checkVersionThreshold","startVersion","currentVersion","thresholdVersion","semver","gte","lt","migrateStageAttribute","oldContentTypes","contentTypes","getRWVersion","getOr","STAGE_MODEL_UID","oldRWVersion","currentRWVersion"],"mappings":";;;;;;AAKA,SAASA,qBACPC,CAAAA,YAAoB,EACpBC,cAAsB,EACtBC,gBAAwB,EAAA;IAExB,OAAOC,MAAAA,CAAOC,GAAG,CAACH,cAAAA,EAAgBC,qBAAqBC,MAAOE,CAAAA,EAAE,CAACL,YAAcE,EAAAA,gBAAAA,CAAAA;AACjF;AAEA;;AAEC,IACD,eAAeI,qBAAsB,CAAA,EAAEC,eAAe,EAAEC,YAAY,EAAO,EAAA;AACzE,IAAA,MAAMC,eAAeC,QAAM,CAAA,OAAA,EAAS,CAAGC,EAAAA,yBAAAA,CAAgB,gBAAgB,CAAC,CAAA;AACxE,IAAA,MAAMC,eAAeH,YAAaF,CAAAA,eAAAA,CAAAA;AAClC,IAAA,MAAMM,mBAAmBJ,YAAaD,CAAAA,YAAAA,CAAAA;IAEdT,qBAAsBa,CAAAA,YAAAA,EAAcC,gBAAkB,EAAA,OAAA;AAE9E;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shorten-stage-attribute.mjs","sources":["../../../server/src/migrations/shorten-stage-attribute.ts"],"sourcesContent":["import semver from 'semver';\nimport { getOr } from 'lodash/fp';\nimport { async } from '@strapi/utils';\nimport { STAGE_MODEL_UID } from '../constants/workflows';\n\nfunction checkVersionThreshold(\n startVersion: string,\n currentVersion: string,\n thresholdVersion: string\n) {\n return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);\n}\n\n/**\n * Shorten strapi stage name\n */\nasync function migrateStageAttribute({ oldContentTypes, contentTypes }: any) {\n const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);\n const oldRWVersion = getRWVersion(oldContentTypes);\n const currentRWVersion = getRWVersion(contentTypes);\n\n const migrationNeeded = checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');\n\n // TODO: Find tables with something else than `findTables` function\n // if (migrationNeeded) {\n // const oldAttributeTableName = 'strapi_review_workflows_stage';\n // const newAttributeTableName = 'strapi_stage';\n // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));\n\n // await async.map(tables, async (tableName: string) => {\n // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);\n // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);\n\n // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.\n // if (alreadyHasNextTable) {\n // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);\n // if (!dataInTable.length) {\n // await strapi.db.connection.schema.dropTable(newTableName);\n // }\n // }\n\n // try {\n // await strapi.db.connection.schema.renameTable(tableName, newTableName);\n // } catch (e: any) {\n // strapi.log.warn(\n // `An error occurred during the migration of ${tableName} table to ${newTableName}.\\nIf ${newTableName} already exists, migration can't be done automatically.`\n // );\n // strapi.log.warn(e.message);\n // }\n // });\n // }\n}\n\nexport default migrateStageAttribute;\n"],"names":["checkVersionThreshold","startVersion","currentVersion","thresholdVersion","semver","gte","lt","migrateStageAttribute","oldContentTypes","contentTypes","getRWVersion","getOr","STAGE_MODEL_UID","oldRWVersion","currentRWVersion"],"mappings":";;;;AAKA,SAASA,qBACPC,CAAAA,YAAoB,EACpBC,cAAsB,EACtBC,gBAAwB,EAAA;IAExB,OAAOC,MAAAA,CAAOC,GAAG,CAACH,cAAAA,EAAgBC,qBAAqBC,MAAOE,CAAAA,EAAE,CAACL,YAAcE,EAAAA,gBAAAA,CAAAA;AACjF;AAEA;;AAEC,IACD,eAAeI,qBAAsB,CAAA,EAAEC,eAAe,EAAEC,YAAY,EAAO,EAAA;AACzE,IAAA,MAAMC,eAAeC,KAAM,CAAA,OAAA,EAAS,
|
|
1
|
+
{"version":3,"file":"shorten-stage-attribute.mjs","sources":["../../../server/src/migrations/shorten-stage-attribute.ts"],"sourcesContent":["import semver from 'semver';\nimport { getOr } from 'lodash/fp';\nimport { async } from '@strapi/utils';\nimport { STAGE_MODEL_UID } from '../constants/workflows';\n\nfunction checkVersionThreshold(\n startVersion: string,\n currentVersion: string,\n thresholdVersion: string\n) {\n return semver.gte(currentVersion, thresholdVersion) && semver.lt(startVersion, thresholdVersion);\n}\n\n/**\n * Shorten strapi stage name\n */\nasync function migrateStageAttribute({ oldContentTypes, contentTypes }: any) {\n const getRWVersion = getOr('0.0.0', `${STAGE_MODEL_UID}.options.version`);\n const oldRWVersion = getRWVersion(oldContentTypes);\n const currentRWVersion = getRWVersion(contentTypes);\n\n const migrationNeeded = checkVersionThreshold(oldRWVersion, currentRWVersion, '1.1.0');\n\n // TODO: Find tables with something else than `findTables` function\n // if (migrationNeeded) {\n // const oldAttributeTableName = 'strapi_review_workflows_stage';\n // const newAttributeTableName = 'strapi_stage';\n // // const tables = await findTables({ strapi }, new RegExp(oldAttributeTableName));\n\n // await async.map(tables, async (tableName: string) => {\n // const newTableName = tableName.replace(oldAttributeTableName, newAttributeTableName);\n // const alreadyHasNextTable = await strapi.db.connection.schema.hasTable(newTableName);\n\n // // The table can be already created but empty. In order to rename the old one, we need to drop the previously created empty one.\n // if (alreadyHasNextTable) {\n // const dataInTable = await strapi.db.connection(newTableName).select().limit(1);\n // if (!dataInTable.length) {\n // await strapi.db.connection.schema.dropTable(newTableName);\n // }\n // }\n\n // try {\n // await strapi.db.connection.schema.renameTable(tableName, newTableName);\n // } catch (e: any) {\n // strapi.log.warn(\n // `An error occurred during the migration of ${tableName} table to ${newTableName}.\\nIf ${newTableName} already exists, migration can't be done automatically.`\n // );\n // strapi.log.warn(e.message);\n // }\n // });\n // }\n}\n\nexport default migrateStageAttribute;\n"],"names":["checkVersionThreshold","startVersion","currentVersion","thresholdVersion","semver","gte","lt","migrateStageAttribute","oldContentTypes","contentTypes","getRWVersion","getOr","STAGE_MODEL_UID","oldRWVersion","currentRWVersion"],"mappings":";;;;AAKA,SAASA,qBACPC,CAAAA,YAAoB,EACpBC,cAAsB,EACtBC,gBAAwB,EAAA;IAExB,OAAOC,MAAAA,CAAOC,GAAG,CAACH,cAAAA,EAAgBC,qBAAqBC,MAAOE,CAAAA,EAAE,CAACL,YAAcE,EAAAA,gBAAAA,CAAAA;AACjF;AAEA;;AAEC,IACD,eAAeI,qBAAsB,CAAA,EAAEC,eAAe,EAAEC,YAAY,EAAO,EAAA;AACzE,IAAA,MAAMC,eAAeC,KAAM,CAAA,OAAA,EAAS,CAAGC,EAAAA,eAAAA,CAAgB,gBAAgB,CAAC,CAAA;AACxE,IAAA,MAAMC,eAAeH,YAAaF,CAAAA,eAAAA,CAAAA;AAClC,IAAA,MAAMM,mBAAmBJ,YAAaD,CAAAA,YAAAA,CAAAA;IAEdT,qBAAsBa,CAAAA,YAAAA,EAAcC,gBAAkB,EAAA,OAAA;AAE9E;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF;;;;"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var reviewWorkflows = require('./review-workflows.js');
|
|
4
|
+
var index = require('../homepage/index.js');
|
|
4
5
|
|
|
5
6
|
var routes = {
|
|
6
|
-
'review-workflows': reviewWorkflows
|
|
7
|
+
'review-workflows': reviewWorkflows,
|
|
8
|
+
...index.routes
|
|
7
9
|
};
|
|
8
10
|
|
|
9
11
|
module.exports = routes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n};\n"],"names":["reviewWorkflows"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\nimport homepage from '../homepage';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n ...homepage.routes,\n};\n"],"names":["reviewWorkflows","homepage","routes"],"mappings":";;;;;AAGA,aAAe;IACb,kBAAoBA,EAAAA,eAAAA;AACpB,IAAA,GAAGC,MAASC;AACd,CAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n};\n"],"names":["reviewWorkflows"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/routes/index.ts"],"sourcesContent":["import reviewWorkflows from './review-workflows';\nimport homepage from '../homepage';\n\nexport default {\n 'review-workflows': reviewWorkflows,\n ...homepage.routes,\n};\n"],"names":["reviewWorkflows","homepage","routes"],"mappings":";;;AAGA,aAAe;IACb,kBAAoBA,EAAAA,eAAAA;AACpB,IAAA,GAAGC,SAASC;AACd,CAAE;;;;"}
|
|
@@ -8,6 +8,7 @@ var validation = require('./validation.js');
|
|
|
8
8
|
var index = require('./metrics/index.js');
|
|
9
9
|
var weeklyMetrics = require('./metrics/weekly-metrics.js');
|
|
10
10
|
var documentServiceMiddleware = require('./document-service-middleware.js');
|
|
11
|
+
var index$1 = require('../homepage/index.js');
|
|
11
12
|
|
|
12
13
|
var services = {
|
|
13
14
|
workflows,
|
|
@@ -17,7 +18,8 @@ var services = {
|
|
|
17
18
|
validation: validation,
|
|
18
19
|
'document-service-middlewares': documentServiceMiddleware,
|
|
19
20
|
'workflow-metrics': index.default,
|
|
20
|
-
'workflow-weekly-metrics': weeklyMetrics
|
|
21
|
+
'workflow-weekly-metrics': weeklyMetrics,
|
|
22
|
+
...index$1.services
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
module.exports = services;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../server/src/services/index.ts"],"sourcesContent":["import workflows from './workflows';\nimport stages from './stages';\nimport stagePermissions from './stage-permissions';\nimport assignees from './assignees';\nimport reviewWorkflowsValidation from './validation';\nimport reviewWorkflowsMetrics from './metrics';\nimport reviewWorkflowsWeeklyMetrics from './metrics/weekly-metrics';\nimport documentServiceMiddleware from './document-service-middleware';\n\nexport default {\n workflows,\n stages,\n 'stage-permissions': stagePermissions,\n assignees,\n validation: reviewWorkflowsValidation,\n 'document-service-middlewares': documentServiceMiddleware,\n 'workflow-metrics': reviewWorkflowsMetrics,\n 'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics,\n};\n"],"names":["workflows","stages","stagePermissions","assignees","validation","reviewWorkflowsValidation","documentServiceMiddleware","reviewWorkflowsMetrics","reviewWorkflowsWeeklyMetrics"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../server/src/services/index.ts"],"sourcesContent":["import workflows from './workflows';\nimport stages from './stages';\nimport stagePermissions from './stage-permissions';\nimport assignees from './assignees';\nimport reviewWorkflowsValidation from './validation';\nimport reviewWorkflowsMetrics from './metrics';\nimport reviewWorkflowsWeeklyMetrics from './metrics/weekly-metrics';\nimport documentServiceMiddleware from './document-service-middleware';\nimport homepage from '../homepage';\n\nexport default {\n workflows,\n stages,\n 'stage-permissions': stagePermissions,\n assignees,\n validation: reviewWorkflowsValidation,\n 'document-service-middlewares': documentServiceMiddleware,\n 'workflow-metrics': reviewWorkflowsMetrics,\n 'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics,\n ...homepage.services,\n};\n"],"names":["workflows","stages","stagePermissions","assignees","validation","reviewWorkflowsValidation","documentServiceMiddleware","reviewWorkflowsMetrics","reviewWorkflowsWeeklyMetrics","homepage","services"],"mappings":";;;;;;;;;;;;AAUA,eAAe;AACbA,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,mBAAqBC,EAAAA,gBAAAA;AACrBC,IAAAA,SAAAA;IACAC,UAAYC,EAAAA,UAAAA;IACZ,8BAAgCC,EAAAA,yBAAAA;IAChC,kBAAoBC,EAAAA,aAAAA;IACpB,yBAA2BC,EAAAA,aAAAA;AAC3B,IAAA,GAAGC,QAASC;AACd,CAAE;;;;"}
|
|
@@ -6,6 +6,7 @@ import reviewWorkflowsValidation from './validation.mjs';
|
|
|
6
6
|
import reviewWorkflowsMetrics from './metrics/index.mjs';
|
|
7
7
|
import reviewWorkflowsWeeklyMetrics from './metrics/weekly-metrics.mjs';
|
|
8
8
|
import documentServiceMiddleware from './document-service-middleware.mjs';
|
|
9
|
+
import homepage from '../homepage/index.mjs';
|
|
9
10
|
|
|
10
11
|
var services = {
|
|
11
12
|
workflows,
|
|
@@ -15,7 +16,8 @@ var services = {
|
|
|
15
16
|
validation: reviewWorkflowsValidation,
|
|
16
17
|
'document-service-middlewares': documentServiceMiddleware,
|
|
17
18
|
'workflow-metrics': reviewWorkflowsMetrics,
|
|
18
|
-
'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics
|
|
19
|
+
'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics,
|
|
20
|
+
...homepage.services
|
|
19
21
|
};
|
|
20
22
|
|
|
21
23
|
export { services as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../server/src/services/index.ts"],"sourcesContent":["import workflows from './workflows';\nimport stages from './stages';\nimport stagePermissions from './stage-permissions';\nimport assignees from './assignees';\nimport reviewWorkflowsValidation from './validation';\nimport reviewWorkflowsMetrics from './metrics';\nimport reviewWorkflowsWeeklyMetrics from './metrics/weekly-metrics';\nimport documentServiceMiddleware from './document-service-middleware';\n\nexport default {\n workflows,\n stages,\n 'stage-permissions': stagePermissions,\n assignees,\n validation: reviewWorkflowsValidation,\n 'document-service-middlewares': documentServiceMiddleware,\n 'workflow-metrics': reviewWorkflowsMetrics,\n 'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics,\n};\n"],"names":["workflows","stages","stagePermissions","assignees","validation","reviewWorkflowsValidation","documentServiceMiddleware","reviewWorkflowsMetrics","reviewWorkflowsWeeklyMetrics"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../server/src/services/index.ts"],"sourcesContent":["import workflows from './workflows';\nimport stages from './stages';\nimport stagePermissions from './stage-permissions';\nimport assignees from './assignees';\nimport reviewWorkflowsValidation from './validation';\nimport reviewWorkflowsMetrics from './metrics';\nimport reviewWorkflowsWeeklyMetrics from './metrics/weekly-metrics';\nimport documentServiceMiddleware from './document-service-middleware';\nimport homepage from '../homepage';\n\nexport default {\n workflows,\n stages,\n 'stage-permissions': stagePermissions,\n assignees,\n validation: reviewWorkflowsValidation,\n 'document-service-middlewares': documentServiceMiddleware,\n 'workflow-metrics': reviewWorkflowsMetrics,\n 'workflow-weekly-metrics': reviewWorkflowsWeeklyMetrics,\n ...homepage.services,\n};\n"],"names":["workflows","stages","stagePermissions","assignees","validation","reviewWorkflowsValidation","documentServiceMiddleware","reviewWorkflowsMetrics","reviewWorkflowsWeeklyMetrics","homepage","services"],"mappings":";;;;;;;;;;AAUA,eAAe;AACbA,IAAAA,SAAAA;AACAC,IAAAA,MAAAA;IACA,mBAAqBC,EAAAA,gBAAAA;AACrBC,IAAAA,SAAAA;IACAC,UAAYC,EAAAA,yBAAAA;IACZ,8BAAgCC,EAAAA,yBAAAA;IAChC,kBAAoBC,EAAAA,sBAAAA;IACpB,yBAA2BC,EAAAA,4BAAAA;AAC3B,IAAA,GAAGC,SAASC;AACd,CAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weekly-metrics.js","sources":["../../../../server/src/services/metrics/weekly-metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { flow, map, sum, size, mean, max, defaultTo } from 'lodash/fp';\nimport { add } from 'date-fns';\nimport { getService } from '../../utils';\n\nconst ONE_WEEK = 7 * 24 * 60 * 60 * 1000;\n\nconst getWeeklyCronScheduleAt = (date: Date) =>\n `${date.getSeconds()} ${date.getMinutes()} ${date.getHours()} * * ${date.getDay()}`;\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const metrics = getService('workflow-metrics', { strapi });\n const workflowsService = getService('workflows', { strapi });\n\n const getMetricsStoreValue = async () => {\n const value = await strapi.store.get({ type: 'plugin', name: 'ee', key: 'metrics' });\n return defaultTo({}, value);\n };\n\n const setMetricsStoreValue = (value: unknown) =>\n strapi.store.set({ type: 'plugin', name: 'ee', key: 'metrics', value });\n\n return {\n async computeMetrics() {\n // There will never be more than 200 workflow, so we can safely fetch them all\n const workflows = await workflowsService.find({ populate: 'stages' });\n\n const stagesCount = flow(\n map('stages'), // Number of stages per workflow\n map(size)\n )(workflows);\n\n const contentTypesCount = flow(\n map('contentTypes'), // Number of content types per workflow\n map(size)\n )(workflows);\n\n return {\n numberOfActiveWorkflows: size(workflows),\n avgStagesCount: mean(stagesCount),\n maxStagesCount: max(stagesCount),\n activatedContentTypes: sum(contentTypesCount),\n };\n },\n\n async sendMetrics() {\n const computedMetrics = await this.computeMetrics();\n metrics.sendDidSendReviewWorkflowPropertiesOnceAWeek(computedMetrics);\n\n const metricsInfoStored = await getMetricsStoreValue();\n // @ts-expect-error metricsInfoStored can use spread\n await setMetricsStoreValue({ ...metricsInfoStored, lastWeeklyUpdate: new Date().getTime() });\n },\n\n async ensureWeeklyStoredCronSchedule() {\n const metricsInfoStored: any = await getMetricsStoreValue();\n const { weeklySchedule: currentSchedule, lastWeeklyUpdate } = metricsInfoStored;\n\n const now = new Date();\n let weeklySchedule = currentSchedule;\n\n if (!currentSchedule || !lastWeeklyUpdate || lastWeeklyUpdate + ONE_WEEK < now.getTime()) {\n weeklySchedule = getWeeklyCronScheduleAt(add(now, { seconds: 15 }));\n await setMetricsStoreValue({ ...metricsInfoStored, weeklySchedule });\n }\n\n return weeklySchedule;\n },\n\n async registerCron() {\n const weeklySchedule = await this.ensureWeeklyStoredCronSchedule();\n\n strapi.cron.add({\n reviewWorkflowsWeekly: {\n task: this.sendMetrics.bind(this),\n options: weeklySchedule,\n },\n });\n },\n };\n};\n"],"names":["ONE_WEEK","getWeeklyCronScheduleAt","date","getSeconds","getMinutes","getHours","getDay","strapi","metrics","getService","workflowsService","getMetricsStoreValue","value","store","get","type","name","key","defaultTo","setMetricsStoreValue","set","computeMetrics","workflows","find","populate","stagesCount","flow","map","size","contentTypesCount","numberOfActiveWorkflows","avgStagesCount","mean","maxStagesCount","max","activatedContentTypes","sum","sendMetrics","computedMetrics","sendDidSendReviewWorkflowPropertiesOnceAWeek","metricsInfoStored","lastWeeklyUpdate","Date","getTime","ensureWeeklyStoredCronSchedule","weeklySchedule","currentSchedule","now","add","seconds","registerCron","cron","reviewWorkflowsWeekly","task","bind","options"],"mappings":";;;;;;AAKA,MAAMA,QAAW,GAAA,CAAA,GAAI,EAAK,GAAA,EAAA,GAAK,EAAK,GAAA,IAAA;AAEpC,MAAMC,uBAAAA,GAA0B,CAACC,IAC/B,GAAA,
|
|
1
|
+
{"version":3,"file":"weekly-metrics.js","sources":["../../../../server/src/services/metrics/weekly-metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { flow, map, sum, size, mean, max, defaultTo } from 'lodash/fp';\nimport { add } from 'date-fns';\nimport { getService } from '../../utils';\n\nconst ONE_WEEK = 7 * 24 * 60 * 60 * 1000;\n\nconst getWeeklyCronScheduleAt = (date: Date) =>\n `${date.getSeconds()} ${date.getMinutes()} ${date.getHours()} * * ${date.getDay()}`;\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const metrics = getService('workflow-metrics', { strapi });\n const workflowsService = getService('workflows', { strapi });\n\n const getMetricsStoreValue = async () => {\n const value = await strapi.store.get({ type: 'plugin', name: 'ee', key: 'metrics' });\n return defaultTo({}, value);\n };\n\n const setMetricsStoreValue = (value: unknown) =>\n strapi.store.set({ type: 'plugin', name: 'ee', key: 'metrics', value });\n\n return {\n async computeMetrics() {\n // There will never be more than 200 workflow, so we can safely fetch them all\n const workflows = await workflowsService.find({ populate: 'stages' });\n\n const stagesCount = flow(\n map('stages'), // Number of stages per workflow\n map(size)\n )(workflows);\n\n const contentTypesCount = flow(\n map('contentTypes'), // Number of content types per workflow\n map(size)\n )(workflows);\n\n return {\n numberOfActiveWorkflows: size(workflows),\n avgStagesCount: mean(stagesCount),\n maxStagesCount: max(stagesCount),\n activatedContentTypes: sum(contentTypesCount),\n };\n },\n\n async sendMetrics() {\n const computedMetrics = await this.computeMetrics();\n metrics.sendDidSendReviewWorkflowPropertiesOnceAWeek(computedMetrics);\n\n const metricsInfoStored = await getMetricsStoreValue();\n // @ts-expect-error metricsInfoStored can use spread\n await setMetricsStoreValue({ ...metricsInfoStored, lastWeeklyUpdate: new Date().getTime() });\n },\n\n async ensureWeeklyStoredCronSchedule() {\n const metricsInfoStored: any = await getMetricsStoreValue();\n const { weeklySchedule: currentSchedule, lastWeeklyUpdate } = metricsInfoStored;\n\n const now = new Date();\n let weeklySchedule = currentSchedule;\n\n if (!currentSchedule || !lastWeeklyUpdate || lastWeeklyUpdate + ONE_WEEK < now.getTime()) {\n weeklySchedule = getWeeklyCronScheduleAt(add(now, { seconds: 15 }));\n await setMetricsStoreValue({ ...metricsInfoStored, weeklySchedule });\n }\n\n return weeklySchedule;\n },\n\n async registerCron() {\n const weeklySchedule = await this.ensureWeeklyStoredCronSchedule();\n\n strapi.cron.add({\n reviewWorkflowsWeekly: {\n task: this.sendMetrics.bind(this),\n options: weeklySchedule,\n },\n });\n },\n };\n};\n"],"names":["ONE_WEEK","getWeeklyCronScheduleAt","date","getSeconds","getMinutes","getHours","getDay","strapi","metrics","getService","workflowsService","getMetricsStoreValue","value","store","get","type","name","key","defaultTo","setMetricsStoreValue","set","computeMetrics","workflows","find","populate","stagesCount","flow","map","size","contentTypesCount","numberOfActiveWorkflows","avgStagesCount","mean","maxStagesCount","max","activatedContentTypes","sum","sendMetrics","computedMetrics","sendDidSendReviewWorkflowPropertiesOnceAWeek","metricsInfoStored","lastWeeklyUpdate","Date","getTime","ensureWeeklyStoredCronSchedule","weeklySchedule","currentSchedule","now","add","seconds","registerCron","cron","reviewWorkflowsWeekly","task","bind","options"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weekly-metrics.mjs","sources":["../../../../server/src/services/metrics/weekly-metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { flow, map, sum, size, mean, max, defaultTo } from 'lodash/fp';\nimport { add } from 'date-fns';\nimport { getService } from '../../utils';\n\nconst ONE_WEEK = 7 * 24 * 60 * 60 * 1000;\n\nconst getWeeklyCronScheduleAt = (date: Date) =>\n `${date.getSeconds()} ${date.getMinutes()} ${date.getHours()} * * ${date.getDay()}`;\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const metrics = getService('workflow-metrics', { strapi });\n const workflowsService = getService('workflows', { strapi });\n\n const getMetricsStoreValue = async () => {\n const value = await strapi.store.get({ type: 'plugin', name: 'ee', key: 'metrics' });\n return defaultTo({}, value);\n };\n\n const setMetricsStoreValue = (value: unknown) =>\n strapi.store.set({ type: 'plugin', name: 'ee', key: 'metrics', value });\n\n return {\n async computeMetrics() {\n // There will never be more than 200 workflow, so we can safely fetch them all\n const workflows = await workflowsService.find({ populate: 'stages' });\n\n const stagesCount = flow(\n map('stages'), // Number of stages per workflow\n map(size)\n )(workflows);\n\n const contentTypesCount = flow(\n map('contentTypes'), // Number of content types per workflow\n map(size)\n )(workflows);\n\n return {\n numberOfActiveWorkflows: size(workflows),\n avgStagesCount: mean(stagesCount),\n maxStagesCount: max(stagesCount),\n activatedContentTypes: sum(contentTypesCount),\n };\n },\n\n async sendMetrics() {\n const computedMetrics = await this.computeMetrics();\n metrics.sendDidSendReviewWorkflowPropertiesOnceAWeek(computedMetrics);\n\n const metricsInfoStored = await getMetricsStoreValue();\n // @ts-expect-error metricsInfoStored can use spread\n await setMetricsStoreValue({ ...metricsInfoStored, lastWeeklyUpdate: new Date().getTime() });\n },\n\n async ensureWeeklyStoredCronSchedule() {\n const metricsInfoStored: any = await getMetricsStoreValue();\n const { weeklySchedule: currentSchedule, lastWeeklyUpdate } = metricsInfoStored;\n\n const now = new Date();\n let weeklySchedule = currentSchedule;\n\n if (!currentSchedule || !lastWeeklyUpdate || lastWeeklyUpdate + ONE_WEEK < now.getTime()) {\n weeklySchedule = getWeeklyCronScheduleAt(add(now, { seconds: 15 }));\n await setMetricsStoreValue({ ...metricsInfoStored, weeklySchedule });\n }\n\n return weeklySchedule;\n },\n\n async registerCron() {\n const weeklySchedule = await this.ensureWeeklyStoredCronSchedule();\n\n strapi.cron.add({\n reviewWorkflowsWeekly: {\n task: this.sendMetrics.bind(this),\n options: weeklySchedule,\n },\n });\n },\n };\n};\n"],"names":["ONE_WEEK","getWeeklyCronScheduleAt","date","getSeconds","getMinutes","getHours","getDay","strapi","metrics","getService","workflowsService","getMetricsStoreValue","value","store","get","type","name","key","defaultTo","setMetricsStoreValue","set","computeMetrics","workflows","find","populate","stagesCount","flow","map","size","contentTypesCount","numberOfActiveWorkflows","avgStagesCount","mean","maxStagesCount","max","activatedContentTypes","sum","sendMetrics","computedMetrics","sendDidSendReviewWorkflowPropertiesOnceAWeek","metricsInfoStored","lastWeeklyUpdate","Date","getTime","ensureWeeklyStoredCronSchedule","weeklySchedule","currentSchedule","now","add","seconds","registerCron","cron","reviewWorkflowsWeekly","task","bind","options"],"mappings":";;;;AAKA,MAAMA,QAAW,GAAA,CAAA,GAAI,EAAK,GAAA,EAAA,GAAK,EAAK,GAAA,IAAA;AAEpC,MAAMC,uBAAAA,GAA0B,CAACC,IAC/B,GAAA,
|
|
1
|
+
{"version":3,"file":"weekly-metrics.mjs","sources":["../../../../server/src/services/metrics/weekly-metrics.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { flow, map, sum, size, mean, max, defaultTo } from 'lodash/fp';\nimport { add } from 'date-fns';\nimport { getService } from '../../utils';\n\nconst ONE_WEEK = 7 * 24 * 60 * 60 * 1000;\n\nconst getWeeklyCronScheduleAt = (date: Date) =>\n `${date.getSeconds()} ${date.getMinutes()} ${date.getHours()} * * ${date.getDay()}`;\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const metrics = getService('workflow-metrics', { strapi });\n const workflowsService = getService('workflows', { strapi });\n\n const getMetricsStoreValue = async () => {\n const value = await strapi.store.get({ type: 'plugin', name: 'ee', key: 'metrics' });\n return defaultTo({}, value);\n };\n\n const setMetricsStoreValue = (value: unknown) =>\n strapi.store.set({ type: 'plugin', name: 'ee', key: 'metrics', value });\n\n return {\n async computeMetrics() {\n // There will never be more than 200 workflow, so we can safely fetch them all\n const workflows = await workflowsService.find({ populate: 'stages' });\n\n const stagesCount = flow(\n map('stages'), // Number of stages per workflow\n map(size)\n )(workflows);\n\n const contentTypesCount = flow(\n map('contentTypes'), // Number of content types per workflow\n map(size)\n )(workflows);\n\n return {\n numberOfActiveWorkflows: size(workflows),\n avgStagesCount: mean(stagesCount),\n maxStagesCount: max(stagesCount),\n activatedContentTypes: sum(contentTypesCount),\n };\n },\n\n async sendMetrics() {\n const computedMetrics = await this.computeMetrics();\n metrics.sendDidSendReviewWorkflowPropertiesOnceAWeek(computedMetrics);\n\n const metricsInfoStored = await getMetricsStoreValue();\n // @ts-expect-error metricsInfoStored can use spread\n await setMetricsStoreValue({ ...metricsInfoStored, lastWeeklyUpdate: new Date().getTime() });\n },\n\n async ensureWeeklyStoredCronSchedule() {\n const metricsInfoStored: any = await getMetricsStoreValue();\n const { weeklySchedule: currentSchedule, lastWeeklyUpdate } = metricsInfoStored;\n\n const now = new Date();\n let weeklySchedule = currentSchedule;\n\n if (!currentSchedule || !lastWeeklyUpdate || lastWeeklyUpdate + ONE_WEEK < now.getTime()) {\n weeklySchedule = getWeeklyCronScheduleAt(add(now, { seconds: 15 }));\n await setMetricsStoreValue({ ...metricsInfoStored, weeklySchedule });\n }\n\n return weeklySchedule;\n },\n\n async registerCron() {\n const weeklySchedule = await this.ensureWeeklyStoredCronSchedule();\n\n strapi.cron.add({\n reviewWorkflowsWeekly: {\n task: this.sendMetrics.bind(this),\n options: weeklySchedule,\n },\n });\n },\n };\n};\n"],"names":["ONE_WEEK","getWeeklyCronScheduleAt","date","getSeconds","getMinutes","getHours","getDay","strapi","metrics","getService","workflowsService","getMetricsStoreValue","value","store","get","type","name","key","defaultTo","setMetricsStoreValue","set","computeMetrics","workflows","find","populate","stagesCount","flow","map","size","contentTypesCount","numberOfActiveWorkflows","avgStagesCount","mean","maxStagesCount","max","activatedContentTypes","sum","sendMetrics","computedMetrics","sendDidSendReviewWorkflowPropertiesOnceAWeek","metricsInfoStored","lastWeeklyUpdate","Date","getTime","ensureWeeklyStoredCronSchedule","weeklySchedule","currentSchedule","now","add","seconds","registerCron","cron","reviewWorkflowsWeekly","task","bind","options"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-permissions.js","sources":["../../../server/src/services/stage-permissions.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { prop } from 'lodash/fp';\nimport { async, errors } from '@strapi/utils';\nimport { getService, getAdminService } from '../utils';\nimport { STAGE_TRANSITION_UID } from '../constants/workflows';\n\nconst { ApplicationError } = errors;\nconst validActions = [STAGE_TRANSITION_UID];\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const roleService = getAdminService('role');\n const permissionService = getAdminService('permission');\n\n return {\n async register({ roleId, action, fromStage }: any) {\n if (!validActions.includes(action)) {\n throw new ApplicationError(`Invalid action ${action}`);\n }\n const permissions = await roleService.addPermissions(roleId, [\n {\n action,\n actionParameters: {\n from: fromStage,\n },\n },\n ]);\n\n // TODO: Filter response\n return permissions;\n },\n async registerMany(permissions: any) {\n return async.map(permissions, this.register);\n },\n async unregister(permissions: any) {\n const permissionIds = permissions.map(prop('id'));\n await permissionService.deleteByIds(permissionIds);\n },\n can(action: any, fromStage: any) {\n const requestState = strapi.requestContext.get()?.state;\n\n if (!requestState) {\n return false;\n }\n\n // Override permissions for super admin\n const userRoles = requestState.user?.roles;\n if (userRoles?.some((role: any) => role.code === 'strapi-super-admin')) {\n return true;\n }\n\n return requestState.userAbility.can({\n name: action,\n params: { from: fromStage },\n });\n },\n };\n};\n"],"names":["ApplicationError","errors","validActions","STAGE_TRANSITION_UID","strapi","roleService","getAdminService","permissionService","register","roleId","action","fromStage","includes","permissions","addPermissions","actionParameters","from","registerMany","async","map","unregister","permissionIds","prop","deleteByIds","can","requestState","requestContext","get","state","userRoles","user","roles","some","role","code","userAbility","name","params"],"mappings":";;;;;;;AAMA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,YAAAA;AAC7B,MAAMC,YAAe,GAAA;AAACC,IAAAA;AAAqB,CAAA;AAE3C,uBAAe,CAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjD,IAAA,MAAMC,cAAcC,qBAAgB,CAAA,MAAA,CAAA;AACpC,IAAA,MAAMC,oBAAoBD,qBAAgB,CAAA,YAAA,CAAA;IAE1C,OAAO;AACL,QAAA,MAAME,UAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAO,EAAA;AAC/C,YAAA,IAAI,CAACT,YAAAA,CAAaU,QAAQ,CAACF,MAAS,CAAA,EAAA;AAClC,gBAAA,MAAM,IAAIV,
|
|
1
|
+
{"version":3,"file":"stage-permissions.js","sources":["../../../server/src/services/stage-permissions.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { prop } from 'lodash/fp';\nimport { async, errors } from '@strapi/utils';\nimport { getService, getAdminService } from '../utils';\nimport { STAGE_TRANSITION_UID } from '../constants/workflows';\n\nconst { ApplicationError } = errors;\nconst validActions = [STAGE_TRANSITION_UID];\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const roleService = getAdminService('role');\n const permissionService = getAdminService('permission');\n\n return {\n async register({ roleId, action, fromStage }: any) {\n if (!validActions.includes(action)) {\n throw new ApplicationError(`Invalid action ${action}`);\n }\n const permissions = await roleService.addPermissions(roleId, [\n {\n action,\n actionParameters: {\n from: fromStage,\n },\n },\n ]);\n\n // TODO: Filter response\n return permissions;\n },\n async registerMany(permissions: any) {\n return async.map(permissions, this.register);\n },\n async unregister(permissions: any) {\n const permissionIds = permissions.map(prop('id'));\n await permissionService.deleteByIds(permissionIds);\n },\n can(action: any, fromStage: any) {\n const requestState = strapi.requestContext.get()?.state;\n\n if (!requestState) {\n return false;\n }\n\n // Override permissions for super admin\n const userRoles = requestState.user?.roles;\n if (userRoles?.some((role: any) => role.code === 'strapi-super-admin')) {\n return true;\n }\n\n return requestState.userAbility.can({\n name: action,\n params: { from: fromStage },\n });\n },\n };\n};\n"],"names":["ApplicationError","errors","validActions","STAGE_TRANSITION_UID","strapi","roleService","getAdminService","permissionService","register","roleId","action","fromStage","includes","permissions","addPermissions","actionParameters","from","registerMany","async","map","unregister","permissionIds","prop","deleteByIds","can","requestState","requestContext","get","state","userRoles","user","roles","some","role","code","userAbility","name","params"],"mappings":";;;;;;;AAMA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,YAAAA;AAC7B,MAAMC,YAAe,GAAA;AAACC,IAAAA;AAAqB,CAAA;AAE3C,uBAAe,CAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjD,IAAA,MAAMC,cAAcC,qBAAgB,CAAA,MAAA,CAAA;AACpC,IAAA,MAAMC,oBAAoBD,qBAAgB,CAAA,YAAA,CAAA;IAE1C,OAAO;AACL,QAAA,MAAME,UAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAO,EAAA;AAC/C,YAAA,IAAI,CAACT,YAAAA,CAAaU,QAAQ,CAACF,MAAS,CAAA,EAAA;AAClC,gBAAA,MAAM,IAAIV,gBAAAA,CAAiB,CAAC,eAAe,EAAEU,MAAQ,CAAA,CAAA,CAAA;AACvD;AACA,YAAA,MAAMG,WAAc,GAAA,MAAMR,WAAYS,CAAAA,cAAc,CAACL,MAAQ,EAAA;AAC3D,gBAAA;AACEC,oBAAAA,MAAAA;oBACAK,gBAAkB,EAAA;wBAChBC,IAAML,EAAAA;AACR;AACF;AACD,aAAA,CAAA;;YAGD,OAAOE,WAAAA;AACT,SAAA;AACA,QAAA,MAAMI,cAAaJ,WAAgB,EAAA;AACjC,YAAA,OAAOK,YAAMC,GAAG,CAACN,WAAa,EAAA,IAAI,CAACL,QAAQ,CAAA;AAC7C,SAAA;AACA,QAAA,MAAMY,YAAWP,WAAgB,EAAA;AAC/B,YAAA,MAAMQ,aAAgBR,GAAAA,WAAAA,CAAYM,GAAG,CAACG,OAAK,CAAA,IAAA,CAAA,CAAA;YAC3C,MAAMf,iBAAAA,CAAkBgB,WAAW,CAACF,aAAAA,CAAAA;AACtC,SAAA;QACAG,GAAId,CAAAA,CAAAA,MAAW,EAAEC,SAAc,EAAA;AAC7B,YAAA,MAAMc,YAAerB,GAAAA,MAAAA,CAAOsB,cAAc,CAACC,GAAG,EAAIC,EAAAA,KAAAA;AAElD,YAAA,IAAI,CAACH,YAAc,EAAA;gBACjB,OAAO,KAAA;AACT;;YAGA,MAAMI,SAAAA,GAAYJ,YAAaK,CAAAA,IAAI,EAAEC,KAAAA;AACrC,YAAA,IAAIF,WAAWG,IAAK,CAAA,CAACC,OAAcA,IAAKC,CAAAA,IAAI,KAAK,oBAAuB,CAAA,EAAA;gBACtE,OAAO,IAAA;AACT;AAEA,YAAA,OAAOT,YAAaU,CAAAA,WAAW,CAACX,GAAG,CAAC;gBAClCY,IAAM1B,EAAAA,MAAAA;gBACN2B,MAAQ,EAAA;oBAAErB,IAAML,EAAAA;AAAU;AAC5B,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-permissions.mjs","sources":["../../../server/src/services/stage-permissions.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { prop } from 'lodash/fp';\nimport { async, errors } from '@strapi/utils';\nimport { getService, getAdminService } from '../utils';\nimport { STAGE_TRANSITION_UID } from '../constants/workflows';\n\nconst { ApplicationError } = errors;\nconst validActions = [STAGE_TRANSITION_UID];\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const roleService = getAdminService('role');\n const permissionService = getAdminService('permission');\n\n return {\n async register({ roleId, action, fromStage }: any) {\n if (!validActions.includes(action)) {\n throw new ApplicationError(`Invalid action ${action}`);\n }\n const permissions = await roleService.addPermissions(roleId, [\n {\n action,\n actionParameters: {\n from: fromStage,\n },\n },\n ]);\n\n // TODO: Filter response\n return permissions;\n },\n async registerMany(permissions: any) {\n return async.map(permissions, this.register);\n },\n async unregister(permissions: any) {\n const permissionIds = permissions.map(prop('id'));\n await permissionService.deleteByIds(permissionIds);\n },\n can(action: any, fromStage: any) {\n const requestState = strapi.requestContext.get()?.state;\n\n if (!requestState) {\n return false;\n }\n\n // Override permissions for super admin\n const userRoles = requestState.user?.roles;\n if (userRoles?.some((role: any) => role.code === 'strapi-super-admin')) {\n return true;\n }\n\n return requestState.userAbility.can({\n name: action,\n params: { from: fromStage },\n });\n },\n };\n};\n"],"names":["ApplicationError","errors","validActions","STAGE_TRANSITION_UID","strapi","roleService","getAdminService","permissionService","register","roleId","action","fromStage","includes","permissions","addPermissions","actionParameters","from","registerMany","async","map","unregister","permissionIds","prop","deleteByIds","can","requestState","requestContext","get","state","userRoles","user","roles","some","role","code","userAbility","name","params"],"mappings":";;;;;AAMA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAC7B,MAAMC,YAAe,GAAA;AAACC,IAAAA;AAAqB,CAAA;AAE3C,uBAAe,CAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjD,IAAA,MAAMC,cAAcC,eAAgB,CAAA,MAAA,CAAA;AACpC,IAAA,MAAMC,oBAAoBD,eAAgB,CAAA,YAAA,CAAA;IAE1C,OAAO;AACL,QAAA,MAAME,UAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAO,EAAA;AAC/C,YAAA,IAAI,CAACT,YAAAA,CAAaU,QAAQ,CAACF,MAAS,CAAA,EAAA;AAClC,gBAAA,MAAM,IAAIV,
|
|
1
|
+
{"version":3,"file":"stage-permissions.mjs","sources":["../../../server/src/services/stage-permissions.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { prop } from 'lodash/fp';\nimport { async, errors } from '@strapi/utils';\nimport { getService, getAdminService } from '../utils';\nimport { STAGE_TRANSITION_UID } from '../constants/workflows';\n\nconst { ApplicationError } = errors;\nconst validActions = [STAGE_TRANSITION_UID];\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const roleService = getAdminService('role');\n const permissionService = getAdminService('permission');\n\n return {\n async register({ roleId, action, fromStage }: any) {\n if (!validActions.includes(action)) {\n throw new ApplicationError(`Invalid action ${action}`);\n }\n const permissions = await roleService.addPermissions(roleId, [\n {\n action,\n actionParameters: {\n from: fromStage,\n },\n },\n ]);\n\n // TODO: Filter response\n return permissions;\n },\n async registerMany(permissions: any) {\n return async.map(permissions, this.register);\n },\n async unregister(permissions: any) {\n const permissionIds = permissions.map(prop('id'));\n await permissionService.deleteByIds(permissionIds);\n },\n can(action: any, fromStage: any) {\n const requestState = strapi.requestContext.get()?.state;\n\n if (!requestState) {\n return false;\n }\n\n // Override permissions for super admin\n const userRoles = requestState.user?.roles;\n if (userRoles?.some((role: any) => role.code === 'strapi-super-admin')) {\n return true;\n }\n\n return requestState.userAbility.can({\n name: action,\n params: { from: fromStage },\n });\n },\n };\n};\n"],"names":["ApplicationError","errors","validActions","STAGE_TRANSITION_UID","strapi","roleService","getAdminService","permissionService","register","roleId","action","fromStage","includes","permissions","addPermissions","actionParameters","from","registerMany","async","map","unregister","permissionIds","prop","deleteByIds","can","requestState","requestContext","get","state","userRoles","user","roles","some","role","code","userAbility","name","params"],"mappings":";;;;;AAMA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAC7B,MAAMC,YAAe,GAAA;AAACC,IAAAA;AAAqB,CAAA;AAE3C,uBAAe,CAAA,CAAC,EAAEC,MAAM,EAA2B,GAAA;AACjD,IAAA,MAAMC,cAAcC,eAAgB,CAAA,MAAA,CAAA;AACpC,IAAA,MAAMC,oBAAoBD,eAAgB,CAAA,YAAA,CAAA;IAE1C,OAAO;AACL,QAAA,MAAME,UAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAO,EAAA;AAC/C,YAAA,IAAI,CAACT,YAAAA,CAAaU,QAAQ,CAACF,MAAS,CAAA,EAAA;AAClC,gBAAA,MAAM,IAAIV,gBAAAA,CAAiB,CAAC,eAAe,EAAEU,MAAQ,CAAA,CAAA,CAAA;AACvD;AACA,YAAA,MAAMG,WAAc,GAAA,MAAMR,WAAYS,CAAAA,cAAc,CAACL,MAAQ,EAAA;AAC3D,gBAAA;AACEC,oBAAAA,MAAAA;oBACAK,gBAAkB,EAAA;wBAChBC,IAAML,EAAAA;AACR;AACF;AACD,aAAA,CAAA;;YAGD,OAAOE,WAAAA;AACT,SAAA;AACA,QAAA,MAAMI,cAAaJ,WAAgB,EAAA;AACjC,YAAA,OAAOK,MAAMC,GAAG,CAACN,WAAa,EAAA,IAAI,CAACL,QAAQ,CAAA;AAC7C,SAAA;AACA,QAAA,MAAMY,YAAWP,WAAgB,EAAA;AAC/B,YAAA,MAAMQ,aAAgBR,GAAAA,WAAAA,CAAYM,GAAG,CAACG,IAAK,CAAA,IAAA,CAAA,CAAA;YAC3C,MAAMf,iBAAAA,CAAkBgB,WAAW,CAACF,aAAAA,CAAAA;AACtC,SAAA;QACAG,GAAId,CAAAA,CAAAA,MAAW,EAAEC,SAAc,EAAA;AAC7B,YAAA,MAAMc,YAAerB,GAAAA,MAAAA,CAAOsB,cAAc,CAACC,GAAG,EAAIC,EAAAA,KAAAA;AAElD,YAAA,IAAI,CAACH,YAAc,EAAA;gBACjB,OAAO,KAAA;AACT;;YAGA,MAAMI,SAAAA,GAAYJ,YAAaK,CAAAA,IAAI,EAAEC,KAAAA;AACrC,YAAA,IAAIF,WAAWG,IAAK,CAAA,CAACC,OAAcA,IAAKC,CAAAA,IAAI,KAAK,oBAAuB,CAAA,EAAA;gBACtE,OAAO,IAAA;AACT;AAEA,YAAA,OAAOT,YAAaU,CAAAA,WAAW,CAACX,GAAG,CAAC;gBAClCY,IAAM1B,EAAAA,MAAAA;gBACN2B,MAAQ,EAAA;oBAAErB,IAAML,EAAAA;AAAU;AAC5B,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
|