2019-06-19 14:40:52 +00:00
|
|
|
import { stringify as stringifyQs } from "qs";
|
2019-08-09 10:26:22 +00:00
|
|
|
import urlJoin from "url-join";
|
2019-06-19 14:40:52 +00:00
|
|
|
|
|
|
|
export enum TranslatableEntities {
|
|
|
|
categories = "categories",
|
|
|
|
products = "products",
|
|
|
|
collections = "collections",
|
|
|
|
sales = "sales",
|
|
|
|
vouchers = "vouchers",
|
|
|
|
pages = "pages",
|
|
|
|
productTypes = "productTypes"
|
|
|
|
}
|
|
|
|
|
|
|
|
const translationsSection = "/translations/";
|
|
|
|
|
|
|
|
export const languageListPath = translationsSection;
|
|
|
|
export const languageListUrl = translationsSection;
|
|
|
|
|
|
|
|
export const languageEntitiesPath = (code: string) =>
|
|
|
|
urlJoin(translationsSection, code);
|
|
|
|
export const languageEntitiesUrl = (code: string, tab?: TranslatableEntities) =>
|
|
|
|
languageEntitiesPath(code) +
|
|
|
|
"?" +
|
|
|
|
stringifyQs({
|
|
|
|
tab
|
|
|
|
});
|
|
|
|
|
|
|
|
export const languageEntityPath = (
|
|
|
|
code: string,
|
|
|
|
entity: TranslatableEntities,
|
|
|
|
id: string
|
|
|
|
) => urlJoin(languageEntitiesPath(code), entity.toString(), id);
|
|
|
|
export const languageEntityUrl = (
|
|
|
|
code: string,
|
|
|
|
entity: TranslatableEntities,
|
|
|
|
id: string
|
|
|
|
) => languageEntityPath(code, entity, encodeURIComponent(id));
|