@ -0,0 +1,114 @@ |
|||||||
|
############################ |
||||||
|
# OS X |
||||||
|
############################ |
||||||
|
|
||||||
|
.DS_Store |
||||||
|
.AppleDouble |
||||||
|
.LSOverride |
||||||
|
Icon |
||||||
|
.Spotlight-V100 |
||||||
|
.Trashes |
||||||
|
._* |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Linux |
||||||
|
############################ |
||||||
|
|
||||||
|
*~ |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Windows |
||||||
|
############################ |
||||||
|
|
||||||
|
Thumbs.db |
||||||
|
ehthumbs.db |
||||||
|
Desktop.ini |
||||||
|
$RECYCLE.BIN/ |
||||||
|
*.cab |
||||||
|
*.msi |
||||||
|
*.msm |
||||||
|
*.msp |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Packages |
||||||
|
############################ |
||||||
|
|
||||||
|
*.7z |
||||||
|
*.csv |
||||||
|
*.dat |
||||||
|
*.dmg |
||||||
|
*.gz |
||||||
|
*.iso |
||||||
|
*.jar |
||||||
|
*.rar |
||||||
|
*.tar |
||||||
|
*.zip |
||||||
|
*.com |
||||||
|
*.class |
||||||
|
*.dll |
||||||
|
*.exe |
||||||
|
*.o |
||||||
|
*.seed |
||||||
|
*.so |
||||||
|
*.swo |
||||||
|
*.swp |
||||||
|
*.swn |
||||||
|
*.swm |
||||||
|
*.out |
||||||
|
*.pid |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Logs and databases |
||||||
|
############################ |
||||||
|
|
||||||
|
.tmp |
||||||
|
*.log |
||||||
|
*.sql |
||||||
|
*.sqlite |
||||||
|
*.sqlite3 |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Misc. |
||||||
|
############################ |
||||||
|
|
||||||
|
*# |
||||||
|
ssl |
||||||
|
.idea |
||||||
|
nbproject |
||||||
|
public/uploads/* |
||||||
|
!public/uploads/.gitkeep |
||||||
|
|
||||||
|
############################ |
||||||
|
# Node.js |
||||||
|
############################ |
||||||
|
|
||||||
|
lib-cov |
||||||
|
lcov.info |
||||||
|
pids |
||||||
|
logs |
||||||
|
results |
||||||
|
node_modules |
||||||
|
.node_history |
||||||
|
|
||||||
|
############################ |
||||||
|
# Tests |
||||||
|
############################ |
||||||
|
|
||||||
|
testApp |
||||||
|
coverage |
||||||
|
|
||||||
|
############################ |
||||||
|
# Strapi |
||||||
|
############################ |
||||||
|
|
||||||
|
.env |
||||||
|
license.txt |
||||||
|
exports |
||||||
|
*.cache |
||||||
|
build |
||||||
|
.strapi-updater.json |
@ -0,0 +1,16 @@ |
|||||||
|
root = true |
||||||
|
|
||||||
|
[*] |
||||||
|
indent_style = space |
||||||
|
indent_size = 2 |
||||||
|
end_of_line = lf |
||||||
|
charset = utf-8 |
||||||
|
trim_trailing_whitespace = true |
||||||
|
insert_final_newline = true |
||||||
|
|
||||||
|
[{package.json,*.yml}] |
||||||
|
indent_style = space |
||||||
|
indent_size = 2 |
||||||
|
|
||||||
|
[*.md] |
||||||
|
trim_trailing_whitespace = false |
@ -0,0 +1,27 @@ |
|||||||
|
{ |
||||||
|
"parser": "babel-eslint", |
||||||
|
"extends": "eslint:recommended", |
||||||
|
"env": { |
||||||
|
"commonjs": true, |
||||||
|
"es6": true, |
||||||
|
"node": true, |
||||||
|
"browser": false |
||||||
|
}, |
||||||
|
"parserOptions": { |
||||||
|
"ecmaFeatures": { |
||||||
|
"experimentalObjectRestSpread": true, |
||||||
|
"jsx": false |
||||||
|
}, |
||||||
|
"sourceType": "module" |
||||||
|
}, |
||||||
|
"globals": { |
||||||
|
"strapi": true |
||||||
|
}, |
||||||
|
"rules": { |
||||||
|
"indent": ["error", 2, { "SwitchCase": 1 }], |
||||||
|
"linebreak-style": ["error", "unix"], |
||||||
|
"no-console": 0, |
||||||
|
"quotes": ["error", "single"], |
||||||
|
"semi": ["error", "always"] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,114 @@ |
|||||||
|
############################ |
||||||
|
# OS X |
||||||
|
############################ |
||||||
|
|
||||||
|
.DS_Store |
||||||
|
.AppleDouble |
||||||
|
.LSOverride |
||||||
|
Icon |
||||||
|
.Spotlight-V100 |
||||||
|
.Trashes |
||||||
|
._* |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Linux |
||||||
|
############################ |
||||||
|
|
||||||
|
*~ |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Windows |
||||||
|
############################ |
||||||
|
|
||||||
|
Thumbs.db |
||||||
|
ehthumbs.db |
||||||
|
Desktop.ini |
||||||
|
$RECYCLE.BIN/ |
||||||
|
*.cab |
||||||
|
*.msi |
||||||
|
*.msm |
||||||
|
*.msp |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Packages |
||||||
|
############################ |
||||||
|
|
||||||
|
*.7z |
||||||
|
*.csv |
||||||
|
*.dat |
||||||
|
*.dmg |
||||||
|
*.gz |
||||||
|
*.iso |
||||||
|
*.jar |
||||||
|
*.rar |
||||||
|
*.tar |
||||||
|
*.zip |
||||||
|
*.com |
||||||
|
*.class |
||||||
|
*.dll |
||||||
|
*.exe |
||||||
|
*.o |
||||||
|
*.seed |
||||||
|
*.so |
||||||
|
*.swo |
||||||
|
*.swp |
||||||
|
*.swn |
||||||
|
*.swm |
||||||
|
*.out |
||||||
|
*.pid |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Logs and databases |
||||||
|
############################ |
||||||
|
|
||||||
|
.tmp |
||||||
|
*.log |
||||||
|
*.sql |
||||||
|
*.sqlite |
||||||
|
*.sqlite3 |
||||||
|
|
||||||
|
|
||||||
|
############################ |
||||||
|
# Misc. |
||||||
|
############################ |
||||||
|
|
||||||
|
*# |
||||||
|
ssl |
||||||
|
.idea |
||||||
|
nbproject |
||||||
|
#public/uploads/* |
||||||
|
!public/uploads/.gitkeep |
||||||
|
|
||||||
|
############################ |
||||||
|
# Node.js |
||||||
|
############################ |
||||||
|
|
||||||
|
lib-cov |
||||||
|
lcov.info |
||||||
|
pids |
||||||
|
logs |
||||||
|
results |
||||||
|
node_modules |
||||||
|
.node_history |
||||||
|
|
||||||
|
############################ |
||||||
|
# Tests |
||||||
|
############################ |
||||||
|
|
||||||
|
testApp |
||||||
|
coverage |
||||||
|
|
||||||
|
############################ |
||||||
|
# Strapi |
||||||
|
############################ |
||||||
|
|
||||||
|
.env |
||||||
|
license.txt |
||||||
|
exports |
||||||
|
*.cache |
||||||
|
build |
||||||
|
.strapi-updater.json |
@ -0,0 +1,8 @@ |
|||||||
|
module.exports = ({ env }) => ({ |
||||||
|
auth: { |
||||||
|
secret: env('ADMIN_JWT_SECRET'), |
||||||
|
}, |
||||||
|
apiToken: { |
||||||
|
salt: env('API_TOKEN_SALT'), |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,7 @@ |
|||||||
|
module.exports = { |
||||||
|
rest: { |
||||||
|
defaultLimit: 25, |
||||||
|
maxLimit: 100, |
||||||
|
withCount: true, |
||||||
|
}, |
||||||
|
}; |
@ -0,0 +1,11 @@ |
|||||||
|
const path = require('path'); |
||||||
|
|
||||||
|
module.exports = ({ env }) => ({ |
||||||
|
connection: { |
||||||
|
client: 'sqlite', |
||||||
|
connection: { |
||||||
|
filename: path.join(__dirname, '..', env('DATABASE_FILENAME', '.tmp/data.db')), |
||||||
|
}, |
||||||
|
useNullAsDefault: true, |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,12 @@ |
|||||||
|
module.exports = [ |
||||||
|
'strapi::errors', |
||||||
|
'strapi::security', |
||||||
|
'strapi::cors', |
||||||
|
'strapi::poweredBy', |
||||||
|
'strapi::logger', |
||||||
|
'strapi::query', |
||||||
|
'strapi::body', |
||||||
|
'strapi::session', |
||||||
|
'strapi::favicon', |
||||||
|
'strapi::public', |
||||||
|
]; |
@ -0,0 +1,25 @@ |
|||||||
|
module.exports = { |
||||||
|
// ...
|
||||||
|
// deepl: {
|
||||||
|
// enabled: true,
|
||||||
|
// config: {
|
||||||
|
// // your DeepL API key
|
||||||
|
// apiKey: 'key',
|
||||||
|
// // whether to use the free or paid api, default true
|
||||||
|
// freeApi: true,
|
||||||
|
// // Which field types are translated (default string, text, richtext, components and dynamiczones)
|
||||||
|
// translatedFieldTypes: [
|
||||||
|
// 'string',
|
||||||
|
// 'text',
|
||||||
|
// 'richtext',
|
||||||
|
// 'component',
|
||||||
|
// 'dynamiczone',
|
||||||
|
// ],
|
||||||
|
// // If relations should be translated (default true)
|
||||||
|
// translateRelations: true,
|
||||||
|
// // You can define a custom glossary to be used here (see https://www.deepl.com/docs-api/managing-glossaries/)
|
||||||
|
// // glossaryId: 'customGlossary',
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
// ...
|
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
module.exports = ({ env }) => ({ |
||||||
|
host: env('HOST', '0.0.0.0'), |
||||||
|
port: env.int('PORT', 1337), |
||||||
|
app: { |
||||||
|
keys: env.array('APP_KEYS'), |
||||||
|
}, |
||||||
|
}); |
@ -0,0 +1,9 @@ |
|||||||
|
const { global, pages } = require("./en"); |
||||||
|
const { globalFR, pagesFR } = require("./fr"); |
||||||
|
const { leadFormSubmissions } = require("./lead-form-submissions.json"); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
globals: [global, globalFR], |
||||||
|
pages: [...pages, ...pagesFR], |
||||||
|
leadFormSubmissions, |
||||||
|
}; |
@ -0,0 +1,131 @@ |
|||||||
|
{ |
||||||
|
"global": { |
||||||
|
"id": 1, |
||||||
|
"locale": "en", |
||||||
|
"metaTitleSuffix": "Strapi Corporate", |
||||||
|
"metadata": { |
||||||
|
"id": 1, |
||||||
|
"metaTitle": "Strapi starter for Corporate Sites", |
||||||
|
"metaDescription": "Build your corporate site with Strapi", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": "strapijs", |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"notificationBanner": { |
||||||
|
"id": 1, |
||||||
|
"text": "This page was built using the Strapi starter for Corporate Sites.\n[View other Strapi starters](https://strapi.io/starters)", |
||||||
|
"type": "info" |
||||||
|
}, |
||||||
|
"navbar": { |
||||||
|
"id": 1, |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"url": "/pricing", |
||||||
|
"newTab": false, |
||||||
|
"text": "Pricing" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"url": "/contact", |
||||||
|
"newTab": false, |
||||||
|
"text": "Contact" |
||||||
|
} |
||||||
|
], |
||||||
|
"button": { |
||||||
|
"id": 13, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Sign up", |
||||||
|
"type": "secondary" |
||||||
|
}, |
||||||
|
"logo" : null |
||||||
|
}, |
||||||
|
"footer": { |
||||||
|
"id": 1, |
||||||
|
"smallText": "© Copyright My Company™", |
||||||
|
"columns": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"title": "Product", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 11, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Features" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 13, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Sign up" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"title": "Legal", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 15, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Privacy policy" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 16, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Terms & conditions" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"title": "Company", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 18, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Careers" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 21, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Team" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 7, |
||||||
|
"title": "Social", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 24, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Twitter" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 25, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "LinkedIn" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
], |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
"favicon": null, |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"locale": "fr" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
const { global } = require("./global.json"); |
||||||
|
const { pages } = require("./pages.json"); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
global, |
||||||
|
pages |
||||||
|
} |
@ -0,0 +1,352 @@ |
|||||||
|
{ |
||||||
|
"pages": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"slug": "", |
||||||
|
"locale": "en", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"locale": "fr" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Home", |
||||||
|
"publishedAt": "2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 2, |
||||||
|
"metaTitle": "Strapi corporate site starter", |
||||||
|
"metaDescription": "Build a fully editable site with Strapi", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.hero", |
||||||
|
"title": "The best way to build your Corporate Site", |
||||||
|
"label": "New Strapi starter", |
||||||
|
"description": "Get started with your Strapi business website in seconds.", |
||||||
|
"smallTextWithLink": "Want to build your own from scratch? Tutorial coming soon", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "Get started", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": true, |
||||||
|
"text": "See the code", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
], |
||||||
|
"picture": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.feature-rows-group", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"title": "Let marketing teams build their pages", |
||||||
|
"description": "Thanks to a pre-built list of UI sections, marketers can design exactly the pages they want.", |
||||||
|
"link": { |
||||||
|
"id": 7, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "View the list of UI sections" |
||||||
|
}, |
||||||
|
"media": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"title": "Leave your developers alone", |
||||||
|
"description": "You can publish, edit and delete pages without help from developers. Your technical team can finally focus on their tasks.", |
||||||
|
"link": { |
||||||
|
"id": 8, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "View how to create a page" |
||||||
|
}, |
||||||
|
"media": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.feature-columns-group", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"title": "Preview your changes", |
||||||
|
"description": "Thanks to an integrated Preview Mode, you can visualize your pages before publishing them.", |
||||||
|
"icon": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"title": "Fully responsive", |
||||||
|
"description": "This starter works well on all screens, whether it's mobile, tablet or desktop.", |
||||||
|
"icon": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"title": "Easy to customize", |
||||||
|
"description": "We use Tailwind for styling. You can change your site's theme without digging through the code.", |
||||||
|
"icon": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.testimonials-group", |
||||||
|
"title": "Your customer testimonials here", |
||||||
|
"description": "This section is where you can showcase your customers. Insert quotes, and show the logos of companies who like your product", |
||||||
|
"link": { |
||||||
|
"id": 2, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "All testimonials" |
||||||
|
}, |
||||||
|
"logos": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"title": "Strapi", |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"title": "Strapi 2", |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"title": "Strapi 3", |
||||||
|
"logo": null |
||||||
|
} |
||||||
|
], |
||||||
|
"testimonials": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", |
||||||
|
"authorName": "Your Customer Name", |
||||||
|
"authorTitle": "A happy customer", |
||||||
|
"link": "#", |
||||||
|
"logo": null, |
||||||
|
"picture": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.lead-form", |
||||||
|
"title": "Subscribe To Our Newsletter", |
||||||
|
"emailPlaceholder": "email@company.com", |
||||||
|
"submitButton": { |
||||||
|
"id": 1, |
||||||
|
"__component": "links.button", |
||||||
|
"text": "Subscribe", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
"location": "Home Page Bottom" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.bottom-actions", |
||||||
|
"title": "Start building your website", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 7, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "Get started", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 8, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "See the code", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"slug": "pricing", |
||||||
|
"locale": "en", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"locale": "fr" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Pricing", |
||||||
|
"publishedAt": "2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 3, |
||||||
|
"metaTitle": "Pricing", |
||||||
|
"metaDescription": "The different plans", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.pricing", |
||||||
|
"title": "Clear pricing table", |
||||||
|
"plans": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"name": "Hobby", |
||||||
|
"description": "Perfect for side projects", |
||||||
|
"isRecommended": null, |
||||||
|
"price": 0, |
||||||
|
"pricePeriod": "forever", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"name": "A cool feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"name": "Another cool feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"name": "Some other cool feature" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"name": "Premium", |
||||||
|
"description": "A more advanced plan for SMBs", |
||||||
|
"isRecommended": true, |
||||||
|
"price": 20, |
||||||
|
"pricePeriod": "per month", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"name": "The coolest feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"name": "Nice feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"name": "Fun feature" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"name": "Enterprise", |
||||||
|
"description": "For large companies needs", |
||||||
|
"isRecommended": null, |
||||||
|
"price": 299, |
||||||
|
"pricePeriod": "per month", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 7, |
||||||
|
"name": "Amazing feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 8, |
||||||
|
"name": "Wow effect feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 9, |
||||||
|
"name": "Mesmerizing feature" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"slug": "secret", |
||||||
|
"locale": "en", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 7, |
||||||
|
"locale": "fr" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Secret", |
||||||
|
"metadata": { |
||||||
|
"id": 7, |
||||||
|
"metaTitle": "Secret page", |
||||||
|
"metaDescription": "Preview-only page", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.rich-text", |
||||||
|
"content": "## Secret page\n\nYou can only view this page in Preview Mode." |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"slug": "contact", |
||||||
|
"locale": "en", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 8, |
||||||
|
"locale": "fr" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Contact", |
||||||
|
"publishedAt": "2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 4, |
||||||
|
"metaTitle": "Contact", |
||||||
|
"metaDescription": "Get in touch with our team", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.rich-text", |
||||||
|
"content": "# Get in touch\n\n> This is an example of a page that relies almost entirely on the RichText section. It's useful for blog articles, or content-heavy pages like legal terms.\n\nWe'd love to hear from you.\n\n## Social media\n\n* [Twitter](#)\n* [Twitter](#)\n* [Twitter](#)\n\n## Postal address\n\n404 Headless Street\n__92210__ **Saint Cloud**, *France*\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"__component": "sections.bottom-actions", |
||||||
|
"title": "Get in touch", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Send an email", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "DM us on Twitter", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,131 @@ |
|||||||
|
{ |
||||||
|
"globalFR": { |
||||||
|
"id": 2, |
||||||
|
"locale": "fr", |
||||||
|
"metaTitleSuffix": "Strapi Corporate", |
||||||
|
"metadata": { |
||||||
|
"id": 5, |
||||||
|
"metaTitle": "Strapi starter for Corporate Sites", |
||||||
|
"metaDescription": "Créer votre site corporate avec Strapi", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": "strapijs", |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"notificationBanner": { |
||||||
|
"id": 2, |
||||||
|
"text": "Cette page a été crée avec le Strapi starter pour les sites Corporate.\n [Voir les autres starters Strapi](https://strapi.io/starters)", |
||||||
|
"type": "info" |
||||||
|
}, |
||||||
|
"navbar": { |
||||||
|
"id": 2, |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"url": "/pricing", |
||||||
|
"newTab": false, |
||||||
|
"text": "tarifs" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"url": "/contact", |
||||||
|
"newTab": false, |
||||||
|
"text": "nous contacter" |
||||||
|
} |
||||||
|
], |
||||||
|
"button": { |
||||||
|
"id": 14, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "S'inscrire", |
||||||
|
"type": "secondary" |
||||||
|
}, |
||||||
|
"logo" : null |
||||||
|
}, |
||||||
|
"footer": { |
||||||
|
"id": 2, |
||||||
|
"smallText": "© Copyright Mon Entreprise™", |
||||||
|
"columns": [ |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"title": "Produit", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 12, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Fonctionnalités" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 14, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "S'inscrire" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"title": "Légal", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 17, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Confidentialité" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 19, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Mentions légales" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"title": "Entreprise", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 20, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Nous rejoindre" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 22, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "L'équipe" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 8, |
||||||
|
"title": "Réseaux sociaux", |
||||||
|
"links": [ |
||||||
|
{ |
||||||
|
"id": 23, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Twitter" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 26, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "LinkedIn" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
], |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
"favicon": null, |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"locale": "en" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
const { globalFR } = require("./global.json"); |
||||||
|
const { pagesFR } = require("./pages.json"); |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
globalFR, |
||||||
|
pagesFR |
||||||
|
} |
@ -0,0 +1,352 @@ |
|||||||
|
{ |
||||||
|
"pagesFR": [ |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"slug": "", |
||||||
|
"locale": "fr", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 1, |
||||||
|
"locale": "en" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Home", |
||||||
|
"publishedAt":"2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 6, |
||||||
|
"metaTitle": "Strapi corporate site starter", |
||||||
|
"metaDescription": "Construire un site modifiable avec Strapi", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.hero", |
||||||
|
"title": "La meilleure façon de faire votre site Corporate", |
||||||
|
"label": "Nouveau starter Strapi", |
||||||
|
"description": "Commencer vite avec votre site corporate", |
||||||
|
"smallTextWithLink": "Vous voulez construire votre propre starter? Guide à venir", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "Commencer", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": true, |
||||||
|
"text": "Voir le code", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
], |
||||||
|
"picture": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.feature-rows-group", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"title": "Les équipes marketing peuvent maintenant faire leurs propres pages", |
||||||
|
"description": "Grace à une liste pré-construite de blocs UI, les équipes marketing peuvent faire la mise en page exactement comme elles veulent", |
||||||
|
"link": { |
||||||
|
"id": 9, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Voir la liste de blocs UI" |
||||||
|
}, |
||||||
|
"media": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"title": "Laissez vos développeurs tranquilles", |
||||||
|
"description": "Vous pouvez publier, modifier, et supprimer des pages sans l'aide d'un développeur. Votre équipe technique peut enfin se concentrer sur d'autre tâches.", |
||||||
|
"link": { |
||||||
|
"id": 10, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Voir comment créer une page" |
||||||
|
}, |
||||||
|
"media": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.feature-columns-group", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"title": "Visualisez vos changments", |
||||||
|
"description": "Grace à un mode preview, vous pouvez voir vos pages avant de les publier.", |
||||||
|
"icon": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"title": "100% responsive", |
||||||
|
"description": "Ce starter marche sur toutes les tailles d'écrans.", |
||||||
|
"icon": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"title": "Facile à personnaliser", |
||||||
|
"description": "On utilise Tailwind pour les styles. Vous pouvez changez le thème de votre site sans avoir besoin d'aller dans le code.", |
||||||
|
"icon": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.testimonials-group", |
||||||
|
"title": "Ici, les témoignages des vos clients.", |
||||||
|
"description": "Dans cette partie, vous pouvez mettre en avant vos clients. Mettez des citations, et montrez les logos des entreprises qui aiment votre produit.", |
||||||
|
"link": { |
||||||
|
"id": 6, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "All testimonials" |
||||||
|
}, |
||||||
|
"logos": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"title": "Strapi", |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"title": "Strapi 2", |
||||||
|
"logo": null |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"title": "Strapi 3", |
||||||
|
"logo": null |
||||||
|
} |
||||||
|
], |
||||||
|
"testimonials": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", |
||||||
|
"authorName": "Nom d'un(e) Client(e) ici", |
||||||
|
"authorTitle": "Un(e) Client(e) Satisfait(e)", |
||||||
|
"link": "#", |
||||||
|
"logo": null, |
||||||
|
"picture": null |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.lead-form", |
||||||
|
"title": "S'inscrire à notre Newsletter", |
||||||
|
"emailPlaceholder": "email@company.com", |
||||||
|
"submitButton": { |
||||||
|
"id": 2, |
||||||
|
"__component": "links.button", |
||||||
|
"text": "S'inscrire", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
"location": "Home Page Bottom" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"__component": "sections.bottom-actions", |
||||||
|
"title": "Start building your website", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 10, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "Commencer", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 12, |
||||||
|
"url": "https://github.com/strapi/strapi-template-corporate", |
||||||
|
"newTab": false, |
||||||
|
"text": "Voir le code", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"slug": "pricing", |
||||||
|
"locale": "fr", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"locale": "en" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Pricing", |
||||||
|
"publishedAt":"2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 8, |
||||||
|
"metaTitle": "Pricing", |
||||||
|
"metaDescription": "Les différentes offres", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 2, |
||||||
|
"__component": "sections.pricing", |
||||||
|
"title": "Tableau de tarifs", |
||||||
|
"plans": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"name": "Hobby", |
||||||
|
"description": "Parfait pour des projets personnels", |
||||||
|
"isRecommended": null, |
||||||
|
"price": 0, |
||||||
|
"pricePeriod": "toujours", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 10, |
||||||
|
"name": "Voilà une feature" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 11, |
||||||
|
"name": "Une autre" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 12, |
||||||
|
"name": "Encore une autre" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 5, |
||||||
|
"name": "Premium", |
||||||
|
"description": "Un plan plus avancé", |
||||||
|
"isRecommended": true, |
||||||
|
"price": 20, |
||||||
|
"pricePeriod": "par mois", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 13, |
||||||
|
"name": "Fonctionnalité 1" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 14, |
||||||
|
"name": "Fonctionnalité 2" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 15, |
||||||
|
"name": "Fonctionnalité 3" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 6, |
||||||
|
"name": "Entreprise", |
||||||
|
"description": "Pour les besoin des grands entreprises", |
||||||
|
"isRecommended": null, |
||||||
|
"price": 299, |
||||||
|
"pricePeriod": "par mois", |
||||||
|
"features": [ |
||||||
|
{ |
||||||
|
"id": 16, |
||||||
|
"name": "Fonctionnalité 1" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 17, |
||||||
|
"name": "Fonctionnalité 2" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 18, |
||||||
|
"name": "Fonctionnalité 3" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 7, |
||||||
|
"slug": "secret", |
||||||
|
"locale": "fr", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"locale": "en" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Secret", |
||||||
|
"metadata": { |
||||||
|
"id": 9, |
||||||
|
"metaTitle": "Page secrète", |
||||||
|
"metaDescription": "Preview-only page", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 3, |
||||||
|
"__component": "sections.rich-text", |
||||||
|
"content": "## Page secrète. \n\n Vous seul pouvez voir cette page en Preview Mode" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 8, |
||||||
|
"slug": "contact", |
||||||
|
"locale": "fr", |
||||||
|
"localizations": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"locale": "en" |
||||||
|
} |
||||||
|
], |
||||||
|
"shortName": "Contact", |
||||||
|
"publishedAt":"2021-10-22T08:11:55.490Z", |
||||||
|
"metadata": { |
||||||
|
"id": 10, |
||||||
|
"metaTitle": "Nous Contacter", |
||||||
|
"metaDescription": "Contactez notre équipe", |
||||||
|
"twitterCardType": "summary", |
||||||
|
"twitterUsername": null, |
||||||
|
"shareImage": null |
||||||
|
}, |
||||||
|
"contentSections": [ |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"__component": "sections.rich-text", |
||||||
|
"content": "# Contactez nous\n\n> Ceci est un exemple d'une page qui repose presque entièrement sur le composant RichText. Vous pouvez l'utiliser pour des articles de blog, ou pour des pages comportant beaucoup de texte, comme par exemple les conditions d'utilisation.\n\nNous aimerions beaucoup avoir vos retours.\n\n## Social media\n\n* [Twitter](#)\n* [Twitter](#)\n* [Twitter](#)\n\n## Postal address\n\n404 Headless Street\n__92210__ **Saint Cloud**, *France*\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 4, |
||||||
|
"__component": "sections.bottom-actions", |
||||||
|
"title": "Get in touch", |
||||||
|
"buttons": [ |
||||||
|
{ |
||||||
|
"id": 9, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "Envoyer un mail", |
||||||
|
"type": "primary" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"id": 11, |
||||||
|
"url": "#", |
||||||
|
"newTab": false, |
||||||
|
"text": "DM nous sur Twitter", |
||||||
|
"type": "secondary" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
{ |
||||||
|
"leadFormSubmissions": [ |
||||||
|
{ |
||||||
|
"email": "johne@thebeatles.com", |
||||||
|
"status": "seen", |
||||||
|
"location": "Home Page Bottom" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"email": "paul@thebeatles.com", |
||||||
|
"status": "contacted", |
||||||
|
"location": "Home Page Bottom" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"email": "george@thebeatles.com", |
||||||
|
"status": "ignored", |
||||||
|
"location": "Home Page Bottom" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 3.6 KiB |
@ -0,0 +1,34 @@ |
|||||||
|
{ |
||||||
|
"dependencies": { |
||||||
|
"@strapi/plugin-documentation": "^4.1.12", |
||||||
|
"@strapi/plugin-graphql": "^4.0.0", |
||||||
|
"@strapi/plugin-i18n": "4.1.12", |
||||||
|
"@strapi/plugin-users-permissions": "4.1.12", |
||||||
|
"@strapi/strapi": "4.1.12", |
||||||
|
"better-sqlite3": "7.4.6", |
||||||
|
"lodash.set": "^4.3.2" |
||||||
|
}, |
||||||
|
"name": "backend", |
||||||
|
"private": true, |
||||||
|
"version": "0.1.0", |
||||||
|
"description": "A Strapi application", |
||||||
|
"scripts": { |
||||||
|
"develop": "strapi develop", |
||||||
|
"start": "strapi start", |
||||||
|
"build": "strapi build", |
||||||
|
"strapi": "strapi" |
||||||
|
}, |
||||||
|
"author": { |
||||||
|
"name": "A Strapi developer" |
||||||
|
}, |
||||||
|
"strapi": { |
||||||
|
"uuid": "36c6619b-e6d8-43ca-a55e-5e9be3365e25", |
||||||
|
"template": "@strapi/template-corporate@^1.0.0", |
||||||
|
"starter": "@strapi/starter-next-corporate" |
||||||
|
}, |
||||||
|
"engines": { |
||||||
|
"node": ">=12.x.x <=16.x.x", |
||||||
|
"npm": ">=6.0.0" |
||||||
|
}, |
||||||
|
"license": "MIT" |
||||||
|
} |
@ -0,0 +1,3 @@ |
|||||||
|
# To prevent search engines from seeing the site altogether, uncomment the next two lines: |
||||||
|
# User-Agent: * |
||||||
|
# Disallow: / |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 6.0 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,35 @@ |
|||||||
|
export default { |
||||||
|
config: { |
||||||
|
locales: [ |
||||||
|
// 'ar',
|
||||||
|
// 'fr',
|
||||||
|
// 'cs',
|
||||||
|
// 'de',
|
||||||
|
// 'dk',
|
||||||
|
// 'es',
|
||||||
|
// 'he',
|
||||||
|
// 'id',
|
||||||
|
// 'it',
|
||||||
|
// 'ja',
|
||||||
|
// 'ko',
|
||||||
|
// 'ms',
|
||||||
|
// 'nl',
|
||||||
|
// 'no',
|
||||||
|
// 'pl',
|
||||||
|
// 'pt-BR',
|
||||||
|
// 'pt',
|
||||||
|
// 'ru',
|
||||||
|
// 'sk',
|
||||||
|
// 'sv',
|
||||||
|
// 'th',
|
||||||
|
// 'tr',
|
||||||
|
// 'uk',
|
||||||
|
// 'vi',
|
||||||
|
// 'zh-Hans',
|
||||||
|
// 'zh',
|
||||||
|
], |
||||||
|
}, |
||||||
|
bootstrap(app) { |
||||||
|
console.log(app); |
||||||
|
}, |
||||||
|
}; |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/* eslint-disable no-unused-vars */ |
||||||
|
module.exports = (config, webpack) => { |
||||||
|
// Note: we provide webpack above so you should not `require` it
|
||||||
|
// Perform customizations to webpack config
|
||||||
|
// Important: return the modified config
|
||||||
|
return config; |
||||||
|
}; |
@ -0,0 +1,47 @@ |
|||||||
|
{ |
||||||
|
"kind": "collectionType", |
||||||
|
"collectionName": "events", |
||||||
|
"info": { |
||||||
|
"singularName": "event", |
||||||
|
"pluralName": "events", |
||||||
|
"displayName": "Event", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": { |
||||||
|
"draftAndPublish": true |
||||||
|
}, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
}, |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"start": { |
||||||
|
"type": "datetime" |
||||||
|
}, |
||||||
|
"endDate": { |
||||||
|
"type": "datetime" |
||||||
|
}, |
||||||
|
"contend": { |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
}, |
||||||
|
"type": "richtext" |
||||||
|
}, |
||||||
|
"user": { |
||||||
|
"type": "relation", |
||||||
|
"relation": "oneToOne", |
||||||
|
"target": "plugin::users-permissions.user" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* event controller |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreController } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreController('api::event.event'); |
@ -0,0 +1,578 @@ |
|||||||
|
{ |
||||||
|
"/events": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventListResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "sort", |
||||||
|
"in": "query", |
||||||
|
"description": "Sort by attributes ascending (asc) or descending (desc)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[withCount]", |
||||||
|
"in": "query", |
||||||
|
"description": "Retun page/pageSize (default: true)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "boolean" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[page]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page number (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[pageSize]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page size (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[start]", |
||||||
|
"in": "query", |
||||||
|
"description": "Offset value (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[limit]", |
||||||
|
"in": "query", |
||||||
|
"description": "Number of entities to return (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "fields", |
||||||
|
"in": "query", |
||||||
|
"description": "Fields to return (ex: title,author)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "populate", |
||||||
|
"in": "query", |
||||||
|
"description": "Relations to return", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/events" |
||||||
|
}, |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "post/events", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"/events/{id}": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/events/{id}" |
||||||
|
}, |
||||||
|
"put": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "put/events/{id}", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"delete": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"type": "integer", |
||||||
|
"format": "int64" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "delete/events/{id}" |
||||||
|
} |
||||||
|
}, |
||||||
|
"/events/{id}/localizations": { |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventLocalizationResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Event" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "post/events/{id}/localizations", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/EventLocalizationRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* event router. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreRouter } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreRouter('api::event.event'); |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* event service. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreService } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreService('api::event.event'); |
@ -0,0 +1,83 @@ |
|||||||
|
{ |
||||||
|
"kind": "singleType", |
||||||
|
"collectionName": "globals", |
||||||
|
"info": { |
||||||
|
"singularName": "global", |
||||||
|
"pluralName": "globals", |
||||||
|
"displayName": "Global", |
||||||
|
"name": "global" |
||||||
|
}, |
||||||
|
"options": { |
||||||
|
"increments": true, |
||||||
|
"timestamps": true, |
||||||
|
"draftAndPublish": false |
||||||
|
}, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
}, |
||||||
|
"attributes": { |
||||||
|
"metadata": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "meta.metadata", |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"metaTitleSuffix": { |
||||||
|
"type": "string", |
||||||
|
"required": true, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"favicon": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"notificationBanner": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "elements.notification-banner", |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"navbar": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "layout.navbar", |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"footer": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "layout.footer", |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* global controller |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreController } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreController('api::global.global'); |
@ -0,0 +1,384 @@ |
|||||||
|
{ |
||||||
|
"/global": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/GlobalListResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Global" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "sort", |
||||||
|
"in": "query", |
||||||
|
"description": "Sort by attributes ascending (asc) or descending (desc)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[withCount]", |
||||||
|
"in": "query", |
||||||
|
"description": "Retun page/pageSize (default: true)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "boolean" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[page]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page number (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[pageSize]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page size (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[start]", |
||||||
|
"in": "query", |
||||||
|
"description": "Offset value (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[limit]", |
||||||
|
"in": "query", |
||||||
|
"description": "Number of entities to return (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "fields", |
||||||
|
"in": "query", |
||||||
|
"description": "Fields to return (ex: title,author)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "populate", |
||||||
|
"in": "query", |
||||||
|
"description": "Relations to return", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/global" |
||||||
|
}, |
||||||
|
"put": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/GlobalResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Global" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "put/global", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/GlobalRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"delete": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"type": "integer", |
||||||
|
"format": "int64" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Global" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "delete/global" |
||||||
|
} |
||||||
|
}, |
||||||
|
"/global/localizations": { |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/GlobalLocalizationResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Global" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "post/global/localizations", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/GlobalLocalizationRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* global router. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreRouter } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreRouter('api::global.global'); |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* global service. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreService } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreService('api::global.global'); |
@ -0,0 +1,31 @@ |
|||||||
|
{ |
||||||
|
"kind": "collectionType", |
||||||
|
"collectionName": "lead_form_submissions", |
||||||
|
"info": { |
||||||
|
"singularName": "lead-form-submission", |
||||||
|
"pluralName": "lead-form-submissions", |
||||||
|
"displayName": "Lead form submission", |
||||||
|
"name": "lead-form-submission" |
||||||
|
}, |
||||||
|
"options": { |
||||||
|
"increments": true, |
||||||
|
"timestamps": true, |
||||||
|
"draftAndPublish": false |
||||||
|
}, |
||||||
|
"attributes": { |
||||||
|
"email": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"status": { |
||||||
|
"type": "enumeration", |
||||||
|
"enum": [ |
||||||
|
"seen", |
||||||
|
"contacted", |
||||||
|
"ignored" |
||||||
|
] |
||||||
|
}, |
||||||
|
"location": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* lead-form-submission controller |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreController } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreController('api::lead-form-submission.lead-form-submission'); |
@ -0,0 +1,486 @@ |
|||||||
|
{ |
||||||
|
"/lead-form-submissions": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionListResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Lead-form-submission" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "sort", |
||||||
|
"in": "query", |
||||||
|
"description": "Sort by attributes ascending (asc) or descending (desc)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[withCount]", |
||||||
|
"in": "query", |
||||||
|
"description": "Retun page/pageSize (default: true)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "boolean" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[page]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page number (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[pageSize]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page size (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[start]", |
||||||
|
"in": "query", |
||||||
|
"description": "Offset value (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[limit]", |
||||||
|
"in": "query", |
||||||
|
"description": "Number of entities to return (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "fields", |
||||||
|
"in": "query", |
||||||
|
"description": "Fields to return (ex: title,author)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "populate", |
||||||
|
"in": "query", |
||||||
|
"description": "Relations to return", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/lead-form-submissions" |
||||||
|
}, |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Lead-form-submission" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "post/lead-form-submissions", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"/lead-form-submissions/{id}": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Lead-form-submission" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/lead-form-submissions/{id}" |
||||||
|
}, |
||||||
|
"put": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Lead-form-submission" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "put/lead-form-submissions/{id}", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/LeadFormSubmissionRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"delete": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"type": "integer", |
||||||
|
"format": "int64" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Lead-form-submission" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "delete/lead-form-submissions/{id}" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* lead-form-submission router. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreRouter } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreRouter('api::lead-form-submission.lead-form-submission'); |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* lead-form-submission service. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreService } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreService('api::lead-form-submission.lead-form-submission'); |
@ -0,0 +1,69 @@ |
|||||||
|
{ |
||||||
|
"kind": "collectionType", |
||||||
|
"collectionName": "pages", |
||||||
|
"info": { |
||||||
|
"singularName": "page", |
||||||
|
"pluralName": "pages", |
||||||
|
"displayName": "Page", |
||||||
|
"name": "page" |
||||||
|
}, |
||||||
|
"options": { |
||||||
|
"increments": true, |
||||||
|
"timestamps": true, |
||||||
|
"draftAndPublish": true |
||||||
|
}, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
}, |
||||||
|
"attributes": { |
||||||
|
"shortName": { |
||||||
|
"type": "string", |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"metadata": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "meta.metadata", |
||||||
|
"required": true, |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"contentSections": { |
||||||
|
"type": "dynamiczone", |
||||||
|
"components": [ |
||||||
|
"sections.hero", |
||||||
|
"sections.bottom-actions", |
||||||
|
"sections.feature-columns-group", |
||||||
|
"sections.feature-rows-group", |
||||||
|
"sections.testimonials-group", |
||||||
|
"sections.large-video", |
||||||
|
"sections.rich-text", |
||||||
|
"sections.pricing", |
||||||
|
"sections.lead-form" |
||||||
|
], |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": true |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"slug": { |
||||||
|
"pluginOptions": { |
||||||
|
"i18n": { |
||||||
|
"localized": false |
||||||
|
} |
||||||
|
}, |
||||||
|
"type": "string", |
||||||
|
"regex": "^$|^[a-zA-Z/-]+$" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* page controller |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreController } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreController('api::page.page'); |
@ -0,0 +1,578 @@ |
|||||||
|
{ |
||||||
|
"/pages": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageListResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "sort", |
||||||
|
"in": "query", |
||||||
|
"description": "Sort by attributes ascending (asc) or descending (desc)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[withCount]", |
||||||
|
"in": "query", |
||||||
|
"description": "Retun page/pageSize (default: true)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "boolean" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[page]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page number (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[pageSize]", |
||||||
|
"in": "query", |
||||||
|
"description": "Page size (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[start]", |
||||||
|
"in": "query", |
||||||
|
"description": "Offset value (default: 0)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "pagination[limit]", |
||||||
|
"in": "query", |
||||||
|
"description": "Number of entities to return (default: 25)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "integer" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "fields", |
||||||
|
"in": "query", |
||||||
|
"description": "Fields to return (ex: title,author)", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "populate", |
||||||
|
"in": "query", |
||||||
|
"description": "Relations to return", |
||||||
|
"deprecated": false, |
||||||
|
"required": false, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/pages" |
||||||
|
}, |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [], |
||||||
|
"operationId": "post/pages", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"/pages/{id}": { |
||||||
|
"get": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "get/pages/{id}" |
||||||
|
}, |
||||||
|
"put": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "put/pages/{id}", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"delete": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"type": "integer", |
||||||
|
"format": "int64" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "delete/pages/{id}" |
||||||
|
} |
||||||
|
}, |
||||||
|
"/pages/{id}/localizations": { |
||||||
|
"post": { |
||||||
|
"responses": { |
||||||
|
"200": { |
||||||
|
"description": "OK", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageLocalizationResponse" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"400": { |
||||||
|
"description": "Bad Request", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"401": { |
||||||
|
"description": "Unauthorized", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"403": { |
||||||
|
"description": "Forbidden", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"404": { |
||||||
|
"description": "Not Found", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"500": { |
||||||
|
"description": "Internal Server Error", |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/Error" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
"tags": [ |
||||||
|
"Page" |
||||||
|
], |
||||||
|
"parameters": [ |
||||||
|
{ |
||||||
|
"name": "id", |
||||||
|
"in": "path", |
||||||
|
"description": "", |
||||||
|
"deprecated": false, |
||||||
|
"required": true, |
||||||
|
"schema": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
], |
||||||
|
"operationId": "post/pages/{id}/localizations", |
||||||
|
"requestBody": { |
||||||
|
"required": true, |
||||||
|
"content": { |
||||||
|
"application/json": { |
||||||
|
"schema": { |
||||||
|
"$ref": "#/components/schemas/PageLocalizationRequest" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* page router. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreRouter } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreRouter('api::page.page'); |
@ -0,0 +1,9 @@ |
|||||||
|
'use strict'; |
||||||
|
|
||||||
|
/** |
||||||
|
* page service. |
||||||
|
*/ |
||||||
|
|
||||||
|
const { createCoreService } = require('@strapi/strapi').factories; |
||||||
|
|
||||||
|
module.exports = createCoreService('api::page.page'); |
@ -0,0 +1,230 @@ |
|||||||
|
const fs = require("fs"); |
||||||
|
const { pages, globals, leadFormSubmissions } = require("../data/data"); |
||||||
|
const set = require("lodash.set"); |
||||||
|
|
||||||
|
async function isFirstRun() { |
||||||
|
const pluginStore = strapi.store({ |
||||||
|
environment: strapi.config.environment, |
||||||
|
type: "type", |
||||||
|
name: "setup", |
||||||
|
}); |
||||||
|
const initHasRun = await pluginStore.get({ key: "initHasRun" }); |
||||||
|
await pluginStore.set({ key: "initHasRun", value: true }); |
||||||
|
return !initHasRun; |
||||||
|
} |
||||||
|
|
||||||
|
async function setPublicPermissions(newPermissions) { |
||||||
|
// Find the ID of the public role
|
||||||
|
const publicRole = await strapi |
||||||
|
.query("plugin::users-permissions.role") |
||||||
|
.findOne({ |
||||||
|
where: { |
||||||
|
type: "public", |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
// Create the new permissions and link them to the public role
|
||||||
|
const allPermissionsToCreate = []; |
||||||
|
Object.keys(newPermissions).map(controller => { |
||||||
|
const actions = newPermissions[controller]; |
||||||
|
const permissionsToCreate = actions.map(action => { |
||||||
|
return strapi.query("plugin::users-permissions.permission").create({ |
||||||
|
data: { |
||||||
|
action: `api::${controller}.${controller}.${action}`, |
||||||
|
role: publicRole.id, |
||||||
|
}, |
||||||
|
}); |
||||||
|
}); |
||||||
|
allPermissionsToCreate.push(...permissionsToCreate); |
||||||
|
}); |
||||||
|
await Promise.all(allPermissionsToCreate); |
||||||
|
} |
||||||
|
|
||||||
|
function getFileSizeInBytes(filePath) { |
||||||
|
const stats = fs.statSync(filePath); |
||||||
|
const fileSizeInBytes = stats["size"]; |
||||||
|
return fileSizeInBytes; |
||||||
|
} |
||||||
|
|
||||||
|
function getFileData(fileName) { |
||||||
|
const filePath = `./data/uploads/${fileName}`; |
||||||
|
|
||||||
|
// Parse the file metadata
|
||||||
|
const size = getFileSizeInBytes(filePath); |
||||||
|
const ext = fileName.split(".").pop(); |
||||||
|
const mimeType = `image/${ext === "svg" ? "svg+xml" : ext}`; |
||||||
|
|
||||||
|
return { |
||||||
|
path: filePath, |
||||||
|
name: fileName, |
||||||
|
size, |
||||||
|
type: mimeType, |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
// Create an entry and attach files if there are any
|
||||||
|
async function createEntry(model, entry, files) { |
||||||
|
try { |
||||||
|
if (files) { |
||||||
|
for (const [key, file] of Object.entries(files)) { |
||||||
|
// Get file name without the extension
|
||||||
|
const [fileName] = file.name.split('.'); |
||||||
|
// Upload each individual file
|
||||||
|
const uploadedFile = await strapi |
||||||
|
.plugin("upload") |
||||||
|
.service("upload") |
||||||
|
.upload({ |
||||||
|
files: file, |
||||||
|
data: { |
||||||
|
fileInfo: { |
||||||
|
alternativeText: fileName, |
||||||
|
caption: fileName, |
||||||
|
name: fileName, |
||||||
|
}, |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
// Attach each file to its entry
|
||||||
|
set(entry, key, uploadedFile[0].id); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Actually create the entry in Strapi
|
||||||
|
const createdEntry = await strapi.entityService.create( |
||||||
|
`api::${model}.${model}`, |
||||||
|
{ |
||||||
|
data: entry, |
||||||
|
} |
||||||
|
); |
||||||
|
} catch (e) { |
||||||
|
console.log(e); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
async function importPages(pages) { |
||||||
|
const getPageCover = (slug) => { |
||||||
|
switch (slug) { |
||||||
|
case "": |
||||||
|
return getFileData("undraw-content-team.png"); |
||||||
|
default: |
||||||
|
return null; |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
return pages.map(async (page) => { |
||||||
|
const files = {}; |
||||||
|
const shareImage = getPageCover(page.slug); |
||||||
|
if (shareImage) { |
||||||
|
files["metadata.shareImage"] = shareImage; |
||||||
|
} |
||||||
|
// Check if dynamic zone has attached files
|
||||||
|
page.contentSections.forEach((section, index) => { |
||||||
|
if (section.__component === "sections.hero") { |
||||||
|
files[`contentSections.${index}.picture`] = getFileData( |
||||||
|
"undraw-content-team.svg" |
||||||
|
); |
||||||
|
} else if (section.__component === "sections.feature-rows-group") { |
||||||
|
const getFeatureMedia = (featureIndex) => { |
||||||
|
switch (featureIndex) { |
||||||
|
case 0: |
||||||
|
return getFileData("undraw-design-page.svg"); |
||||||
|
case 1: |
||||||
|
return getFileData("undraw-create-page.svg"); |
||||||
|
default: |
||||||
|
return null; |
||||||
|
} |
||||||
|
}; |
||||||
|
section.features.forEach((feature, featureIndex) => { |
||||||
|
files[`contentSections.${index}.features.${featureIndex}.media`] = |
||||||
|
getFeatureMedia(featureIndex); |
||||||
|
}); |
||||||
|
} else if (section.__component === "sections.feature-columns-group") { |
||||||
|
const getFeatureMedia = (featureIndex) => { |
||||||
|
switch (featureIndex) { |
||||||
|
case 0: |
||||||
|
return getFileData("preview.svg"); |
||||||
|
case 1: |
||||||
|
return getFileData("devices.svg"); |
||||||
|
case 2: |
||||||
|
return getFileData("palette.svg"); |
||||||
|
default: |
||||||
|
return null; |
||||||
|
} |
||||||
|
}; |
||||||
|
section.features.forEach((feature, featureIndex) => { |
||||||
|
files[`contentSections.${index}.features.${featureIndex}.icon`] = |
||||||
|
getFeatureMedia(featureIndex); |
||||||
|
}); |
||||||
|
} else if (section.__component === "sections.testimonials-group") { |
||||||
|
section.logos.forEach((logo, logoIndex) => { |
||||||
|
files[`contentSections.${index}.logos.${logoIndex}.logo`] = |
||||||
|
getFileData("logo.png"); |
||||||
|
}); |
||||||
|
section.testimonials.forEach((testimonial, testimonialIndex) => { |
||||||
|
files[ |
||||||
|
`contentSections.${index}.testimonials.${testimonialIndex}.logo` |
||||||
|
] = getFileData("logo.png"); |
||||||
|
files[ |
||||||
|
`contentSections.${index}.testimonials.${testimonialIndex}.picture` |
||||||
|
] = getFileData("user.png"); |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
await createEntry("page", page, files); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
async function importGlobal() { |
||||||
|
// Add images
|
||||||
|
const files = { |
||||||
|
favicon: getFileData("favicon.png"), |
||||||
|
"metadata.shareImage": getFileData("undraw-content-team.png"), |
||||||
|
"navbar.logo": getFileData("logo.png"), |
||||||
|
"footer.logo": getFileData("logo.png"), |
||||||
|
}; |
||||||
|
|
||||||
|
// Create entry
|
||||||
|
globals.forEach(async (locale) => { |
||||||
|
await createEntry("global", locale, files); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
async function importLeadFormSubmissionData() { |
||||||
|
leadFormSubmissions.forEach(async (submission) => { |
||||||
|
await createEntry("lead-form-submissions", submission); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
async function importSeedData() { |
||||||
|
// Allow read of application content types
|
||||||
|
await setPublicPermissions({ |
||||||
|
global: ["find"], |
||||||
|
page: ["find", "findOne"], |
||||||
|
"lead-form-submission": ["create"], |
||||||
|
}); |
||||||
|
|
||||||
|
await strapi.query("plugin::i18n.locale").create({ |
||||||
|
data: { |
||||||
|
name: "French (fr)", |
||||||
|
code: "fr", |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
// Create all entries
|
||||||
|
await importGlobal(); |
||||||
|
await importPages(pages); |
||||||
|
await importLeadFormSubmissionData(); |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = async () => { |
||||||
|
const shouldImportSeedData = await isFirstRun(); |
||||||
|
if (shouldImportSeedData) { |
||||||
|
try { |
||||||
|
await importSeedData(); |
||||||
|
} catch (error) { |
||||||
|
console.log("Could not import seed data"); |
||||||
|
console.error(error); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
@ -0,0 +1,27 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_slices_feature_columns", |
||||||
|
"info": { |
||||||
|
"name": "FeatureColumn", |
||||||
|
"displayName": "Feature column", |
||||||
|
"icon": "align-center", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"type": "string", |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"description": { |
||||||
|
"type": "text" |
||||||
|
}, |
||||||
|
"icon": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": true |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_slices_feature_rows", |
||||||
|
"info": { |
||||||
|
"name": "FeatureRow", |
||||||
|
"displayName": "Feature row", |
||||||
|
"icon": "arrows-alt-h", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"type": "string", |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"description": { |
||||||
|
"type": "text" |
||||||
|
}, |
||||||
|
"media": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images", |
||||||
|
"videos" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"link": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "links.link" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_elements_features", |
||||||
|
"info": { |
||||||
|
"name": "feature", |
||||||
|
"displayName": "Feature", |
||||||
|
"icon": "traffic-light" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"name": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_links_footer_sections", |
||||||
|
"info": { |
||||||
|
"name": "FooterSection", |
||||||
|
"displayName": "Footer section", |
||||||
|
"icon": "chevron-circle-down" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"links": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "links.link" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_elements_logos", |
||||||
|
"info": { |
||||||
|
"name": "logos", |
||||||
|
"displayName": "Logos", |
||||||
|
"icon": "apple-alt" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"logo": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": false |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_elements_notification_banners", |
||||||
|
"info": { |
||||||
|
"name": "NotificationBanner", |
||||||
|
"displayName": "Notification banner", |
||||||
|
"icon": "exclamation" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"text": { |
||||||
|
"type": "richtext" |
||||||
|
}, |
||||||
|
"type": { |
||||||
|
"type": "enumeration", |
||||||
|
"enum": [ |
||||||
|
"alert", |
||||||
|
"info", |
||||||
|
"warning" |
||||||
|
], |
||||||
|
"required": true |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,31 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_elements_plans", |
||||||
|
"info": { |
||||||
|
"name": "plan", |
||||||
|
"displayName": "Pricing plan", |
||||||
|
"icon": "search-dollar" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"name": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"description": { |
||||||
|
"type": "text" |
||||||
|
}, |
||||||
|
"features": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "elements.feature" |
||||||
|
}, |
||||||
|
"isRecommended": { |
||||||
|
"type": "boolean" |
||||||
|
}, |
||||||
|
"price": { |
||||||
|
"type": "decimal" |
||||||
|
}, |
||||||
|
"pricePeriod": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_slices_testimonials", |
||||||
|
"info": { |
||||||
|
"name": "Testimonial", |
||||||
|
"displayName": "Testimonial", |
||||||
|
"icon": "user-check" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"logo": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": false |
||||||
|
}, |
||||||
|
"picture": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": false |
||||||
|
}, |
||||||
|
"text": { |
||||||
|
"type": "text" |
||||||
|
}, |
||||||
|
"authorName": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"authorTitle": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"link": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,27 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_layout_footers", |
||||||
|
"info": { |
||||||
|
"name": "Footer", |
||||||
|
"displayName": "Footer", |
||||||
|
"icon": "caret-square-down" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"logo": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": false |
||||||
|
}, |
||||||
|
"columns": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "elements.footer-section" |
||||||
|
}, |
||||||
|
"smallText": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,30 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_layout_navbars", |
||||||
|
"info": { |
||||||
|
"name": "Navbar", |
||||||
|
"displayName": "Navbar", |
||||||
|
"icon": "map-signs", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"links": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "links.link" |
||||||
|
}, |
||||||
|
"button": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": false, |
||||||
|
"component": "links.button-link" |
||||||
|
}, |
||||||
|
"logo": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": true |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,29 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_links_buttons", |
||||||
|
"info": { |
||||||
|
"name": "Button-link", |
||||||
|
"displayName": "Button link", |
||||||
|
"icon": "fingerprint", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"url": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"newTab": { |
||||||
|
"type": "boolean", |
||||||
|
"default": false |
||||||
|
}, |
||||||
|
"text": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"type": { |
||||||
|
"type": "enumeration", |
||||||
|
"enum": [ |
||||||
|
"primary", |
||||||
|
"secondary" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_links_simple_buttons", |
||||||
|
"info": { |
||||||
|
"name": "Button", |
||||||
|
"displayName": "Button", |
||||||
|
"icon": "fingerprint", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"text": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"type": { |
||||||
|
"type": "enumeration", |
||||||
|
"enum": [ |
||||||
|
"primary", |
||||||
|
"secondary" |
||||||
|
] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_links_links", |
||||||
|
"info": { |
||||||
|
"name": "Link", |
||||||
|
"displayName": "Link", |
||||||
|
"icon": "link", |
||||||
|
"description": "" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"url": { |
||||||
|
"type": "string", |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"newTab": { |
||||||
|
"type": "boolean", |
||||||
|
"default": false |
||||||
|
}, |
||||||
|
"text": { |
||||||
|
"type": "string", |
||||||
|
"required": true |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_meta_metadata", |
||||||
|
"info": { |
||||||
|
"name": "Metadata", |
||||||
|
"displayName": "Metadata", |
||||||
|
"icon": "robot" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"metaTitle": { |
||||||
|
"type": "string", |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"metaDescription": { |
||||||
|
"type": "text", |
||||||
|
"required": true |
||||||
|
}, |
||||||
|
"shareImage": { |
||||||
|
"allowedTypes": [ |
||||||
|
"images" |
||||||
|
], |
||||||
|
"type": "media", |
||||||
|
"multiple": false, |
||||||
|
"required": false |
||||||
|
}, |
||||||
|
"twitterCardType": { |
||||||
|
"type": "enumeration", |
||||||
|
"enum": [ |
||||||
|
"summary", |
||||||
|
"summary_large_image", |
||||||
|
"app", |
||||||
|
"player" |
||||||
|
], |
||||||
|
"default": "summary" |
||||||
|
}, |
||||||
|
"twitterUsername": { |
||||||
|
"type": "string" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_slices_bottom_actions", |
||||||
|
"info": { |
||||||
|
"name": "BottomActions", |
||||||
|
"displayName": "Bottom actions", |
||||||
|
"icon": "angle-double-right" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"title": { |
||||||
|
"type": "string" |
||||||
|
}, |
||||||
|
"buttons": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "links.button-link" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"collectionName": "components_slices_feature_columns_groups", |
||||||
|
"info": { |
||||||
|
"name": "FeatureColumnsGroup", |
||||||
|
"displayName": "Feature columns group", |
||||||
|
"icon": "star-of-life" |
||||||
|
}, |
||||||
|
"options": {}, |
||||||
|
"attributes": { |
||||||
|
"features": { |
||||||
|
"type": "component", |
||||||
|
"repeatable": true, |
||||||
|
"component": "elements.feature-column" |
||||||
|
} |
||||||
|
} |
||||||
|
} |