octalens-mentions 0.0.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.
- package/README.md +4 -0
- package/dist/_chunks/App-B6IICgyu.js +24 -0
- package/dist/_chunks/App-B6IICgyu.js.map +1 -0
- package/dist/_chunks/App-BVO2PSDy.mjs +24 -0
- package/dist/_chunks/App-BVO2PSDy.mjs.map +1 -0
- package/dist/_chunks/en-B4KWt_jN.js +5 -0
- package/dist/_chunks/en-B4KWt_jN.js.map +1 -0
- package/dist/_chunks/en-Byx4XI2L.mjs +5 -0
- package/dist/_chunks/en-Byx4XI2L.mjs.map +1 -0
- package/dist/_chunks/index-DWKoTnWi.js +66 -0
- package/dist/_chunks/index-DWKoTnWi.js.map +1 -0
- package/dist/_chunks/index-Dwi45-n4.mjs +67 -0
- package/dist/_chunks/index-Dwi45-n4.mjs.map +1 -0
- package/dist/admin/index.js +4 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +5 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/src/components/Initializer.d.ts +5 -0
- package/dist/admin/src/components/PluginIcon.d.ts +2 -0
- package/dist/admin/src/index.d.ts +10 -0
- package/dist/admin/src/pages/App.d.ts +2 -0
- package/dist/admin/src/pages/HomePage.d.ts +2 -0
- package/dist/admin/src/pluginId.d.ts +1 -0
- package/dist/admin/src/utils/getTranslation.d.ts +2 -0
- package/dist/server/index.js +223 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +224 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/config/index.d.ts +5 -0
- package/dist/server/src/content-types/index.d.ts +85 -0
- package/dist/server/src/content-types/mention/index.d.ts +83 -0
- package/dist/server/src/controllers/index.d.ts +9 -0
- package/dist/server/src/controllers/ingest/index.d.ts +7 -0
- package/dist/server/src/controllers/mention/index.d.ts +2 -0
- package/dist/server/src/destroy.d.ts +5 -0
- package/dist/server/src/index.d.ts +131 -0
- package/dist/server/src/middlewares/index.d.ts +2 -0
- package/dist/server/src/policies/index.d.ts +2 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/routes/content-api.d.ts +14 -0
- package/dist/server/src/routes/index.d.ts +19 -0
- package/dist/server/src/services/index.d.ts +4 -0
- package/dist/server/src/services/mention/index.d.ts +2 -0
- package/dist/server/src/services/service.d.ts +7 -0
- package/package.json +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const admin = require("@strapi/strapi/admin");
|
|
5
|
+
const reactRouterDom = require("react-router-dom");
|
|
6
|
+
const designSystem = require("@strapi/design-system");
|
|
7
|
+
const reactIntl = require("react-intl");
|
|
8
|
+
const index = require("./index-DWKoTnWi.js");
|
|
9
|
+
const getTranslation = (id) => `${index.PLUGIN_ID}.${id}`;
|
|
10
|
+
const HomePage = () => {
|
|
11
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
12
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Main, { children: /* @__PURE__ */ jsxRuntime.jsxs("h1", { children: [
|
|
13
|
+
"Welcome to ",
|
|
14
|
+
formatMessage({ id: getTranslation("plugin.name") })
|
|
15
|
+
] }) });
|
|
16
|
+
};
|
|
17
|
+
const App = () => {
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(reactRouterDom.Routes, { children: [
|
|
19
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { index: true, element: /* @__PURE__ */ jsxRuntime.jsx(HomePage, {}) }),
|
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { path: "*", element: /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Error, {}) })
|
|
21
|
+
] });
|
|
22
|
+
};
|
|
23
|
+
exports.App = App;
|
|
24
|
+
//# sourceMappingURL=App-B6IICgyu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App-B6IICgyu.js","sources":["../../admin/src/utils/getTranslation.ts","../../admin/src/pages/HomePage.tsx","../../admin/src/pages/App.tsx"],"sourcesContent":["import { PLUGIN_ID } from '../pluginId';\n\nconst getTranslation = (id: string) => `${PLUGIN_ID}.${id}`;\n\nexport { getTranslation };\n","import { Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../utils/getTranslation';\n\nconst HomePage = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Main>\n <h1>Welcome to {formatMessage({ id: getTranslation('plugin.name') })}</h1>\n </Main>\n );\n};\n\nexport { HomePage };\n","import { Page } from '@strapi/strapi/admin';\nimport { Routes, Route } from 'react-router-dom';\n\nimport { HomePage } from './HomePage';\n\nconst App = () => {\n return (\n <Routes>\n <Route index element={<HomePage />} />\n <Route path=\"*\" element={<Page.Error />} />\n </Routes>\n );\n};\n\nexport { App };\n"],"names":["PLUGIN_ID","useIntl","jsx","Main","jsxs","Routes","Route","Page"],"mappings":";;;;;;;;AAEA,MAAM,iBAAiB,CAAC,OAAe,GAAGA,MAAAA,SAAS,IAAI,EAAE;ACGzD,MAAM,WAAW,MAAM;AACrB,QAAM,EAAE,cAAA,IAAkBC,kBAAA;AAE1B,SACEC,2BAAAA,IAACC,aAAAA,MAAA,EACC,UAAAC,2BAAAA,KAAC,MAAA,EAAG,UAAA;AAAA,IAAA;AAAA,IAAY,cAAc,EAAE,IAAI,eAAe,aAAa,GAAG;AAAA,EAAA,EAAA,CAAE,EAAA,CACvE;AAEJ;ACRA,MAAM,MAAM,MAAM;AAChB,yCACGC,uBAAA,EACC,UAAA;AAAA,IAAAH,+BAACI,eAAAA,SAAM,OAAK,MAAC,SAASJ,+BAAC,YAAS,GAAI;AAAA,IACpCA,+BAACI,eAAAA,SAAM,MAAK,KAAI,SAASJ,2BAAAA,IAACK,MAAAA,KAAK,OAAL,CAAA,CAAW,EAAA,CAAI;AAAA,EAAA,GAC3C;AAEJ;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Page } from "@strapi/strapi/admin";
|
|
3
|
+
import { Routes, Route } from "react-router-dom";
|
|
4
|
+
import { Main } from "@strapi/design-system";
|
|
5
|
+
import { useIntl } from "react-intl";
|
|
6
|
+
import { P as PLUGIN_ID } from "./index-Dwi45-n4.mjs";
|
|
7
|
+
const getTranslation = (id) => `${PLUGIN_ID}.${id}`;
|
|
8
|
+
const HomePage = () => {
|
|
9
|
+
const { formatMessage } = useIntl();
|
|
10
|
+
return /* @__PURE__ */ jsx(Main, { children: /* @__PURE__ */ jsxs("h1", { children: [
|
|
11
|
+
"Welcome to ",
|
|
12
|
+
formatMessage({ id: getTranslation("plugin.name") })
|
|
13
|
+
] }) });
|
|
14
|
+
};
|
|
15
|
+
const App = () => {
|
|
16
|
+
return /* @__PURE__ */ jsxs(Routes, { children: [
|
|
17
|
+
/* @__PURE__ */ jsx(Route, { index: true, element: /* @__PURE__ */ jsx(HomePage, {}) }),
|
|
18
|
+
/* @__PURE__ */ jsx(Route, { path: "*", element: /* @__PURE__ */ jsx(Page.Error, {}) })
|
|
19
|
+
] });
|
|
20
|
+
};
|
|
21
|
+
export {
|
|
22
|
+
App
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=App-BVO2PSDy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App-BVO2PSDy.mjs","sources":["../../admin/src/utils/getTranslation.ts","../../admin/src/pages/HomePage.tsx","../../admin/src/pages/App.tsx"],"sourcesContent":["import { PLUGIN_ID } from '../pluginId';\n\nconst getTranslation = (id: string) => `${PLUGIN_ID}.${id}`;\n\nexport { getTranslation };\n","import { Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTranslation } from '../utils/getTranslation';\n\nconst HomePage = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Main>\n <h1>Welcome to {formatMessage({ id: getTranslation('plugin.name') })}</h1>\n </Main>\n );\n};\n\nexport { HomePage };\n","import { Page } from '@strapi/strapi/admin';\nimport { Routes, Route } from 'react-router-dom';\n\nimport { HomePage } from './HomePage';\n\nconst App = () => {\n return (\n <Routes>\n <Route index element={<HomePage />} />\n <Route path=\"*\" element={<Page.Error />} />\n </Routes>\n );\n};\n\nexport { App };\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,iBAAiB,CAAC,OAAe,GAAG,SAAS,IAAI,EAAE;ACGzD,MAAM,WAAW,MAAM;AACrB,QAAM,EAAE,cAAA,IAAkB,QAAA;AAE1B,SACE,oBAAC,MAAA,EACC,UAAA,qBAAC,MAAA,EAAG,UAAA;AAAA,IAAA;AAAA,IAAY,cAAc,EAAE,IAAI,eAAe,aAAa,GAAG;AAAA,EAAA,EAAA,CAAE,EAAA,CACvE;AAEJ;ACRA,MAAM,MAAM,MAAM;AAChB,8BACG,QAAA,EACC,UAAA;AAAA,IAAA,oBAAC,SAAM,OAAK,MAAC,SAAS,oBAAC,YAAS,GAAI;AAAA,IACpC,oBAAC,SAAM,MAAK,KAAI,SAAS,oBAAC,KAAK,OAAL,CAAA,CAAW,EAAA,CAAI;AAAA,EAAA,GAC3C;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en-B4KWt_jN.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en-Byx4XI2L.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const react = require("react");
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const icons = require("@strapi/icons");
|
|
5
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
6
|
+
const v = glob[path];
|
|
7
|
+
if (v) {
|
|
8
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
9
|
+
}
|
|
10
|
+
return new Promise((_, reject) => {
|
|
11
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
12
|
+
reject.bind(
|
|
13
|
+
null,
|
|
14
|
+
new Error(
|
|
15
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
16
|
+
)
|
|
17
|
+
)
|
|
18
|
+
);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
const PLUGIN_ID = "octalens-mentions";
|
|
22
|
+
const Initializer = ({ setPlugin }) => {
|
|
23
|
+
const ref = react.useRef(setPlugin);
|
|
24
|
+
react.useEffect(() => {
|
|
25
|
+
ref.current(PLUGIN_ID);
|
|
26
|
+
}, []);
|
|
27
|
+
return null;
|
|
28
|
+
};
|
|
29
|
+
const PluginIcon = () => /* @__PURE__ */ jsxRuntime.jsx(icons.PuzzlePiece, {});
|
|
30
|
+
const index = {
|
|
31
|
+
register(app) {
|
|
32
|
+
app.addMenuLink({
|
|
33
|
+
to: `plugins/${PLUGIN_ID}`,
|
|
34
|
+
icon: PluginIcon,
|
|
35
|
+
intlLabel: {
|
|
36
|
+
id: `${PLUGIN_ID}.plugin.name`,
|
|
37
|
+
defaultMessage: PLUGIN_ID
|
|
38
|
+
},
|
|
39
|
+
Component: async () => {
|
|
40
|
+
const { App } = await Promise.resolve().then(() => require("./App-B6IICgyu.js"));
|
|
41
|
+
return App;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
app.registerPlugin({
|
|
45
|
+
id: PLUGIN_ID,
|
|
46
|
+
initializer: Initializer,
|
|
47
|
+
isReady: false,
|
|
48
|
+
name: PLUGIN_ID
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
async registerTrads({ locales }) {
|
|
52
|
+
return Promise.all(
|
|
53
|
+
locales.map(async (locale) => {
|
|
54
|
+
try {
|
|
55
|
+
const { default: data } = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => Promise.resolve().then(() => require("./en-B4KWt_jN.js")) }), `./translations/${locale}.json`, 3);
|
|
56
|
+
return { data, locale };
|
|
57
|
+
} catch {
|
|
58
|
+
return { data: {}, locale };
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
exports.PLUGIN_ID = PLUGIN_ID;
|
|
65
|
+
exports.index = index;
|
|
66
|
+
//# sourceMappingURL=index-DWKoTnWi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DWKoTnWi.js","sources":["../../admin/src/pluginId.ts","../../admin/src/components/Initializer.tsx","../../admin/src/components/PluginIcon.tsx","../../admin/src/index.ts"],"sourcesContent":["export const PLUGIN_ID = 'octalens-mentions';\n","import { useEffect, useRef } from 'react';\n\nimport { PLUGIN_ID } from '../pluginId';\n\ntype InitializerProps = {\n setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n\n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n\n return null;\n};\n\nexport { Initializer };\n","import { PuzzlePiece } from '@strapi/icons';\n\nconst PluginIcon = () => <PuzzlePiece />;\n\nexport { PluginIcon };\n","import { getTranslation } from './utils/getTranslation';\nimport { PLUGIN_ID } from './pluginId';\nimport { Initializer } from './components/Initializer';\nimport { PluginIcon } from './components/PluginIcon';\n\nexport default {\n register(app: any) {\n app.addMenuLink({\n to: `plugins/${PLUGIN_ID}`,\n icon: PluginIcon,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n\n return App;\n },\n });\n\n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n\n async registerTrads({ locales }: { locales: string[] }) {\n return Promise.all(\n locales.map(async (locale) => {\n try {\n const { default: data } = await import(`./translations/${locale}.json`);\n\n return { data, locale };\n } catch {\n return { data: {}, locale };\n }\n })\n );\n },\n};\n"],"names":["useRef","useEffect","jsx","PuzzlePiece"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAO,MAAM,YAAY;ACQzB,MAAM,cAAc,CAAC,EAAE,gBAAkC;AACvD,QAAM,MAAMA,MAAAA,OAAO,SAAS;AAE5BC,QAAAA,UAAU,MAAM;AACd,QAAI,QAAQ,SAAS;AAAA,EACvB,GAAG,CAAA,CAAE;AAEL,SAAO;AACT;ACdA,MAAM,aAAa,MAAMC,2BAAAA,IAACC,MAAAA,aAAA,EAAY;ACGtC,MAAA,QAAe;AAAA,EACb,SAAS,KAAU;AACjB,QAAI,YAAY;AAAA,MACd,IAAI,WAAW,SAAS;AAAA,MACxB,MAAM;AAAA,MACN,WAAW;AAAA,QACT,IAAI,GAAG,SAAS;AAAA,QAChB,gBAAgB;AAAA,MAAA;AAAA,MAElB,WAAW,YAAY;AACrB,cAAM,EAAE,IAAA,IAAQ,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,QAAO,mBAAa,CAAA;AAE1C,eAAO;AAAA,MACT;AAAA,IAAA,CACD;AAED,QAAI,eAAe;AAAA,MACjB,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,SAAS;AAAA,MACT,MAAM;AAAA,IAAA,CACP;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,EAAE,WAAkC;AACtD,WAAO,QAAQ;AAAA,MACb,QAAQ,IAAI,OAAO,WAAW;AAC5B,YAAI;AACF,gBAAM,EAAE,SAAS,KAAA,IAAS,MAAM,qCAAA,uBAAA,OAAA,EAAA,0BAAA,MAAA,QAAA,QAAA,EAAA,KAAA,MAAA,QAAA,kBAAA,CAAA,EAAA,CAAA,GAAA,kBAAA,MAAA,SAAA,CAAA;AAEhC,iBAAO,EAAE,MAAM,OAAA;AAAA,QACjB,QAAQ;AACN,iBAAO,EAAE,MAAM,CAAA,GAAI,OAAA;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IAAA;AAAA,EAEL;AACF;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useRef, useEffect } from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { PuzzlePiece } from "@strapi/icons";
|
|
4
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
5
|
+
const v = glob[path];
|
|
6
|
+
if (v) {
|
|
7
|
+
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
8
|
+
}
|
|
9
|
+
return new Promise((_, reject) => {
|
|
10
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
11
|
+
reject.bind(
|
|
12
|
+
null,
|
|
13
|
+
new Error(
|
|
14
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
15
|
+
)
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
const PLUGIN_ID = "octalens-mentions";
|
|
21
|
+
const Initializer = ({ setPlugin }) => {
|
|
22
|
+
const ref = useRef(setPlugin);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
ref.current(PLUGIN_ID);
|
|
25
|
+
}, []);
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
const PluginIcon = () => /* @__PURE__ */ jsx(PuzzlePiece, {});
|
|
29
|
+
const index = {
|
|
30
|
+
register(app) {
|
|
31
|
+
app.addMenuLink({
|
|
32
|
+
to: `plugins/${PLUGIN_ID}`,
|
|
33
|
+
icon: PluginIcon,
|
|
34
|
+
intlLabel: {
|
|
35
|
+
id: `${PLUGIN_ID}.plugin.name`,
|
|
36
|
+
defaultMessage: PLUGIN_ID
|
|
37
|
+
},
|
|
38
|
+
Component: async () => {
|
|
39
|
+
const { App } = await import("./App-BVO2PSDy.mjs");
|
|
40
|
+
return App;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
app.registerPlugin({
|
|
44
|
+
id: PLUGIN_ID,
|
|
45
|
+
initializer: Initializer,
|
|
46
|
+
isReady: false,
|
|
47
|
+
name: PLUGIN_ID
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
async registerTrads({ locales }) {
|
|
51
|
+
return Promise.all(
|
|
52
|
+
locales.map(async (locale) => {
|
|
53
|
+
try {
|
|
54
|
+
const { default: data } = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => import("./en-Byx4XI2L.mjs") }), `./translations/${locale}.json`, 3);
|
|
55
|
+
return { data, locale };
|
|
56
|
+
} catch {
|
|
57
|
+
return { data: {}, locale };
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
PLUGIN_ID as P,
|
|
65
|
+
index as i
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index-Dwi45-n4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Dwi45-n4.mjs","sources":["../../admin/src/pluginId.ts","../../admin/src/components/Initializer.tsx","../../admin/src/components/PluginIcon.tsx","../../admin/src/index.ts"],"sourcesContent":["export const PLUGIN_ID = 'octalens-mentions';\n","import { useEffect, useRef } from 'react';\n\nimport { PLUGIN_ID } from '../pluginId';\n\ntype InitializerProps = {\n setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n\n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n\n return null;\n};\n\nexport { Initializer };\n","import { PuzzlePiece } from '@strapi/icons';\n\nconst PluginIcon = () => <PuzzlePiece />;\n\nexport { PluginIcon };\n","import { getTranslation } from './utils/getTranslation';\nimport { PLUGIN_ID } from './pluginId';\nimport { Initializer } from './components/Initializer';\nimport { PluginIcon } from './components/PluginIcon';\n\nexport default {\n register(app: any) {\n app.addMenuLink({\n to: `plugins/${PLUGIN_ID}`,\n icon: PluginIcon,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: PLUGIN_ID,\n },\n Component: async () => {\n const { App } = await import('./pages/App');\n\n return App;\n },\n });\n\n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n },\n\n async registerTrads({ locales }: { locales: string[] }) {\n return Promise.all(\n locales.map(async (locale) => {\n try {\n const { default: data } = await import(`./translations/${locale}.json`);\n\n return { data, locale };\n } catch {\n return { data: {}, locale };\n }\n })\n );\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAO,MAAM,YAAY;ACQzB,MAAM,cAAc,CAAC,EAAE,gBAAkC;AACvD,QAAM,MAAM,OAAO,SAAS;AAE5B,YAAU,MAAM;AACd,QAAI,QAAQ,SAAS;AAAA,EACvB,GAAG,CAAA,CAAE;AAEL,SAAO;AACT;ACdA,MAAM,aAAa,MAAM,oBAAC,aAAA,EAAY;ACGtC,MAAA,QAAe;AAAA,EACb,SAAS,KAAU;AACjB,QAAI,YAAY;AAAA,MACd,IAAI,WAAW,SAAS;AAAA,MACxB,MAAM;AAAA,MACN,WAAW;AAAA,QACT,IAAI,GAAG,SAAS;AAAA,QAChB,gBAAgB;AAAA,MAAA;AAAA,MAElB,WAAW,YAAY;AACrB,cAAM,EAAE,IAAA,IAAQ,MAAM,OAAO,oBAAa;AAE1C,eAAO;AAAA,MACT;AAAA,IAAA,CACD;AAED,QAAI,eAAe;AAAA,MACjB,IAAI;AAAA,MACJ,aAAa;AAAA,MACb,SAAS;AAAA,MACT,MAAM;AAAA,IAAA,CACP;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,EAAE,WAAkC;AACtD,WAAO,QAAQ;AAAA,MACb,QAAQ,IAAI,OAAO,WAAW;AAC5B,YAAI;AACF,gBAAM,EAAE,SAAS,KAAA,IAAS,MAAM,qCAAA,uBAAA,OAAA,EAAA,0BAAA,MAAA,OAAA,mBAAA,EAAA,CAAA,GAAA,kBAAA,MAAA,SAAA,CAAA;AAEhC,iBAAO,EAAE,MAAM,OAAA;AAAA,QACjB,QAAQ;AACN,iBAAO,EAAE,MAAM,CAAA,GAAI,OAAA;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IAAA;AAAA,EAEL;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PLUGIN_ID = "octalens-mentions";
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const bootstrap = ({ strapi }) => {
|
|
3
|
+
};
|
|
4
|
+
const destroy = ({ strapi }) => {
|
|
5
|
+
};
|
|
6
|
+
const register = ({ strapi }) => {
|
|
7
|
+
};
|
|
8
|
+
const config = {
|
|
9
|
+
default: {},
|
|
10
|
+
validator() {
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const kind = "collectionType";
|
|
14
|
+
const collectionName = "mention";
|
|
15
|
+
const info = {
|
|
16
|
+
singularName: "mention",
|
|
17
|
+
pluralName: "mentions",
|
|
18
|
+
displayName: "Mention"
|
|
19
|
+
};
|
|
20
|
+
const options = {
|
|
21
|
+
draftAndPublish: false
|
|
22
|
+
};
|
|
23
|
+
const pluginOptions = {
|
|
24
|
+
"content-manager": {
|
|
25
|
+
visible: true
|
|
26
|
+
},
|
|
27
|
+
"content-type-builder": {
|
|
28
|
+
visible: true
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const attributes = {
|
|
32
|
+
action: {
|
|
33
|
+
type: "string"
|
|
34
|
+
},
|
|
35
|
+
title: {
|
|
36
|
+
type: "string"
|
|
37
|
+
},
|
|
38
|
+
body: {
|
|
39
|
+
type: "text"
|
|
40
|
+
},
|
|
41
|
+
url: {
|
|
42
|
+
type: "string"
|
|
43
|
+
},
|
|
44
|
+
timestamp: {
|
|
45
|
+
type: "string"
|
|
46
|
+
},
|
|
47
|
+
imageUrl: {
|
|
48
|
+
type: "string"
|
|
49
|
+
},
|
|
50
|
+
author: {
|
|
51
|
+
type: "string"
|
|
52
|
+
},
|
|
53
|
+
authorProfileLink: {
|
|
54
|
+
type: "string"
|
|
55
|
+
},
|
|
56
|
+
source: {
|
|
57
|
+
type: "string"
|
|
58
|
+
},
|
|
59
|
+
sourceId: {
|
|
60
|
+
type: "string"
|
|
61
|
+
},
|
|
62
|
+
relevanceScore: {
|
|
63
|
+
type: "string"
|
|
64
|
+
},
|
|
65
|
+
relevanceComment: {
|
|
66
|
+
type: "text"
|
|
67
|
+
},
|
|
68
|
+
keyword: {
|
|
69
|
+
type: "string"
|
|
70
|
+
},
|
|
71
|
+
bookmarked: {
|
|
72
|
+
type: "boolean",
|
|
73
|
+
"default": false
|
|
74
|
+
},
|
|
75
|
+
language: {
|
|
76
|
+
type: "string"
|
|
77
|
+
},
|
|
78
|
+
sentimentLabel: {
|
|
79
|
+
type: "string"
|
|
80
|
+
},
|
|
81
|
+
viewId: {
|
|
82
|
+
type: "integer"
|
|
83
|
+
},
|
|
84
|
+
viewName: {
|
|
85
|
+
type: "string"
|
|
86
|
+
},
|
|
87
|
+
subreddit: {
|
|
88
|
+
type: "string"
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const schema = {
|
|
92
|
+
kind,
|
|
93
|
+
collectionName,
|
|
94
|
+
info,
|
|
95
|
+
options,
|
|
96
|
+
pluginOptions,
|
|
97
|
+
attributes
|
|
98
|
+
};
|
|
99
|
+
const mention$2 = {
|
|
100
|
+
schema
|
|
101
|
+
};
|
|
102
|
+
const contentTypes = {
|
|
103
|
+
mention: mention$2
|
|
104
|
+
};
|
|
105
|
+
const { createCoreController } = require("@strapi/strapi").factories;
|
|
106
|
+
const mention$1 = createCoreController("plugin::octalens-mentions.mention");
|
|
107
|
+
const controller = ({ strapi }) => ({
|
|
108
|
+
async ingest(ctx) {
|
|
109
|
+
const requestBody = ctx.request.body;
|
|
110
|
+
if (!requestBody?.data) return ctx.badRequest("Missing data in request body");
|
|
111
|
+
const mentionData = {
|
|
112
|
+
action: requestBody.action,
|
|
113
|
+
title: requestBody.data?.title || "",
|
|
114
|
+
body: requestBody.data?.body || "",
|
|
115
|
+
url: requestBody.data?.url || "",
|
|
116
|
+
timestamp: requestBody.data?.timestamp || "",
|
|
117
|
+
imageUrl: requestBody.data?.imageUrl || "",
|
|
118
|
+
author: requestBody.data?.author || "",
|
|
119
|
+
authorProfileLink: requestBody.data?.authorProfileLink || "",
|
|
120
|
+
source: requestBody.data?.source || "",
|
|
121
|
+
sourceId: requestBody.data?.sourceId || "",
|
|
122
|
+
relevanceScore: requestBody.data?.relevanceScore || "",
|
|
123
|
+
relevanceComment: requestBody.data?.relevanceComment || "",
|
|
124
|
+
keyword: requestBody.data?.keyword || "",
|
|
125
|
+
bookmarked: requestBody.data?.bookmarked || false,
|
|
126
|
+
language: requestBody.data?.language || "",
|
|
127
|
+
sentimentLabel: requestBody.data?.sentimentLabel || "",
|
|
128
|
+
viewId: requestBody.data?.viewId || null,
|
|
129
|
+
viewName: requestBody.data?.viewName || "",
|
|
130
|
+
subreddit: requestBody.data?.subreddit || ""
|
|
131
|
+
};
|
|
132
|
+
console.log("###############################");
|
|
133
|
+
console.log("Parsed mention data:", mentionData);
|
|
134
|
+
console.log("###############################");
|
|
135
|
+
try {
|
|
136
|
+
const mention2 = await strapi.service("plugin::octalens-mentions.mention").create({
|
|
137
|
+
data: mentionData
|
|
138
|
+
});
|
|
139
|
+
ctx.body = { data: mention2 };
|
|
140
|
+
} catch (error) {
|
|
141
|
+
console.error("Error creating mention:", error);
|
|
142
|
+
ctx.throw(500, "Failed to create mention");
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
const controllers = {
|
|
147
|
+
mention: mention$1,
|
|
148
|
+
ingest: controller
|
|
149
|
+
};
|
|
150
|
+
const middlewares = {};
|
|
151
|
+
const policies = {};
|
|
152
|
+
const contentApi = [
|
|
153
|
+
{
|
|
154
|
+
method: "GET",
|
|
155
|
+
path: "/mentions",
|
|
156
|
+
handler: "mention.find",
|
|
157
|
+
config: {
|
|
158
|
+
policies: []
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
method: "GET",
|
|
163
|
+
path: "/mentions/:id",
|
|
164
|
+
handler: "mention.findOne",
|
|
165
|
+
config: {
|
|
166
|
+
policies: []
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
method: "DELETE",
|
|
171
|
+
path: "/mentions/:id",
|
|
172
|
+
handler: "mention.delete",
|
|
173
|
+
config: {
|
|
174
|
+
policies: []
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
method: "PUT",
|
|
179
|
+
path: "/mentions/:id",
|
|
180
|
+
handler: "mention.update",
|
|
181
|
+
config: {
|
|
182
|
+
policies: []
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
method: "POST",
|
|
187
|
+
path: "/mentions",
|
|
188
|
+
handler: "mention.create",
|
|
189
|
+
config: {
|
|
190
|
+
policies: []
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
method: "POST",
|
|
195
|
+
path: "/ingest",
|
|
196
|
+
handler: "ingest.ingest"
|
|
197
|
+
}
|
|
198
|
+
];
|
|
199
|
+
const routes = {
|
|
200
|
+
"content-api": {
|
|
201
|
+
type: "content-api",
|
|
202
|
+
routes: [...contentApi]
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const { createCoreService } = require("@strapi/strapi").factories;
|
|
206
|
+
const mention = createCoreService("plugin::octalens-mentions.mention");
|
|
207
|
+
const services = {
|
|
208
|
+
mention
|
|
209
|
+
};
|
|
210
|
+
const index = {
|
|
211
|
+
register,
|
|
212
|
+
bootstrap,
|
|
213
|
+
destroy,
|
|
214
|
+
config,
|
|
215
|
+
controllers,
|
|
216
|
+
routes,
|
|
217
|
+
services,
|
|
218
|
+
contentTypes,
|
|
219
|
+
policies,
|
|
220
|
+
middlewares
|
|
221
|
+
};
|
|
222
|
+
module.exports = index;
|
|
223
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../server/src/bootstrap.ts","../../server/src/destroy.ts","../../server/src/register.ts","../../server/src/config/index.ts","../../server/src/content-types/mention/index.ts","../../server/src/content-types/index.ts","../../server/src/controllers/mention/index.ts","../../server/src/controllers/ingest/index.ts","../../server/src/controllers/index.ts","../../server/src/middlewares/index.ts","../../server/src/policies/index.ts","../../server/src/routes/content-api.ts","../../server/src/routes/index.ts","../../server/src/services/mention/index.ts","../../server/src/services/index.ts","../../server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/strapi';\n\nconst bootstrap = ({ strapi }: { strapi: Core.Strapi }) => {\n // bootstrap phase\n};\n\nexport default bootstrap;\n","import type { Core } from '@strapi/strapi';\n\nconst destroy = ({ strapi }: { strapi: Core.Strapi }) => {\n // destroy phase\n};\n\nexport default destroy;\n","import type { Core } from '@strapi/strapi';\n\nconst register = ({ strapi }: { strapi: Core.Strapi }) => {\n // register phase\n};\n\nexport default register;\n","export default {\n default: {},\n validator() {},\n};\n","import schema from './schema.json';\n\nexport default {\n schema,\n};","import mention from './mention';\n\nexport default {\n mention,\n};","'use strict';\n\n/**\n * mention controller\n */\n\nconst { createCoreController } = require('@strapi/strapi').factories;\n\nexport default createCoreController('plugin::octalens-mentions.mention');","import type { Core } from '@strapi/strapi';\n\nconst controller = ({ strapi }: { strapi: Core.Strapi }) => ({\n async ingest(ctx) {\n const requestBody = ctx.request.body;\n\n if (!requestBody?.data) return ctx.badRequest('Missing data in request body');\n\n const mentionData = {\n action: requestBody.action,\n title: requestBody.data?.title || '',\n body: requestBody.data?.body || '',\n url: requestBody.data?.url || '',\n timestamp: requestBody.data?.timestamp || '',\n imageUrl: requestBody.data?.imageUrl || '',\n author: requestBody.data?.author || '',\n authorProfileLink: requestBody.data?.authorProfileLink || '',\n source: requestBody.data?.source || '',\n sourceId: requestBody.data?.sourceId || '',\n relevanceScore: requestBody.data?.relevanceScore || '',\n relevanceComment: requestBody.data?.relevanceComment || '',\n keyword: requestBody.data?.keyword || '',\n bookmarked: requestBody.data?.bookmarked || false,\n language: requestBody.data?.language || '',\n sentimentLabel: requestBody.data?.sentimentLabel || '',\n viewId: requestBody.data?.viewId || null,\n viewName: requestBody.data?.viewName || '',\n subreddit: requestBody.data?.subreddit || '',\n };\n\n console.log('###############################');\n console.log('Parsed mention data:', mentionData);\n console.log('###############################');\n\n try {\n const mention = await strapi.service('plugin::octalens-mentions.mention').create({\n data: mentionData,\n });\n\n ctx.body = { data: mention };\n } catch (error) {\n console.error('Error creating mention:', error);\n ctx.throw(500, 'Failed to create mention');\n }\n },\n});\n\nexport default controller;\n","import mention from './mention';\nimport ingest from './ingest';\n\nexport default {\n mention,\n ingest\n};","export default {};\n","export default {};\n","export default [\n {\n method: 'GET',\n path: '/mentions',\n handler: 'mention.find',\n config: {\n policies: [],\n },\n },\n {\n method: 'GET',\n path: '/mentions/:id',\n handler: 'mention.findOne',\n config: {\n policies: [],\n },\n },\n {\n method: 'DELETE',\n path: '/mentions/:id',\n handler: 'mention.delete',\n config: {\n policies: [],\n },\n },\n {\n method: 'PUT',\n path: '/mentions/:id',\n handler: 'mention.update',\n config: {\n policies: [],\n },\n },\n {\n method: 'POST',\n path: '/mentions',\n handler: 'mention.create',\n config: {\n policies: [],\n },\n },\n {\n method: 'POST',\n path: '/ingest',\n handler: 'ingest.ingest'\n }\n];\n","\"use strict\";\n\nimport contentApi from \"./content-api\";\n\nexport default {\n \"content-api\": {\n type: \"content-api\",\n routes: [...contentApi],\n },\n};","'use strict';\n\n/**\n * mention service\n */\n\nconst { createCoreService } = require('@strapi/strapi').factories;\n\nexport default createCoreService('plugin::octalens-mentions.mention');\n","import mention from './mention';\n\nexport default {\n mention,\n};\n","/**\n * Application methods\n */\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport register from './register';\n\n/**\n * Plugin server methods\n */\nimport config from './config';\nimport contentTypes from './content-types';\nimport controllers from './controllers';\nimport middlewares from './middlewares';\nimport policies from './policies';\nimport routes from './routes';\nimport services from './services';\n\nexport default {\n register,\n bootstrap,\n destroy,\n config,\n controllers,\n routes,\n services,\n contentTypes,\n policies,\n middlewares,\n};\n"],"names":["mention","ingest"],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
const bootstrap = ({ strapi }) => {
|
|
2
|
+
};
|
|
3
|
+
const destroy = ({ strapi }) => {
|
|
4
|
+
};
|
|
5
|
+
const register = ({ strapi }) => {
|
|
6
|
+
};
|
|
7
|
+
const config = {
|
|
8
|
+
default: {},
|
|
9
|
+
validator() {
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const kind = "collectionType";
|
|
13
|
+
const collectionName = "mention";
|
|
14
|
+
const info = {
|
|
15
|
+
singularName: "mention",
|
|
16
|
+
pluralName: "mentions",
|
|
17
|
+
displayName: "Mention"
|
|
18
|
+
};
|
|
19
|
+
const options = {
|
|
20
|
+
draftAndPublish: false
|
|
21
|
+
};
|
|
22
|
+
const pluginOptions = {
|
|
23
|
+
"content-manager": {
|
|
24
|
+
visible: true
|
|
25
|
+
},
|
|
26
|
+
"content-type-builder": {
|
|
27
|
+
visible: true
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const attributes = {
|
|
31
|
+
action: {
|
|
32
|
+
type: "string"
|
|
33
|
+
},
|
|
34
|
+
title: {
|
|
35
|
+
type: "string"
|
|
36
|
+
},
|
|
37
|
+
body: {
|
|
38
|
+
type: "text"
|
|
39
|
+
},
|
|
40
|
+
url: {
|
|
41
|
+
type: "string"
|
|
42
|
+
},
|
|
43
|
+
timestamp: {
|
|
44
|
+
type: "string"
|
|
45
|
+
},
|
|
46
|
+
imageUrl: {
|
|
47
|
+
type: "string"
|
|
48
|
+
},
|
|
49
|
+
author: {
|
|
50
|
+
type: "string"
|
|
51
|
+
},
|
|
52
|
+
authorProfileLink: {
|
|
53
|
+
type: "string"
|
|
54
|
+
},
|
|
55
|
+
source: {
|
|
56
|
+
type: "string"
|
|
57
|
+
},
|
|
58
|
+
sourceId: {
|
|
59
|
+
type: "string"
|
|
60
|
+
},
|
|
61
|
+
relevanceScore: {
|
|
62
|
+
type: "string"
|
|
63
|
+
},
|
|
64
|
+
relevanceComment: {
|
|
65
|
+
type: "text"
|
|
66
|
+
},
|
|
67
|
+
keyword: {
|
|
68
|
+
type: "string"
|
|
69
|
+
},
|
|
70
|
+
bookmarked: {
|
|
71
|
+
type: "boolean",
|
|
72
|
+
"default": false
|
|
73
|
+
},
|
|
74
|
+
language: {
|
|
75
|
+
type: "string"
|
|
76
|
+
},
|
|
77
|
+
sentimentLabel: {
|
|
78
|
+
type: "string"
|
|
79
|
+
},
|
|
80
|
+
viewId: {
|
|
81
|
+
type: "integer"
|
|
82
|
+
},
|
|
83
|
+
viewName: {
|
|
84
|
+
type: "string"
|
|
85
|
+
},
|
|
86
|
+
subreddit: {
|
|
87
|
+
type: "string"
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const schema = {
|
|
91
|
+
kind,
|
|
92
|
+
collectionName,
|
|
93
|
+
info,
|
|
94
|
+
options,
|
|
95
|
+
pluginOptions,
|
|
96
|
+
attributes
|
|
97
|
+
};
|
|
98
|
+
const mention$2 = {
|
|
99
|
+
schema
|
|
100
|
+
};
|
|
101
|
+
const contentTypes = {
|
|
102
|
+
mention: mention$2
|
|
103
|
+
};
|
|
104
|
+
const { createCoreController } = require("@strapi/strapi").factories;
|
|
105
|
+
const mention$1 = createCoreController("plugin::octalens-mentions.mention");
|
|
106
|
+
const controller = ({ strapi }) => ({
|
|
107
|
+
async ingest(ctx) {
|
|
108
|
+
const requestBody = ctx.request.body;
|
|
109
|
+
if (!requestBody?.data) return ctx.badRequest("Missing data in request body");
|
|
110
|
+
const mentionData = {
|
|
111
|
+
action: requestBody.action,
|
|
112
|
+
title: requestBody.data?.title || "",
|
|
113
|
+
body: requestBody.data?.body || "",
|
|
114
|
+
url: requestBody.data?.url || "",
|
|
115
|
+
timestamp: requestBody.data?.timestamp || "",
|
|
116
|
+
imageUrl: requestBody.data?.imageUrl || "",
|
|
117
|
+
author: requestBody.data?.author || "",
|
|
118
|
+
authorProfileLink: requestBody.data?.authorProfileLink || "",
|
|
119
|
+
source: requestBody.data?.source || "",
|
|
120
|
+
sourceId: requestBody.data?.sourceId || "",
|
|
121
|
+
relevanceScore: requestBody.data?.relevanceScore || "",
|
|
122
|
+
relevanceComment: requestBody.data?.relevanceComment || "",
|
|
123
|
+
keyword: requestBody.data?.keyword || "",
|
|
124
|
+
bookmarked: requestBody.data?.bookmarked || false,
|
|
125
|
+
language: requestBody.data?.language || "",
|
|
126
|
+
sentimentLabel: requestBody.data?.sentimentLabel || "",
|
|
127
|
+
viewId: requestBody.data?.viewId || null,
|
|
128
|
+
viewName: requestBody.data?.viewName || "",
|
|
129
|
+
subreddit: requestBody.data?.subreddit || ""
|
|
130
|
+
};
|
|
131
|
+
console.log("###############################");
|
|
132
|
+
console.log("Parsed mention data:", mentionData);
|
|
133
|
+
console.log("###############################");
|
|
134
|
+
try {
|
|
135
|
+
const mention2 = await strapi.service("plugin::octalens-mentions.mention").create({
|
|
136
|
+
data: mentionData
|
|
137
|
+
});
|
|
138
|
+
ctx.body = { data: mention2 };
|
|
139
|
+
} catch (error) {
|
|
140
|
+
console.error("Error creating mention:", error);
|
|
141
|
+
ctx.throw(500, "Failed to create mention");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
const controllers = {
|
|
146
|
+
mention: mention$1,
|
|
147
|
+
ingest: controller
|
|
148
|
+
};
|
|
149
|
+
const middlewares = {};
|
|
150
|
+
const policies = {};
|
|
151
|
+
const contentApi = [
|
|
152
|
+
{
|
|
153
|
+
method: "GET",
|
|
154
|
+
path: "/mentions",
|
|
155
|
+
handler: "mention.find",
|
|
156
|
+
config: {
|
|
157
|
+
policies: []
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
method: "GET",
|
|
162
|
+
path: "/mentions/:id",
|
|
163
|
+
handler: "mention.findOne",
|
|
164
|
+
config: {
|
|
165
|
+
policies: []
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
method: "DELETE",
|
|
170
|
+
path: "/mentions/:id",
|
|
171
|
+
handler: "mention.delete",
|
|
172
|
+
config: {
|
|
173
|
+
policies: []
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
method: "PUT",
|
|
178
|
+
path: "/mentions/:id",
|
|
179
|
+
handler: "mention.update",
|
|
180
|
+
config: {
|
|
181
|
+
policies: []
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
method: "POST",
|
|
186
|
+
path: "/mentions",
|
|
187
|
+
handler: "mention.create",
|
|
188
|
+
config: {
|
|
189
|
+
policies: []
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
method: "POST",
|
|
194
|
+
path: "/ingest",
|
|
195
|
+
handler: "ingest.ingest"
|
|
196
|
+
}
|
|
197
|
+
];
|
|
198
|
+
const routes = {
|
|
199
|
+
"content-api": {
|
|
200
|
+
type: "content-api",
|
|
201
|
+
routes: [...contentApi]
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
const { createCoreService } = require("@strapi/strapi").factories;
|
|
205
|
+
const mention = createCoreService("plugin::octalens-mentions.mention");
|
|
206
|
+
const services = {
|
|
207
|
+
mention
|
|
208
|
+
};
|
|
209
|
+
const index = {
|
|
210
|
+
register,
|
|
211
|
+
bootstrap,
|
|
212
|
+
destroy,
|
|
213
|
+
config,
|
|
214
|
+
controllers,
|
|
215
|
+
routes,
|
|
216
|
+
services,
|
|
217
|
+
contentTypes,
|
|
218
|
+
policies,
|
|
219
|
+
middlewares
|
|
220
|
+
};
|
|
221
|
+
export {
|
|
222
|
+
index as default
|
|
223
|
+
};
|
|
224
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../server/src/bootstrap.ts","../../server/src/destroy.ts","../../server/src/register.ts","../../server/src/config/index.ts","../../server/src/content-types/mention/index.ts","../../server/src/content-types/index.ts","../../server/src/controllers/mention/index.ts","../../server/src/controllers/ingest/index.ts","../../server/src/controllers/index.ts","../../server/src/middlewares/index.ts","../../server/src/policies/index.ts","../../server/src/routes/content-api.ts","../../server/src/routes/index.ts","../../server/src/services/mention/index.ts","../../server/src/services/index.ts","../../server/src/index.ts"],"sourcesContent":["import type { Core } from '@strapi/strapi';\n\nconst bootstrap = ({ strapi }: { strapi: Core.Strapi }) => {\n // bootstrap phase\n};\n\nexport default bootstrap;\n","import type { Core } from '@strapi/strapi';\n\nconst destroy = ({ strapi }: { strapi: Core.Strapi }) => {\n // destroy phase\n};\n\nexport default destroy;\n","import type { Core } from '@strapi/strapi';\n\nconst register = ({ strapi }: { strapi: Core.Strapi }) => {\n // register phase\n};\n\nexport default register;\n","export default {\n default: {},\n validator() {},\n};\n","import schema from './schema.json';\n\nexport default {\n schema,\n};","import mention from './mention';\n\nexport default {\n mention,\n};","'use strict';\n\n/**\n * mention controller\n */\n\nconst { createCoreController } = require('@strapi/strapi').factories;\n\nexport default createCoreController('plugin::octalens-mentions.mention');","import type { Core } from '@strapi/strapi';\n\nconst controller = ({ strapi }: { strapi: Core.Strapi }) => ({\n async ingest(ctx) {\n const requestBody = ctx.request.body;\n\n if (!requestBody?.data) return ctx.badRequest('Missing data in request body');\n\n const mentionData = {\n action: requestBody.action,\n title: requestBody.data?.title || '',\n body: requestBody.data?.body || '',\n url: requestBody.data?.url || '',\n timestamp: requestBody.data?.timestamp || '',\n imageUrl: requestBody.data?.imageUrl || '',\n author: requestBody.data?.author || '',\n authorProfileLink: requestBody.data?.authorProfileLink || '',\n source: requestBody.data?.source || '',\n sourceId: requestBody.data?.sourceId || '',\n relevanceScore: requestBody.data?.relevanceScore || '',\n relevanceComment: requestBody.data?.relevanceComment || '',\n keyword: requestBody.data?.keyword || '',\n bookmarked: requestBody.data?.bookmarked || false,\n language: requestBody.data?.language || '',\n sentimentLabel: requestBody.data?.sentimentLabel || '',\n viewId: requestBody.data?.viewId || null,\n viewName: requestBody.data?.viewName || '',\n subreddit: requestBody.data?.subreddit || '',\n };\n\n console.log('###############################');\n console.log('Parsed mention data:', mentionData);\n console.log('###############################');\n\n try {\n const mention = await strapi.service('plugin::octalens-mentions.mention').create({\n data: mentionData,\n });\n\n ctx.body = { data: mention };\n } catch (error) {\n console.error('Error creating mention:', error);\n ctx.throw(500, 'Failed to create mention');\n }\n },\n});\n\nexport default controller;\n","import mention from './mention';\nimport ingest from './ingest';\n\nexport default {\n mention,\n ingest\n};","export default {};\n","export default {};\n","export default [\n {\n method: 'GET',\n path: '/mentions',\n handler: 'mention.find',\n config: {\n policies: [],\n },\n },\n {\n method: 'GET',\n path: '/mentions/:id',\n handler: 'mention.findOne',\n config: {\n policies: [],\n },\n },\n {\n method: 'DELETE',\n path: '/mentions/:id',\n handler: 'mention.delete',\n config: {\n policies: [],\n },\n },\n {\n method: 'PUT',\n path: '/mentions/:id',\n handler: 'mention.update',\n config: {\n policies: [],\n },\n },\n {\n method: 'POST',\n path: '/mentions',\n handler: 'mention.create',\n config: {\n policies: [],\n },\n },\n {\n method: 'POST',\n path: '/ingest',\n handler: 'ingest.ingest'\n }\n];\n","\"use strict\";\n\nimport contentApi from \"./content-api\";\n\nexport default {\n \"content-api\": {\n type: \"content-api\",\n routes: [...contentApi],\n },\n};","'use strict';\n\n/**\n * mention service\n */\n\nconst { createCoreService } = require('@strapi/strapi').factories;\n\nexport default createCoreService('plugin::octalens-mentions.mention');\n","import mention from './mention';\n\nexport default {\n mention,\n};\n","/**\n * Application methods\n */\nimport bootstrap from './bootstrap';\nimport destroy from './destroy';\nimport register from './register';\n\n/**\n * Plugin server methods\n */\nimport config from './config';\nimport contentTypes from './content-types';\nimport controllers from './controllers';\nimport middlewares from './middlewares';\nimport policies from './policies';\nimport routes from './routes';\nimport services from './services';\n\nexport default {\n register,\n bootstrap,\n destroy,\n config,\n controllers,\n routes,\n services,\n contentTypes,\n policies,\n middlewares,\n};\n"],"names":["mention","ingest"],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
mention: {
|
|
3
|
+
schema: {
|
|
4
|
+
kind: string;
|
|
5
|
+
collectionName: string;
|
|
6
|
+
info: {
|
|
7
|
+
singularName: string;
|
|
8
|
+
pluralName: string;
|
|
9
|
+
displayName: string;
|
|
10
|
+
};
|
|
11
|
+
options: {
|
|
12
|
+
draftAndPublish: boolean;
|
|
13
|
+
};
|
|
14
|
+
pluginOptions: {
|
|
15
|
+
"content-manager": {
|
|
16
|
+
visible: boolean;
|
|
17
|
+
};
|
|
18
|
+
"content-type-builder": {
|
|
19
|
+
visible: boolean;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
attributes: {
|
|
23
|
+
action: {
|
|
24
|
+
type: string;
|
|
25
|
+
};
|
|
26
|
+
title: {
|
|
27
|
+
type: string;
|
|
28
|
+
};
|
|
29
|
+
body: {
|
|
30
|
+
type: string;
|
|
31
|
+
};
|
|
32
|
+
url: {
|
|
33
|
+
type: string;
|
|
34
|
+
};
|
|
35
|
+
timestamp: {
|
|
36
|
+
type: string;
|
|
37
|
+
};
|
|
38
|
+
imageUrl: {
|
|
39
|
+
type: string;
|
|
40
|
+
};
|
|
41
|
+
author: {
|
|
42
|
+
type: string;
|
|
43
|
+
};
|
|
44
|
+
authorProfileLink: {
|
|
45
|
+
type: string;
|
|
46
|
+
};
|
|
47
|
+
source: {
|
|
48
|
+
type: string;
|
|
49
|
+
};
|
|
50
|
+
sourceId: {
|
|
51
|
+
type: string;
|
|
52
|
+
};
|
|
53
|
+
relevanceScore: {
|
|
54
|
+
type: string;
|
|
55
|
+
};
|
|
56
|
+
relevanceComment: {
|
|
57
|
+
type: string;
|
|
58
|
+
};
|
|
59
|
+
keyword: {
|
|
60
|
+
type: string;
|
|
61
|
+
};
|
|
62
|
+
bookmarked: {
|
|
63
|
+
type: string;
|
|
64
|
+
default: boolean;
|
|
65
|
+
};
|
|
66
|
+
language: {
|
|
67
|
+
type: string;
|
|
68
|
+
};
|
|
69
|
+
sentimentLabel: {
|
|
70
|
+
type: string;
|
|
71
|
+
};
|
|
72
|
+
viewId: {
|
|
73
|
+
type: string;
|
|
74
|
+
};
|
|
75
|
+
viewName: {
|
|
76
|
+
type: string;
|
|
77
|
+
};
|
|
78
|
+
subreddit: {
|
|
79
|
+
type: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export default _default;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
schema: {
|
|
3
|
+
kind: string;
|
|
4
|
+
collectionName: string;
|
|
5
|
+
info: {
|
|
6
|
+
singularName: string;
|
|
7
|
+
pluralName: string;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
options: {
|
|
11
|
+
draftAndPublish: boolean;
|
|
12
|
+
};
|
|
13
|
+
pluginOptions: {
|
|
14
|
+
"content-manager": {
|
|
15
|
+
visible: boolean;
|
|
16
|
+
};
|
|
17
|
+
"content-type-builder": {
|
|
18
|
+
visible: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
attributes: {
|
|
22
|
+
action: {
|
|
23
|
+
type: string;
|
|
24
|
+
};
|
|
25
|
+
title: {
|
|
26
|
+
type: string;
|
|
27
|
+
};
|
|
28
|
+
body: {
|
|
29
|
+
type: string;
|
|
30
|
+
};
|
|
31
|
+
url: {
|
|
32
|
+
type: string;
|
|
33
|
+
};
|
|
34
|
+
timestamp: {
|
|
35
|
+
type: string;
|
|
36
|
+
};
|
|
37
|
+
imageUrl: {
|
|
38
|
+
type: string;
|
|
39
|
+
};
|
|
40
|
+
author: {
|
|
41
|
+
type: string;
|
|
42
|
+
};
|
|
43
|
+
authorProfileLink: {
|
|
44
|
+
type: string;
|
|
45
|
+
};
|
|
46
|
+
source: {
|
|
47
|
+
type: string;
|
|
48
|
+
};
|
|
49
|
+
sourceId: {
|
|
50
|
+
type: string;
|
|
51
|
+
};
|
|
52
|
+
relevanceScore: {
|
|
53
|
+
type: string;
|
|
54
|
+
};
|
|
55
|
+
relevanceComment: {
|
|
56
|
+
type: string;
|
|
57
|
+
};
|
|
58
|
+
keyword: {
|
|
59
|
+
type: string;
|
|
60
|
+
};
|
|
61
|
+
bookmarked: {
|
|
62
|
+
type: string;
|
|
63
|
+
default: boolean;
|
|
64
|
+
};
|
|
65
|
+
language: {
|
|
66
|
+
type: string;
|
|
67
|
+
};
|
|
68
|
+
sentimentLabel: {
|
|
69
|
+
type: string;
|
|
70
|
+
};
|
|
71
|
+
viewId: {
|
|
72
|
+
type: string;
|
|
73
|
+
};
|
|
74
|
+
viewName: {
|
|
75
|
+
type: string;
|
|
76
|
+
};
|
|
77
|
+
subreddit: {
|
|
78
|
+
type: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export default _default;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
register: ({ strapi }: {
|
|
3
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
4
|
+
}) => void;
|
|
5
|
+
bootstrap: ({ strapi }: {
|
|
6
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
7
|
+
}) => void;
|
|
8
|
+
destroy: ({ strapi }: {
|
|
9
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
10
|
+
}) => void;
|
|
11
|
+
config: {
|
|
12
|
+
default: {};
|
|
13
|
+
validator(): void;
|
|
14
|
+
};
|
|
15
|
+
controllers: {
|
|
16
|
+
mention: any;
|
|
17
|
+
ingest: ({ strapi }: {
|
|
18
|
+
strapi: import("@strapi/types/dist/core").Strapi;
|
|
19
|
+
}) => {
|
|
20
|
+
ingest(ctx: any): Promise<any>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
routes: {
|
|
24
|
+
"content-api": {
|
|
25
|
+
type: string;
|
|
26
|
+
routes: ({
|
|
27
|
+
method: string;
|
|
28
|
+
path: string;
|
|
29
|
+
handler: string;
|
|
30
|
+
config: {
|
|
31
|
+
policies: any[];
|
|
32
|
+
};
|
|
33
|
+
} | {
|
|
34
|
+
method: string;
|
|
35
|
+
path: string;
|
|
36
|
+
handler: string;
|
|
37
|
+
config?: undefined;
|
|
38
|
+
})[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
services: {
|
|
42
|
+
mention: any;
|
|
43
|
+
};
|
|
44
|
+
contentTypes: {
|
|
45
|
+
mention: {
|
|
46
|
+
schema: {
|
|
47
|
+
kind: string;
|
|
48
|
+
collectionName: string;
|
|
49
|
+
info: {
|
|
50
|
+
singularName: string;
|
|
51
|
+
pluralName: string;
|
|
52
|
+
displayName: string;
|
|
53
|
+
};
|
|
54
|
+
options: {
|
|
55
|
+
draftAndPublish: boolean;
|
|
56
|
+
};
|
|
57
|
+
pluginOptions: {
|
|
58
|
+
"content-manager": {
|
|
59
|
+
visible: boolean;
|
|
60
|
+
};
|
|
61
|
+
"content-type-builder": {
|
|
62
|
+
visible: boolean;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
attributes: {
|
|
66
|
+
action: {
|
|
67
|
+
type: string;
|
|
68
|
+
};
|
|
69
|
+
title: {
|
|
70
|
+
type: string;
|
|
71
|
+
};
|
|
72
|
+
body: {
|
|
73
|
+
type: string;
|
|
74
|
+
};
|
|
75
|
+
url: {
|
|
76
|
+
type: string;
|
|
77
|
+
};
|
|
78
|
+
timestamp: {
|
|
79
|
+
type: string;
|
|
80
|
+
};
|
|
81
|
+
imageUrl: {
|
|
82
|
+
type: string;
|
|
83
|
+
};
|
|
84
|
+
author: {
|
|
85
|
+
type: string;
|
|
86
|
+
};
|
|
87
|
+
authorProfileLink: {
|
|
88
|
+
type: string;
|
|
89
|
+
};
|
|
90
|
+
source: {
|
|
91
|
+
type: string;
|
|
92
|
+
};
|
|
93
|
+
sourceId: {
|
|
94
|
+
type: string;
|
|
95
|
+
};
|
|
96
|
+
relevanceScore: {
|
|
97
|
+
type: string;
|
|
98
|
+
};
|
|
99
|
+
relevanceComment: {
|
|
100
|
+
type: string;
|
|
101
|
+
};
|
|
102
|
+
keyword: {
|
|
103
|
+
type: string;
|
|
104
|
+
};
|
|
105
|
+
bookmarked: {
|
|
106
|
+
type: string;
|
|
107
|
+
default: boolean;
|
|
108
|
+
};
|
|
109
|
+
language: {
|
|
110
|
+
type: string;
|
|
111
|
+
};
|
|
112
|
+
sentimentLabel: {
|
|
113
|
+
type: string;
|
|
114
|
+
};
|
|
115
|
+
viewId: {
|
|
116
|
+
type: string;
|
|
117
|
+
};
|
|
118
|
+
viewName: {
|
|
119
|
+
type: string;
|
|
120
|
+
};
|
|
121
|
+
subreddit: {
|
|
122
|
+
type: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
policies: {};
|
|
129
|
+
middlewares: {};
|
|
130
|
+
};
|
|
131
|
+
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"content-api": {
|
|
3
|
+
type: string;
|
|
4
|
+
routes: ({
|
|
5
|
+
method: string;
|
|
6
|
+
path: string;
|
|
7
|
+
handler: string;
|
|
8
|
+
config: {
|
|
9
|
+
policies: any[];
|
|
10
|
+
};
|
|
11
|
+
} | {
|
|
12
|
+
method: string;
|
|
13
|
+
path: string;
|
|
14
|
+
handler: string;
|
|
15
|
+
config?: undefined;
|
|
16
|
+
})[];
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.0.0",
|
|
3
|
+
"keywords": [],
|
|
4
|
+
"type": "commonjs",
|
|
5
|
+
"exports": {
|
|
6
|
+
"./package.json": "./package.json",
|
|
7
|
+
"./strapi-admin": {
|
|
8
|
+
"types": "./dist/admin/src/index.d.ts",
|
|
9
|
+
"source": "./admin/src/index.ts",
|
|
10
|
+
"import": "./dist/admin/index.mjs",
|
|
11
|
+
"require": "./dist/admin/index.js",
|
|
12
|
+
"default": "./dist/admin/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./strapi-server": {
|
|
15
|
+
"types": "./dist/server/src/index.d.ts",
|
|
16
|
+
"source": "./server/src/index.ts",
|
|
17
|
+
"import": "./dist/server/index.mjs",
|
|
18
|
+
"require": "./dist/server/index.js",
|
|
19
|
+
"default": "./dist/server/index.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "strapi-plugin build",
|
|
27
|
+
"watch": "strapi-plugin watch",
|
|
28
|
+
"watch:link": "strapi-plugin watch:link",
|
|
29
|
+
"verify": "strapi-plugin verify",
|
|
30
|
+
"test:ts:front": "run -T tsc -p admin/tsconfig.json",
|
|
31
|
+
"test:ts:back": "run -T tsc -p server/tsconfig.json"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@strapi/design-system": "^2.0.0-rc.30",
|
|
35
|
+
"@strapi/icons": "^2.0.0-rc.30",
|
|
36
|
+
"react-intl": "^7.1.13"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@strapi/strapi": "^5.27.0",
|
|
40
|
+
"@strapi/sdk-plugin": "^5.3.2",
|
|
41
|
+
"prettier": "^3.6.2",
|
|
42
|
+
"react": "^18.3.1",
|
|
43
|
+
"react-dom": "^18.3.1",
|
|
44
|
+
"react-router-dom": "^6.30.1",
|
|
45
|
+
"styled-components": "^6.1.19",
|
|
46
|
+
"@types/react": "^19.2.2",
|
|
47
|
+
"@types/react-dom": "^19.2.1",
|
|
48
|
+
"@strapi/typescript-utils": "^5.27.0",
|
|
49
|
+
"typescript": "^5.9.3"
|
|
50
|
+
},
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"@strapi/strapi": "^5.27.0",
|
|
53
|
+
"@strapi/sdk-plugin": "^5.3.2",
|
|
54
|
+
"react": "^18.3.1",
|
|
55
|
+
"react-dom": "^18.3.1",
|
|
56
|
+
"react-router-dom": "^6.30.1",
|
|
57
|
+
"styled-components": "^6.1.19"
|
|
58
|
+
},
|
|
59
|
+
"strapi": {
|
|
60
|
+
"kind": "plugin",
|
|
61
|
+
"name": "octalens-mentions",
|
|
62
|
+
"displayName": "Octalens Mentions",
|
|
63
|
+
"description": "Get all mentions from Octalense to be able to do something cool with."
|
|
64
|
+
},
|
|
65
|
+
"name": "octalens-mentions",
|
|
66
|
+
"description": "Get all mentions from Octalense to be able to do something cool with.",
|
|
67
|
+
"license": "MIT",
|
|
68
|
+
"author": "Paul Brats <paul.bratslavsky@strapi.io>"
|
|
69
|
+
}
|