From 35f172702a6be476adedcb17659b04c22d531195 Mon Sep 17 00:00:00 2001 From: Schneider Roland Date: Thu, 22 May 2025 20:22:57 +0200 Subject: [PATCH] add service detail page --- .../api/service-page.ts | 40 +++++++++++++++++++ .../api/service-page.ts | 40 +++++++++++++++++++ .../content-types/service-page/schema.json | 31 ++++++++++++++ .../service-page/controllers/service-page.ts | 7 ++++ .../api/service-page/routes/service-page.ts | 7 ++++ .../api/service-page/services/service-page.ts | 7 ++++ 6 files changed, 132 insertions(+) create mode 100644 yoga-app/src/types/generated-strapi-interfaces/api/service-page.ts create mode 100644 yoga-cms/generated-strapi-interfaces/api/service-page.ts create mode 100644 yoga-cms/src/api/service-page/content-types/service-page/schema.json create mode 100644 yoga-cms/src/api/service-page/controllers/service-page.ts create mode 100644 yoga-cms/src/api/service-page/routes/service-page.ts create mode 100644 yoga-cms/src/api/service-page/services/service-page.ts diff --git a/yoga-app/src/types/generated-strapi-interfaces/api/service-page.ts b/yoga-app/src/types/generated-strapi-interfaces/api/service-page.ts new file mode 100644 index 0000000..aad1a4f --- /dev/null +++ b/yoga-app/src/types/generated-strapi-interfaces/api/service-page.ts @@ -0,0 +1,40 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component'; +import { YogaFooter } from './yoga-footer'; +import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component'; +import { YogaFooter_Plain } from './yoga-footer'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface ServicePage { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: { data: YogaSubscribeNowComponent }; + footer?: { data: YogaFooter }; + }; +} +export interface ServicePage_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: YogaSubscribeNowComponent_Plain; + footer?: YogaFooter_Plain; +} + +export interface ServicePage_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: number; + footer?: number; +} + +export interface ServicePage_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: AdminPanelRelationPropertyModification; + footer?: AdminPanelRelationPropertyModification; +} diff --git a/yoga-cms/generated-strapi-interfaces/api/service-page.ts b/yoga-cms/generated-strapi-interfaces/api/service-page.ts new file mode 100644 index 0000000..aad1a4f --- /dev/null +++ b/yoga-cms/generated-strapi-interfaces/api/service-page.ts @@ -0,0 +1,40 @@ +// Interface automatically generated by schemas-to-ts + +import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component'; +import { YogaFooter } from './yoga-footer'; +import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component'; +import { YogaFooter_Plain } from './yoga-footer'; +import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification'; + +export interface ServicePage { + id: number; + attributes: { + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: { data: YogaSubscribeNowComponent }; + footer?: { data: YogaFooter }; + }; +} +export interface ServicePage_Plain { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: YogaSubscribeNowComponent_Plain; + footer?: YogaFooter_Plain; +} + +export interface ServicePage_NoRelations { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: number; + footer?: number; +} + +export interface ServicePage_AdminPanelLifeCycle { + id: number; + createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string; + description?: string; + subscribeNow?: AdminPanelRelationPropertyModification; + footer?: AdminPanelRelationPropertyModification; +} diff --git a/yoga-cms/src/api/service-page/content-types/service-page/schema.json b/yoga-cms/src/api/service-page/content-types/service-page/schema.json new file mode 100644 index 0000000..abbc9c6 --- /dev/null +++ b/yoga-cms/src/api/service-page/content-types/service-page/schema.json @@ -0,0 +1,31 @@ +{ + "kind": "singleType", + "collectionName": "service_pages", + "info": { + "singularName": "service-page", + "pluralName": "service-pages", + "displayName": "ServicePage", + "description": "" + }, + "options": { + "draftAndPublish": true + }, + "attributes": { + "header": { + "type": "string" + }, + "description": { + "type": "text" + }, + "subscribeNow": { + "type": "relation", + "relation": "oneToOne", + "target": "api::yoga-subscribe-now-component.yoga-subscribe-now-component" + }, + "footer": { + "type": "relation", + "relation": "oneToOne", + "target": "api::yoga-footer.yoga-footer" + } + } +} diff --git a/yoga-cms/src/api/service-page/controllers/service-page.ts b/yoga-cms/src/api/service-page/controllers/service-page.ts new file mode 100644 index 0000000..fb5ecd6 --- /dev/null +++ b/yoga-cms/src/api/service-page/controllers/service-page.ts @@ -0,0 +1,7 @@ +/** + * service-page controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::service-page.service-page'); diff --git a/yoga-cms/src/api/service-page/routes/service-page.ts b/yoga-cms/src/api/service-page/routes/service-page.ts new file mode 100644 index 0000000..1a53841 --- /dev/null +++ b/yoga-cms/src/api/service-page/routes/service-page.ts @@ -0,0 +1,7 @@ +/** + * service-page router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::service-page.service-page'); diff --git a/yoga-cms/src/api/service-page/services/service-page.ts b/yoga-cms/src/api/service-page/services/service-page.ts new file mode 100644 index 0000000..75e5a74 --- /dev/null +++ b/yoga-cms/src/api/service-page/services/service-page.ts @@ -0,0 +1,7 @@ +/** + * service-page service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::service-page.service-page');