From eac565f0cd27803570f59817070cc6b21b136e40 Mon Sep 17 00:00:00 2001 From: ShahriarKh <31452340+ShahriarKh@users.noreply.github.com> Date: Fri, 14 Jul 2023 02:52:55 +0330 Subject: [PATCH] update folder structure --- README.md | 4 +- .../admin => admin}/src/api/explorer-api.js | 22 +- .../src/components/CustomNode.css | 70 +++--- .../src/components/CustomNode.js | 232 +++++++++--------- .../src/components/Initializer/index.js | 0 .../src/components/OptionsBar.js | 220 ++++++++--------- .../src/components/PluginIcon/index.js | 0 .../src/components/RelationIndicator.js | 42 ++-- .../admin => admin}/src/index.js | 0 .../admin => admin}/src/pages/App/index.js | 0 .../src/pages/HomePage/index.js | 0 .../src/pages/HomePage/styles.css | 24 +- .../admin => admin}/src/pluginId.js | 0 .../admin => admin}/src/translations/en.json | 0 .../admin => admin}/src/translations/fr.json | 0 .../admin => admin}/src/utils/dataUtils.js | 108 ++++---- .../admin => admin}/src/utils/getTrad.js | 0 .../admin => admin}/src/utils/themeUtils.js | 172 ++++++------- content-type-explorer/README.md | 3 - .../package.json => package.json | 0 .../server => server}/bootstrap.js | 0 .../server => server}/config/index.js | 0 .../server => server}/content-types/index.js | 0 .../controllers/explorer-controller.js | 0 .../server => server}/controllers/index.js | 0 .../server => server}/destroy.js | 0 .../server => server}/index.js | 0 .../server => server}/middlewares/index.js | 0 .../server => server}/policies/index.js | 0 .../server => server}/register.js | 0 .../server => server}/routes/index.js | 0 .../services/explorer-service.js | 0 .../server => server}/services/index.js | 0 .../strapi-admin.js => strapi-admin.js | 0 .../strapi-server.js => strapi-server.js | 0 35 files changed, 448 insertions(+), 449 deletions(-) rename {content-type-explorer/admin => admin}/src/api/explorer-api.js (95%) rename {content-type-explorer/admin => admin}/src/components/CustomNode.css (93%) rename {content-type-explorer/admin => admin}/src/components/CustomNode.js (96%) rename {content-type-explorer/admin => admin}/src/components/Initializer/index.js (100%) rename {content-type-explorer/admin => admin}/src/components/OptionsBar.js (96%) rename {content-type-explorer/admin => admin}/src/components/PluginIcon/index.js (100%) rename {content-type-explorer/admin => admin}/src/components/RelationIndicator.js (95%) rename {content-type-explorer/admin => admin}/src/index.js (100%) rename {content-type-explorer/admin => admin}/src/pages/App/index.js (100%) rename {content-type-explorer/admin => admin}/src/pages/HomePage/index.js (100%) rename {content-type-explorer/admin => admin}/src/pages/HomePage/styles.css (95%) rename {content-type-explorer/admin => admin}/src/pluginId.js (100%) rename {content-type-explorer/admin => admin}/src/translations/en.json (100%) rename {content-type-explorer/admin => admin}/src/translations/fr.json (100%) rename {content-type-explorer/admin => admin}/src/utils/dataUtils.js (96%) rename {content-type-explorer/admin => admin}/src/utils/getTrad.js (100%) rename {content-type-explorer/admin => admin}/src/utils/themeUtils.js (95%) delete mode 100644 content-type-explorer/README.md rename content-type-explorer/package.json => package.json (100%) rename {content-type-explorer/server => server}/bootstrap.js (100%) rename {content-type-explorer/server => server}/config/index.js (100%) rename {content-type-explorer/server => server}/content-types/index.js (100%) rename {content-type-explorer/server => server}/controllers/explorer-controller.js (100%) rename {content-type-explorer/server => server}/controllers/index.js (100%) rename {content-type-explorer/server => server}/destroy.js (100%) rename {content-type-explorer/server => server}/index.js (100%) rename {content-type-explorer/server => server}/middlewares/index.js (100%) rename {content-type-explorer/server => server}/policies/index.js (100%) rename {content-type-explorer/server => server}/register.js (100%) rename {content-type-explorer/server => server}/routes/index.js (100%) rename {content-type-explorer/server => server}/services/explorer-service.js (100%) rename {content-type-explorer/server => server}/services/index.js (100%) rename content-type-explorer/strapi-admin.js => strapi-admin.js (100%) rename content-type-explorer/strapi-server.js => strapi-server.js (100%) diff --git a/README.md b/README.md index 2a98959..406287a 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# strapi-content-type-explorer \ No newline at end of file +# Strapi plugin content-type-explorer + +A quick description of content-type-explorer. diff --git a/content-type-explorer/admin/src/api/explorer-api.js b/admin/src/api/explorer-api.js similarity index 95% rename from content-type-explorer/admin/src/api/explorer-api.js rename to admin/src/api/explorer-api.js index 60bed31..bbec9d0 100644 --- a/content-type-explorer/admin/src/api/explorer-api.js +++ b/admin/src/api/explorer-api.js @@ -1,11 +1,11 @@ -import { request } from "@strapi/helper-plugin"; - -const explorerRequests = { - getContentTypes: async () => { - return await request("/content-type-explorer/get-content-types", { - method: "GET", - }); - }, -}; - -export default explorerRequests; +import { request } from "@strapi/helper-plugin"; + +const explorerRequests = { + getContentTypes: async () => { + return await request("/content-type-explorer/get-content-types", { + method: "GET", + }); + }, +}; + +export default explorerRequests; diff --git a/content-type-explorer/admin/src/components/CustomNode.css b/admin/src/components/CustomNode.css similarity index 93% rename from content-type-explorer/admin/src/components/CustomNode.css rename to admin/src/components/CustomNode.css index 708a5fc..7653e7b 100644 --- a/content-type-explorer/admin/src/components/CustomNode.css +++ b/admin/src/components/CustomNode.css @@ -1,35 +1,35 @@ -.cte-plugin-box { - position: relative; - min-width: 280px; -} - -.cte-plugin-header { - user-select: text; - cursor: auto; -} - -.cte-plugin-line { - margin-right: auto; - padding-right: 12px; /*minimum gap*/ - margin-top: -2px; - user-select: text; - cursor: auto; -} - -.cte-plugin-handle { - position: absolute; - right: -27px; - top: 6px; - bottom: 0; - margin: auto; - visibility: hidden; - position: absolute; - padding: 0; -} - -.cte-plugin-field { - display: flex; - align-items: center; - margin-bottom: 6px; - position: relative; -} +.cte-plugin-box { + position: relative; + min-width: 280px; +} + +.cte-plugin-header { + user-select: text; + cursor: auto; +} + +.cte-plugin-line { + margin-right: auto; + padding-right: 12px; /*minimum gap*/ + margin-top: -2px; + user-select: text; + cursor: auto; +} + +.cte-plugin-handle { + position: absolute; + right: -27px; + top: 6px; + bottom: 0; + margin: auto; + visibility: hidden; + position: absolute; + padding: 0; +} + +.cte-plugin-field { + display: flex; + align-items: center; + margin-bottom: 6px; + position: relative; +} diff --git a/content-type-explorer/admin/src/components/CustomNode.js b/admin/src/components/CustomNode.js similarity index 96% rename from content-type-explorer/admin/src/components/CustomNode.js rename to admin/src/components/CustomNode.js index 12fc021..2aceadf 100644 --- a/content-type-explorer/admin/src/components/CustomNode.js +++ b/admin/src/components/CustomNode.js @@ -1,116 +1,116 @@ -/** - * - * PluginIcon - * - */ - -import React from "react"; -import { - Badge, - Box, - Divider, - Tooltip, - Typography, -} from "@strapi/design-system"; -import { useTheme } from "styled-components"; -import { Handle } from "reactflow"; -import { RelationIndicator } from "./RelationIndicator"; -import { getIcon } from "../utils/themeUtils"; -import "./CustomNode.css"; - -export default function CustomNode({ data }) { - let attributesToShow = Object.entries(data.attributes); - - if (data.options.showRelationsOnly) { - attributesToShow = attributesToShow.filter((x) => x[1].type === "relation"); - } - - if (!data.options.showDefaultFields) { - attributesToShow = attributesToShow.filter( - (x) => - !( - x[0] === "updatedAt" || - x[0] === "createdAt" || - x[0] === "updatedBy" || - x[0] === "createdBy" || - x[0] === "publishedAt" - ) - ); - } - - const theme = useTheme(); - return ( - - - {data.info.displayName} - - -
- - {data.key} - - - - - - {attributesToShow.map((attr) => { - return ( - -
-

{attr[0]}

- - {data.options.showTypes && ( - - {attr[1].type} - - )} - - {data.options.showIcons && getIcon(attr[1].type)} - {attr[1].type === "relation" && ( - <> - - - {getIcon(attr[1].relation)} - - - - - )} -
-
- ); - })} -
- ); -} +/** + * + * PluginIcon + * + */ + +import React from "react"; +import { + Badge, + Box, + Divider, + Tooltip, + Typography, +} from "@strapi/design-system"; +import { useTheme } from "styled-components"; +import { Handle } from "reactflow"; +import { RelationIndicator } from "./RelationIndicator"; +import { getIcon } from "../utils/themeUtils"; +import "./CustomNode.css"; + +export default function CustomNode({ data }) { + let attributesToShow = Object.entries(data.attributes); + + if (data.options.showRelationsOnly) { + attributesToShow = attributesToShow.filter((x) => x[1].type === "relation"); + } + + if (!data.options.showDefaultFields) { + attributesToShow = attributesToShow.filter( + (x) => + !( + x[0] === "updatedAt" || + x[0] === "createdAt" || + x[0] === "updatedBy" || + x[0] === "createdBy" || + x[0] === "publishedAt" + ) + ); + } + + const theme = useTheme(); + return ( + + + {data.info.displayName} + + +
+ + {data.key} + + + + + + {attributesToShow.map((attr) => { + return ( + +
+

{attr[0]}

+ + {data.options.showTypes && ( + + {attr[1].type} + + )} + + {data.options.showIcons && getIcon(attr[1].type)} + {attr[1].type === "relation" && ( + <> + + + {getIcon(attr[1].relation)} + + + + + )} +
+
+ ); + })} +
+ ); +} diff --git a/content-type-explorer/admin/src/components/Initializer/index.js b/admin/src/components/Initializer/index.js similarity index 100% rename from content-type-explorer/admin/src/components/Initializer/index.js rename to admin/src/components/Initializer/index.js diff --git a/content-type-explorer/admin/src/components/OptionsBar.js b/admin/src/components/OptionsBar.js similarity index 96% rename from content-type-explorer/admin/src/components/OptionsBar.js rename to admin/src/components/OptionsBar.js index 0ffa0bd..27c9d41 100644 --- a/content-type-explorer/admin/src/components/OptionsBar.js +++ b/admin/src/components/OptionsBar.js @@ -1,110 +1,110 @@ -import { - Checkbox, - SingleSelect, - SingleSelectOption, -} from "@strapi/design-system"; -import React from "react"; - -export default function OptionsBar({ options, toggleOption }) { - return ( -
- { - toggleOption("showTypes"); - }} - value={options.showTypes} - > - Fields Data Types - - toggleOption("showIcons")} - value={options.showIcons} - > - Fields Icons - - toggleOption("showDefaultFields")} - value={options.showDefaultFields} - > - Default Fields - - toggleOption("showRelationsOnly")} - value={options.showRelationsOnly} - > - Relational Fields Only - - toggleOption("showAdminTypes")} - value={options.showAdminTypes} - > - admin:: Types - - toggleOption("showPluginTypes")} - value={options.showPluginTypes} - > - plugin:: Types - - toggleOption("showEdges")} - value={options.showEdges} - > - Edges - - toggleOption("snapToGrid")} - value={options.snapToGrid} - > - Snap To Grid - -
- toggleOption("edgeType", type)} - > - - Smart Bezier - - - Smart Straight - - Smart Step - Bezier - - Simple Bezier - - Straight - Step - Smooth Step - - toggleOption("backgroundPattern", pattern)} - > - Dots - Lines - Cross - None - -
- ); -} +import { + Checkbox, + SingleSelect, + SingleSelectOption, +} from "@strapi/design-system"; +import React from "react"; + +export default function OptionsBar({ options, toggleOption }) { + return ( +
+ { + toggleOption("showTypes"); + }} + value={options.showTypes} + > + Fields Data Types + + toggleOption("showIcons")} + value={options.showIcons} + > + Fields Icons + + toggleOption("showDefaultFields")} + value={options.showDefaultFields} + > + Default Fields + + toggleOption("showRelationsOnly")} + value={options.showRelationsOnly} + > + Relational Fields Only + + toggleOption("showAdminTypes")} + value={options.showAdminTypes} + > + admin:: Types + + toggleOption("showPluginTypes")} + value={options.showPluginTypes} + > + plugin:: Types + + toggleOption("showEdges")} + value={options.showEdges} + > + Edges + + toggleOption("snapToGrid")} + value={options.snapToGrid} + > + Snap To Grid + +
+ toggleOption("edgeType", type)} + > + + Smart Bezier + + + Smart Straight + + Smart Step + Bezier + + Simple Bezier + + Straight + Step + Smooth Step + + toggleOption("backgroundPattern", pattern)} + > + Dots + Lines + Cross + None + +
+ ); +} diff --git a/content-type-explorer/admin/src/components/PluginIcon/index.js b/admin/src/components/PluginIcon/index.js similarity index 100% rename from content-type-explorer/admin/src/components/PluginIcon/index.js rename to admin/src/components/PluginIcon/index.js diff --git a/content-type-explorer/admin/src/components/RelationIndicator.js b/admin/src/components/RelationIndicator.js similarity index 95% rename from content-type-explorer/admin/src/components/RelationIndicator.js rename to admin/src/components/RelationIndicator.js index d47725a..fa446bc 100644 --- a/content-type-explorer/admin/src/components/RelationIndicator.js +++ b/admin/src/components/RelationIndicator.js @@ -1,21 +1,21 @@ -import styled from "styled-components"; - -export const RelationIndicator = styled.span` - height: 20px; - width: 20px; - font-size: 12px; - border-radius: 4px; - display: flex; - justify-content: center; - align-items: center; - background: ${(props) => props.theme.colors.neutral0}; - position: absolute; - right: -32px; - top: 0; - bottom: 0; - margin: auto; - - svg path { - fill: ${(props) => props.theme.colors.buttonPrimary500}; - } -`; +import styled from "styled-components"; + +export const RelationIndicator = styled.span` + height: 20px; + width: 20px; + font-size: 12px; + border-radius: 4px; + display: flex; + justify-content: center; + align-items: center; + background: ${(props) => props.theme.colors.neutral0}; + position: absolute; + right: -32px; + top: 0; + bottom: 0; + margin: auto; + + svg path { + fill: ${(props) => props.theme.colors.buttonPrimary500}; + } +`; diff --git a/content-type-explorer/admin/src/index.js b/admin/src/index.js similarity index 100% rename from content-type-explorer/admin/src/index.js rename to admin/src/index.js diff --git a/content-type-explorer/admin/src/pages/App/index.js b/admin/src/pages/App/index.js similarity index 100% rename from content-type-explorer/admin/src/pages/App/index.js rename to admin/src/pages/App/index.js diff --git a/content-type-explorer/admin/src/pages/HomePage/index.js b/admin/src/pages/HomePage/index.js similarity index 100% rename from content-type-explorer/admin/src/pages/HomePage/index.js rename to admin/src/pages/HomePage/index.js diff --git a/content-type-explorer/admin/src/pages/HomePage/styles.css b/admin/src/pages/HomePage/styles.css similarity index 95% rename from content-type-explorer/admin/src/pages/HomePage/styles.css rename to admin/src/pages/HomePage/styles.css index 0231a11..c7c473c 100644 --- a/content-type-explorer/admin/src/pages/HomePage/styles.css +++ b/admin/src/pages/HomePage/styles.css @@ -1,12 +1,12 @@ -.cte-plugin-controls button { - background-color: var(--button-background); - border: none; -} - -.cte-plugin-controls button:hover { - background-color: var(--button-hover); -} - -.cte-plugin-controls button svg { - fill: var(--button-foreground); -} +.cte-plugin-controls button { + background-color: var(--button-background); + border: none; +} + +.cte-plugin-controls button:hover { + background-color: var(--button-hover); +} + +.cte-plugin-controls button svg { + fill: var(--button-foreground); +} diff --git a/content-type-explorer/admin/src/pluginId.js b/admin/src/pluginId.js similarity index 100% rename from content-type-explorer/admin/src/pluginId.js rename to admin/src/pluginId.js diff --git a/content-type-explorer/admin/src/translations/en.json b/admin/src/translations/en.json similarity index 100% rename from content-type-explorer/admin/src/translations/en.json rename to admin/src/translations/en.json diff --git a/content-type-explorer/admin/src/translations/fr.json b/admin/src/translations/fr.json similarity index 100% rename from content-type-explorer/admin/src/translations/fr.json rename to admin/src/translations/fr.json diff --git a/content-type-explorer/admin/src/utils/dataUtils.js b/admin/src/utils/dataUtils.js similarity index 96% rename from content-type-explorer/admin/src/utils/dataUtils.js rename to admin/src/utils/dataUtils.js index 204fad3..2e21b75 100644 --- a/content-type-explorer/admin/src/utils/dataUtils.js +++ b/admin/src/utils/dataUtils.js @@ -1,54 +1,54 @@ -const CARDS_PER_ROW = 6; - -export function createNodes(contentTypes, options) { - let newNodes = []; - contentTypes.map( - (node, index) => - (newNodes = [ - ...newNodes, - { - id: node.key, - position: { - x: (index % CARDS_PER_ROW) * 320, - y: ((index - (index % CARDS_PER_ROW)) / CARDS_PER_ROW) * 560, - }, - type: "special", - - data: { - ...node, - options: options, - }, - }, - ]) - ); - return newNodes; -} - -export function createEdegs(contentTypes, options) { - let newEdges = []; - - contentTypes.map((contentType) => { - Object.keys(contentType.attributes).map((attr) => { - if (contentType.attributes[attr].type == "relation") { - // only add edge if target node is not excluded (not hidden) - if ( - contentTypes.some( - (node) => node.key === contentType.attributes[attr].target - ) - ) { - newEdges = [ - ...newEdges, - { - id: `${contentType.attributes[attr].target}-${contentType.key}.${attr}`, - source: contentType.key, - target: contentType.attributes[attr].target, - type: options.edgeType, - sourceHandle: attr, - }, - ]; - } - } - }); - }); - return newEdges; -} +const CARDS_PER_ROW = 6; + +export function createNodes(contentTypes, options) { + let newNodes = []; + contentTypes.map( + (node, index) => + (newNodes = [ + ...newNodes, + { + id: node.key, + position: { + x: (index % CARDS_PER_ROW) * 320, + y: ((index - (index % CARDS_PER_ROW)) / CARDS_PER_ROW) * 560, + }, + type: "special", + + data: { + ...node, + options: options, + }, + }, + ]) + ); + return newNodes; +} + +export function createEdegs(contentTypes, options) { + let newEdges = []; + + contentTypes.map((contentType) => { + Object.keys(contentType.attributes).map((attr) => { + if (contentType.attributes[attr].type == "relation") { + // only add edge if target node is not excluded (not hidden) + if ( + contentTypes.some( + (node) => node.key === contentType.attributes[attr].target + ) + ) { + newEdges = [ + ...newEdges, + { + id: `${contentType.attributes[attr].target}-${contentType.key}.${attr}`, + source: contentType.key, + target: contentType.attributes[attr].target, + type: options.edgeType, + sourceHandle: attr, + }, + ]; + } + } + }); + }); + return newEdges; +} diff --git a/content-type-explorer/admin/src/utils/getTrad.js b/admin/src/utils/getTrad.js similarity index 100% rename from content-type-explorer/admin/src/utils/getTrad.js rename to admin/src/utils/getTrad.js diff --git a/content-type-explorer/admin/src/utils/themeUtils.js b/admin/src/utils/themeUtils.js similarity index 95% rename from content-type-explorer/admin/src/utils/themeUtils.js rename to admin/src/utils/themeUtils.js index 0ceb0fc..0091a58 100644 --- a/content-type-explorer/admin/src/utils/themeUtils.js +++ b/admin/src/utils/themeUtils.js @@ -1,86 +1,86 @@ -import React from "react"; -import { darkTheme } from "@strapi/design-system"; - -import { - Text, - Email, - Password, - Number, - Enumeration, - Date, - Media, - Boolean, - Json, - Relation, - Uid, - OneToMany, - OneToOne, - ManyToMany, - ManyToOne, - OneWay, - ManyWays, - RichText, -} from "@strapi/icons"; - -export function getBackgroundColor(variant, theme) { - switch (variant) { - case "cross": - return theme.colors.neutral200; - case "dots": - return darkTheme.colors.neutral300; - case "lines": - return theme.colors.neutral150; - case "none": - return theme.colors.neutral100; - } -} - -export function getIcon(attrType) { - switch (attrType.toLowerCase()) { - case "string": - case "text": - return ; - case "email": - return ; - case "enumeration": - return ; - case "password": - return ; - case "boolean": - return ; - case "relation": - return ; - case "datetime": - case "date": - case "time": - return ; - case "integer": - case "decimal": - case "biginteger": - case "float": - return ; - case "json": - return ; - case "uid": - return ; - case "richtext": - return ; - case "media": - return ; - - case "onetomany": // - return ; - case "oneway": - return ; - case "onetoone": // - return ; - case "manytomany": // - return ; - case "manytoone": // - return ; - case "manyways": - // Not sure - case "morphtomany": - return ; - } -} +import React from "react"; +import { darkTheme } from "@strapi/design-system"; + +import { + Text, + Email, + Password, + Number, + Enumeration, + Date, + Media, + Boolean, + Json, + Relation, + Uid, + OneToMany, + OneToOne, + ManyToMany, + ManyToOne, + OneWay, + ManyWays, + RichText, +} from "@strapi/icons"; + +export function getBackgroundColor(variant, theme) { + switch (variant) { + case "cross": + return theme.colors.neutral200; + case "dots": + return darkTheme.colors.neutral300; + case "lines": + return theme.colors.neutral150; + case "none": + return theme.colors.neutral100; + } +} + +export function getIcon(attrType) { + switch (attrType.toLowerCase()) { + case "string": + case "text": + return ; + case "email": + return ; + case "enumeration": + return ; + case "password": + return ; + case "boolean": + return ; + case "relation": + return ; + case "datetime": + case "date": + case "time": + return ; + case "integer": + case "decimal": + case "biginteger": + case "float": + return ; + case "json": + return ; + case "uid": + return ; + case "richtext": + return ; + case "media": + return ; + + case "onetomany": // + return ; + case "oneway": + return ; + case "onetoone": // + return ; + case "manytomany": // + return ; + case "manytoone": // + return ; + case "manyways": + // Not sure + case "morphtomany": + return ; + } +} diff --git a/content-type-explorer/README.md b/content-type-explorer/README.md deleted file mode 100644 index 406287a..0000000 --- a/content-type-explorer/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Strapi plugin content-type-explorer - -A quick description of content-type-explorer. diff --git a/content-type-explorer/package.json b/package.json similarity index 100% rename from content-type-explorer/package.json rename to package.json diff --git a/content-type-explorer/server/bootstrap.js b/server/bootstrap.js similarity index 100% rename from content-type-explorer/server/bootstrap.js rename to server/bootstrap.js diff --git a/content-type-explorer/server/config/index.js b/server/config/index.js similarity index 100% rename from content-type-explorer/server/config/index.js rename to server/config/index.js diff --git a/content-type-explorer/server/content-types/index.js b/server/content-types/index.js similarity index 100% rename from content-type-explorer/server/content-types/index.js rename to server/content-types/index.js diff --git a/content-type-explorer/server/controllers/explorer-controller.js b/server/controllers/explorer-controller.js similarity index 100% rename from content-type-explorer/server/controllers/explorer-controller.js rename to server/controllers/explorer-controller.js diff --git a/content-type-explorer/server/controllers/index.js b/server/controllers/index.js similarity index 100% rename from content-type-explorer/server/controllers/index.js rename to server/controllers/index.js diff --git a/content-type-explorer/server/destroy.js b/server/destroy.js similarity index 100% rename from content-type-explorer/server/destroy.js rename to server/destroy.js diff --git a/content-type-explorer/server/index.js b/server/index.js similarity index 100% rename from content-type-explorer/server/index.js rename to server/index.js diff --git a/content-type-explorer/server/middlewares/index.js b/server/middlewares/index.js similarity index 100% rename from content-type-explorer/server/middlewares/index.js rename to server/middlewares/index.js diff --git a/content-type-explorer/server/policies/index.js b/server/policies/index.js similarity index 100% rename from content-type-explorer/server/policies/index.js rename to server/policies/index.js diff --git a/content-type-explorer/server/register.js b/server/register.js similarity index 100% rename from content-type-explorer/server/register.js rename to server/register.js diff --git a/content-type-explorer/server/routes/index.js b/server/routes/index.js similarity index 100% rename from content-type-explorer/server/routes/index.js rename to server/routes/index.js diff --git a/content-type-explorer/server/services/explorer-service.js b/server/services/explorer-service.js similarity index 100% rename from content-type-explorer/server/services/explorer-service.js rename to server/services/explorer-service.js diff --git a/content-type-explorer/server/services/index.js b/server/services/index.js similarity index 100% rename from content-type-explorer/server/services/index.js rename to server/services/index.js diff --git a/content-type-explorer/strapi-admin.js b/strapi-admin.js similarity index 100% rename from content-type-explorer/strapi-admin.js rename to strapi-admin.js diff --git a/content-type-explorer/strapi-server.js b/strapi-server.js similarity index 100% rename from content-type-explorer/strapi-server.js rename to strapi-server.js