diff --git a/package-lock.json b/package-lock.json index 95981ab..1c5d0c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,9 +18,9 @@ "react": "^18.0.0", "react-dom": "^18.0.0", "react-router-dom": "5.3.4", + "strapi-plugin-import-export-entries": "^1.23.1", "styled-components": "5.3.3" }, - "devDependencies": {}, "engines": { "node": ">=18.0.0 <=20.x.x", "npm": ">=6.0.0" @@ -2095,6 +2095,21 @@ "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==", "license": "BSD-3-Clause" }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, "node_modules/@internationalized/date": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.7.0.tgz", @@ -2349,6 +2364,33 @@ "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==", "license": "BSD-2-Clause" }, + "node_modules/@monaco-editor/loader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", + "integrity": "sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==", + "license": "MIT", + "dependencies": { + "state-local": "^1.0.6" + }, + "peerDependencies": { + "monaco-editor": ">= 0.21.0 < 1" + } + }, + "node_modules/@monaco-editor/react": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.4.5.tgz", + "integrity": "sha512-IImtzU7sRc66OOaQVCG+5PFHkSWnnhrUWGBuH6zNmH2h0YgmAhcjHZQc/6MY9JWEbUtVF1WPBMJ9u1XuFbRrVA==", + "license": "MIT", + "dependencies": { + "@monaco-editor/loader": "^1.3.2", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "monaco-editor": ">= 0.25.0 < 1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4478,6 +4520,27 @@ "node": ">=6" } }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" + }, "node_modules/@simov/deep-extend": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@simov/deep-extend/-/deep-extend-1.0.0.tgz", @@ -7119,6 +7182,12 @@ "node": ">= 6" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, "node_modules/blurhash": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz", @@ -8614,6 +8683,23 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, + "node_modules/csvtojson": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/csvtojson/-/csvtojson-2.0.10.tgz", + "integrity": "sha512-lUWFxGKyhraKCW8Qghz6Z0f2l/PqB1W3AO0HKJzGIQ5JRSlR651ekJDiGJbBT4sRNNv5ddnSGVEnsxP9XRCVpQ==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.1", + "lodash": "^4.17.3", + "strip-bom": "^2.0.0" + }, + "bin": { + "csvtojson": "bin/csvtojson" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -12381,6 +12467,12 @@ "upper-case": "^1.1.0" } }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -12491,6 +12583,19 @@ "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", "license": "MIT" }, + "node_modules/joi": { + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", + "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.0", + "@sideway/pinpoint": "^2.0.0" + } + }, "node_modules/jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", @@ -13836,6 +13941,25 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "license": "MIT" }, + "node_modules/monaco-editor": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.33.0.tgz", + "integrity": "sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==", + "license": "MIT" + }, + "node_modules/monaco-editor-webpack-plugin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-7.0.1.tgz", + "integrity": "sha512-M8qIqizltrPlIbrb73cZdTWfU9sIsUVFvAZkL3KGjAHmVWEJ0hZKa/uad14JuOckc0GwnCaoGHvMoYtJjVyCzw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.2" + }, + "peerDependencies": { + "monaco-editor": ">= 0.31.0", + "webpack": "^4.5.0 || 5.x" + } + }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -16315,6 +16439,23 @@ "react": "^16.3.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-singleton-hook": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-singleton-hook/-/react-singleton-hook-3.3.0.tgz", + "integrity": "sha512-U0qLp7LkpqPAnSQkKNPQmMd0mhar8hAm4VL+3y/bJFoi9H817wl+gM0z7RAMfOE49E8tlCMroEavqwJa6wItlg==", + "license": "MIT", + "peerDependencies": { + "react": "15 - 18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/react-style-singleton": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", @@ -18017,6 +18158,12 @@ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "license": "MIT" }, + "node_modules/state-local": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", + "license": "MIT" + }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -18064,6 +18211,50 @@ "node": ">= 0.8" } }, + "node_modules/strapi-plugin-import-export-entries": { + "version": "1.23.1", + "resolved": "https://registry.npmjs.org/strapi-plugin-import-export-entries/-/strapi-plugin-import-export-entries-1.23.1.tgz", + "integrity": "sha512-9+ieSBjAz5QwishfXtN+WDHUvjLFr6rILsOj3M9lgdXT8E+5fyF3ZMv63aSAxmKzDaRczXo8frxPqf8uehDjoA==", + "license": "MIT", + "dependencies": { + "@monaco-editor/react": "4.4.5", + "csvtojson": "2.0.10", + "deepmerge": "^4.2.2", + "joi": "17.6.0", + "lodash": "4.17.21", + "monaco-editor": "0.33.0", + "monaco-editor-webpack-plugin": "7.0.1", + "node-fetch": "2.6.9", + "react-singleton-hook": "3.3.0" + }, + "engines": { + "node": ">=14.19.1 <=20.x.x", + "npm": ">=6.0.0" + }, + "peerDependencies": { + "@strapi/strapi": "^4.10.5" + } + }, + "node_modules/strapi-plugin-import-export-entries/node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/stream-chain": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz", @@ -18176,6 +18367,18 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", diff --git a/package.json b/package.json index ae51509..d1e3701 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "react": "^18.0.0", "react-dom": "^18.0.0", "react-router-dom": "5.3.4", + "strapi-plugin-import-export-entries": "^1.23.1", "styled-components": "5.3.3" }, "author": { diff --git a/src/api/display2/content-types/display2/schema.json b/src/api/display2/content-types/display2/schema.json new file mode 100644 index 0000000..6a0b8e4 --- /dev/null +++ b/src/api/display2/content-types/display2/schema.json @@ -0,0 +1,18 @@ +{ + "kind": "collectionType", + "collectionName": "display2s", + "info": { + "singularName": "display2", + "pluralName": "display2s", + "displayName": "display2" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "json1": { + "type": "json" + } + } +} diff --git a/src/api/display2/controllers/display2.ts b/src/api/display2/controllers/display2.ts new file mode 100644 index 0000000..51601ab --- /dev/null +++ b/src/api/display2/controllers/display2.ts @@ -0,0 +1,7 @@ +/** + * display2 controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::display2.display2'); diff --git a/src/api/display2/routes/display2.ts b/src/api/display2/routes/display2.ts new file mode 100644 index 0000000..e65e6d4 --- /dev/null +++ b/src/api/display2/routes/display2.ts @@ -0,0 +1,7 @@ +/** + * display2 router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::display2.display2'); diff --git a/src/api/display2/services/display2.ts b/src/api/display2/services/display2.ts new file mode 100644 index 0000000..1b87eba --- /dev/null +++ b/src/api/display2/services/display2.ts @@ -0,0 +1,7 @@ +/** + * display2 service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::display2.display2'); diff --git a/src/api/janlist/content-types/janlist/schema.json b/src/api/janlist/content-types/janlist/schema.json new file mode 100644 index 0000000..188d9c2 --- /dev/null +++ b/src/api/janlist/content-types/janlist/schema.json @@ -0,0 +1,24 @@ +{ + "kind": "collectionType", + "collectionName": "janlists", + "info": { + "singularName": "janlist", + "pluralName": "janlists", + "displayName": "janlist" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "product": { + "type": "string" + }, + "jan": { + "type": "string" + }, + "description": { + "type": "string" + } + } +} diff --git a/src/api/janlist/controllers/janlist.ts b/src/api/janlist/controllers/janlist.ts new file mode 100644 index 0000000..3a6d29d --- /dev/null +++ b/src/api/janlist/controllers/janlist.ts @@ -0,0 +1,7 @@ +/** + * janlist controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::janlist.janlist'); diff --git a/src/api/janlist/routes/janlist.ts b/src/api/janlist/routes/janlist.ts new file mode 100644 index 0000000..0be0877 --- /dev/null +++ b/src/api/janlist/routes/janlist.ts @@ -0,0 +1,7 @@ +/** + * janlist router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::janlist.janlist'); diff --git a/src/api/janlist/services/janlist.ts b/src/api/janlist/services/janlist.ts new file mode 100644 index 0000000..a9e44e7 --- /dev/null +++ b/src/api/janlist/services/janlist.ts @@ -0,0 +1,7 @@ +/** + * janlist service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::janlist.janlist'); diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index cd492bc..fe2a66b 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -400,6 +400,68 @@ export interface ApiDisplay1Display1 extends Schema.CollectionType { }; } +export interface ApiDisplay2Display2 extends Schema.CollectionType { + collectionName: 'display2s'; + info: { + displayName: 'display2'; + pluralName: 'display2s'; + singularName: 'display2'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Attribute.DateTime; + createdBy: Attribute.Relation< + 'api::display2.display2', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + json1: Attribute.JSON; + publishedAt: Attribute.DateTime; + updatedAt: Attribute.DateTime; + updatedBy: Attribute.Relation< + 'api::display2.display2', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + }; +} + +export interface ApiJanlistJanlist extends Schema.CollectionType { + collectionName: 'janlists'; + info: { + displayName: 'janlist'; + pluralName: 'janlists'; + singularName: 'janlist'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Attribute.DateTime; + createdBy: Attribute.Relation< + 'api::janlist.janlist', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + description: Attribute.String; + jan: Attribute.String; + product: Attribute.String; + publishedAt: Attribute.DateTime; + updatedAt: Attribute.DateTime; + updatedBy: Attribute.Relation< + 'api::janlist.janlist', + 'oneToOne', + 'admin::user' + > & + Attribute.Private; + }; +} + export interface PluginContentReleasesRelease extends Schema.CollectionType { collectionName: 'strapi_releases'; info: { @@ -837,6 +899,8 @@ declare module '@strapi/types' { 'admin::transfer-token-permission': AdminTransferTokenPermission; 'admin::user': AdminUser; 'api::display1.display1': ApiDisplay1Display1; + 'api::display2.display2': ApiDisplay2Display2; + 'api::janlist.janlist': ApiJanlistJanlist; 'plugin::content-releases.release': PluginContentReleasesRelease; 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; 'plugin::i18n.locale': PluginI18NLocale;