feature/pages_from_api #16
40
src/api/dto/page.ts
Normal file
40
src/api/dto/page.ts
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import { Identifiable } from "@/data";
|
||||||
|
import { Page } from "@/data/page";
|
||||||
|
import { Transformer } from "@/serialization";
|
||||||
|
|
||||||
|
export interface PageDTO extends Identifiable {
|
||||||
|
accessName: string;
|
||||||
|
title: string;
|
||||||
|
titleEng: string;
|
||||||
|
content: string;
|
||||||
|
contentEng: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const pageDtoTransformer: Transformer<PageDTO, Page> = {
|
||||||
|
reverseTransform(subject: Page, context: undefined): PageDTO {
|
||||||
|
return {
|
||||||
|
id: subject.id,
|
||||||
|
accessName: subject.slug,
|
||||||
|
content: subject.content.pl,
|
||||||
|
contentEng: subject.content.en,
|
||||||
|
title: subject.title.pl,
|
||||||
|
titleEng: subject.title.en,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
transform(subject: PageDTO, context: undefined): Page {
|
||||||
|
return {
|
||||||
|
slug: subject.accessName,
|
||||||
|
id: subject.id,
|
||||||
|
content: {
|
||||||
|
pl: subject.content,
|
||||||
|
en: subject.contentEng
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
pl: subject.title,
|
||||||
|
en: subject.titleEng
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default pageDtoTransformer;
|
@ -1,27 +1,13 @@
|
|||||||
// MOCK
|
|
||||||
import { Page } from "@/data/page";
|
import { Page } from "@/data/page";
|
||||||
|
import { PageDTO, pageDtoTransformer } from "./dto/page"
|
||||||
|
import { axios } from "@/api/index";
|
||||||
|
import { prepare } from "@/routing";
|
||||||
|
|
||||||
const tos = `<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Bestiarum vero nullum iudicium puto. Quare ad ea primum, si videtur; <b>Duo Reges: constructio interrete.</b> <i>Eam tum adesse, cum dolor omnis absit;</i> Sed ad bona praeterita redeamus. <mark>Facillimum id quidem est, inquam.</mark> Apud ceteros autem philosophos, qui quaesivit aliquid, tacet; </p>
|
const STATIC_PAGE_ENDPOINT = "/staticPage/:slug"
|
||||||
|
|
||||||
<p><a href="http://loripsum.net/" target="_blank">Quorum altera prosunt, nocent altera.</a> Eam stabilem appellas. <i>Sed nimis multa.</i> Quo plebiscito decreta a senatu est consuli quaestio Cn. Sin laboramus, quis est, qui alienae modum statuat industriae? <mark>Quod quidem nobis non saepe contingit.</mark> Si autem id non concedatur, non continuo vita beata tollitur. <a href="http://loripsum.net/" target="_blank">Illum mallem levares, quo optimum atque humanissimum virum, Cn.</a> <i>Id est enim, de quo quaerimus.</i> </p>
|
|
||||||
|
|
||||||
<p>Ille vero, si insipiens-quo certe, quoniam tyrannus -, numquam beatus; Sin dicit obscurari quaedam nec apparere, quia valde parva sint, nos quoque concedimus; Et quod est munus, quod opus sapientiae? Ab hoc autem quaedam non melius quam veteres, quaedam omnino relicta. </p>
|
|
||||||
`
|
|
||||||
|
|
||||||
export async function get(slug: string): Promise<Page> {
|
export async function get(slug: string): Promise<Page> {
|
||||||
if (slug === "/regulamin" || slug === "/rules") {
|
const response = await axios.get<PageDTO>(prepare(STATIC_PAGE_ENDPOINT, { slug }))
|
||||||
return {
|
const page = response.data;
|
||||||
id: "tak",
|
|
||||||
content: {
|
|
||||||
pl: tos,
|
|
||||||
en: tos,
|
|
||||||
},
|
|
||||||
title: {
|
|
||||||
pl: "Regulamin Praktyk",
|
|
||||||
en: "Terms of Internship",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error();
|
return pageDtoTransformer.transform(page);
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,5 @@ import { Identifiable, Multilingual } from "@/data/common";
|
|||||||
export interface Page extends Identifiable {
|
export interface Page extends Identifiable {
|
||||||
title: Multilingual<string>;
|
title: Multilingual<string>;
|
||||||
content: Multilingual<string>;
|
content: Multilingual<string>;
|
||||||
|
slug: string;
|
||||||
}
|
}
|
||||||
|
@ -51,12 +51,11 @@ const config = {
|
|||||||
],
|
],
|
||||||
devServer: {
|
devServer: {
|
||||||
contentBase: path.resolve("./public/"),
|
contentBase: path.resolve("./public/"),
|
||||||
port: 443,
|
host: process.env.APP_HOST || 'system-praktyk-front.localhost',
|
||||||
host: 'system-praktyk.stg.kadet.net',
|
|
||||||
disableHostCheck: true,
|
disableHostCheck: true,
|
||||||
historyApiFallback: true,
|
historyApiFallback: true,
|
||||||
overlay: true,
|
overlay: true,
|
||||||
https: true,
|
https: !!process.env.APP_HTTPS || false,
|
||||||
proxy: {
|
proxy: {
|
||||||
"/api": {
|
"/api": {
|
||||||
target: "http://system-praktyk-front.localhost:8080/",
|
target: "http://system-praktyk-front.localhost:8080/",
|
||||||
|
Loading…
Reference in New Issue
Block a user