Route Configuration for Auto Public SEO
unknown
javascript
10 months ago
2.0 kB
6
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