Route Configuration for Auto Public SEO
unknown
javascript
2 months ago
2.0 kB
3
Indexable
const apsPrefix = '/auto-public-seo/'; const routesStructure = { Home: ``, apsDashboard: ``, apsSinglePost: `single`, apsSinglePostPublish: `single/publish`, apsGenerateImage: `generate/image`, apsGenerateText: `generate/text`, apsDomains: `domains`, apsDomainsEdit: `domains/edit`, apsDomainsStore: `domains/store`, apsDomainsDelete: `domains/delete`, apsDomainsGetCategoriesById: `domains/categories/{domainId}`, apsProjects: `projects`, apsProjectsEdit: `projects/edit/{id}`, apsProjectsGenerated: `projects/manage/{id}`, // apsProjectsCreate: `projects/create/{id}`, apsProjectsStore: `projects/store`, apsProjectGenerate: `projects/generate/{id}`, // apsProjectsUpdate: `projects/update/{id}`, apsProjectsDelete: `projects/delete/{id}`, apsRandomizeImage: `prompts/randomize-image`, apsGenerateArticle: `prompts/generate-article`, apsUpdatePrompt: `prompts/update`, apsPublishResult: `prompts/publish-result`, apsPromptsStore: `prompts/store`, apsPromptsDelete: `prompts/delete/{id}`, apsAttributes: `attributes`, apsAttributeStore: `attributes`, apsAttributeGetValues: `attributes/values/{id}`, apsAttributeValueDelete: `attributes/values/delete/{id}`, apsAttributeValueStore: `attributes/values`, }; const routes = Object.keys(routesStructure).reduce((acc, routeName) => { let routePath = routesStructure[routeName]; if (routeName.startsWith('aps')) { acc[routeName] = `${apsPrefix}${routePath ? routePath : ''}`; } else { acc[routeName] = routePath; } return acc; }, {}); function route(name, params = {}) { if (!routes[name]) { console.warn(`Route "${name}" is not defined.`); return '/'; } let url = routes[name]; Object.keys(params).forEach(key => { url = url.replace(`{${key}}`, params[key]); }); return url; } export default route;
Editor is loading...
Leave a Comment