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.
Files changed (46) hide show
  1. package/README.md +4 -0
  2. package/dist/_chunks/App-B6IICgyu.js +24 -0
  3. package/dist/_chunks/App-B6IICgyu.js.map +1 -0
  4. package/dist/_chunks/App-BVO2PSDy.mjs +24 -0
  5. package/dist/_chunks/App-BVO2PSDy.mjs.map +1 -0
  6. package/dist/_chunks/en-B4KWt_jN.js +5 -0
  7. package/dist/_chunks/en-B4KWt_jN.js.map +1 -0
  8. package/dist/_chunks/en-Byx4XI2L.mjs +5 -0
  9. package/dist/_chunks/en-Byx4XI2L.mjs.map +1 -0
  10. package/dist/_chunks/index-DWKoTnWi.js +66 -0
  11. package/dist/_chunks/index-DWKoTnWi.js.map +1 -0
  12. package/dist/_chunks/index-Dwi45-n4.mjs +67 -0
  13. package/dist/_chunks/index-Dwi45-n4.mjs.map +1 -0
  14. package/dist/admin/index.js +4 -0
  15. package/dist/admin/index.js.map +1 -0
  16. package/dist/admin/index.mjs +5 -0
  17. package/dist/admin/index.mjs.map +1 -0
  18. package/dist/admin/src/components/Initializer.d.ts +5 -0
  19. package/dist/admin/src/components/PluginIcon.d.ts +2 -0
  20. package/dist/admin/src/index.d.ts +10 -0
  21. package/dist/admin/src/pages/App.d.ts +2 -0
  22. package/dist/admin/src/pages/HomePage.d.ts +2 -0
  23. package/dist/admin/src/pluginId.d.ts +1 -0
  24. package/dist/admin/src/utils/getTranslation.d.ts +2 -0
  25. package/dist/server/index.js +223 -0
  26. package/dist/server/index.js.map +1 -0
  27. package/dist/server/index.mjs +224 -0
  28. package/dist/server/index.mjs.map +1 -0
  29. package/dist/server/src/bootstrap.d.ts +5 -0
  30. package/dist/server/src/config/index.d.ts +5 -0
  31. package/dist/server/src/content-types/index.d.ts +85 -0
  32. package/dist/server/src/content-types/mention/index.d.ts +83 -0
  33. package/dist/server/src/controllers/index.d.ts +9 -0
  34. package/dist/server/src/controllers/ingest/index.d.ts +7 -0
  35. package/dist/server/src/controllers/mention/index.d.ts +2 -0
  36. package/dist/server/src/destroy.d.ts +5 -0
  37. package/dist/server/src/index.d.ts +131 -0
  38. package/dist/server/src/middlewares/index.d.ts +2 -0
  39. package/dist/server/src/policies/index.d.ts +2 -0
  40. package/dist/server/src/register.d.ts +5 -0
  41. package/dist/server/src/routes/content-api.d.ts +14 -0
  42. package/dist/server/src/routes/index.d.ts +19 -0
  43. package/dist/server/src/services/index.d.ts +4 -0
  44. package/dist/server/src/services/mention/index.d.ts +2 -0
  45. package/dist/server/src/services/service.d.ts +7 -0
  46. package/package.json +69 -0
package/README.md ADDED
@@ -0,0 +1,4 @@
1
+ # octalens-mentions
2
+
3
+ Get all mentions from Octalense to be able to do something cool with.
4
+ # strapi-plugin-example-factory-controllers-and-rotes
@@ -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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const en = {};
4
+ exports.default = en;
5
+ //# sourceMappingURL=en-B4KWt_jN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en-B4KWt_jN.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,5 @@
1
+ const en = {};
2
+ export {
3
+ en as default
4
+ };
5
+ //# sourceMappingURL=en-Byx4XI2L.mjs.map
@@ -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,4 @@
1
+ "use strict";
2
+ const index = require("../_chunks/index-DWKoTnWi.js");
3
+ module.exports = index.index;
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,5 @@
1
+ import { i } from "../_chunks/index-Dwi45-n4.mjs";
2
+ export {
3
+ i as default
4
+ };
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ type InitializerProps = {
2
+ setPlugin: (id: string) => void;
3
+ };
4
+ declare const Initializer: ({ setPlugin }: InitializerProps) => null;
5
+ export { Initializer };
@@ -0,0 +1,2 @@
1
+ declare const PluginIcon: () => import("react/jsx-runtime").JSX.Element;
2
+ export { PluginIcon };
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ register(app: any): void;
3
+ registerTrads({ locales }: {
4
+ locales: string[];
5
+ }): Promise<{
6
+ data: any;
7
+ locale: string;
8
+ }[]>;
9
+ };
10
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const App: () => import("react/jsx-runtime").JSX.Element;
2
+ export { App };
@@ -0,0 +1,2 @@
1
+ declare const HomePage: () => import("react/jsx-runtime").JSX.Element;
2
+ export { HomePage };
@@ -0,0 +1 @@
1
+ export declare const PLUGIN_ID = "octalens-mentions";
@@ -0,0 +1,2 @@
1
+ declare const getTranslation: (id: string) => string;
2
+ export { getTranslation };
@@ -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,5 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const bootstrap: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => void;
5
+ export default bootstrap;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ default: {};
3
+ validator(): void;
4
+ };
5
+ export default _default;
@@ -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,9 @@
1
+ declare const _default: {
2
+ mention: any;
3
+ ingest: ({ strapi }: {
4
+ strapi: import("@strapi/types/dist/core").Strapi;
5
+ }) => {
6
+ ingest(ctx: any): Promise<any>;
7
+ };
8
+ };
9
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const controller: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ ingest(ctx: any): Promise<any>;
6
+ };
7
+ export default controller;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const destroy: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => void;
5
+ export default destroy;
@@ -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,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const register: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => void;
5
+ export default register;
@@ -0,0 +1,14 @@
1
+ declare const _default: ({
2
+ method: string;
3
+ path: string;
4
+ handler: string;
5
+ config: {
6
+ policies: any[];
7
+ };
8
+ } | {
9
+ method: string;
10
+ path: string;
11
+ handler: string;
12
+ config?: undefined;
13
+ })[];
14
+ 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;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ mention: any;
3
+ };
4
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: any;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { Core } from '@strapi/strapi';
2
+ declare const service: ({ strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => {
5
+ getWelcomeMessage(): string;
6
+ };
7
+ export default service;
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
+ }