add faq page

This commit is contained in:
Schneider Roland
2025-01-31 21:42:52 +01:00
parent 93af3607e9
commit 3e3dbed6e6
28 changed files with 970 additions and 20 deletions

View File

@@ -0,0 +1,58 @@
// Interface automatically generated by schemas-to-ts
import { YogaFaqComponent } from './yoga-faq-component';
import { YogaAchivementsComponent } from './yoga-achivements-component';
import { YogaBlogPostsComponent } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent } from './yoga-subscribe-now-component';
import { YogaFooter } from './yoga-footer';
import { YogaFaqComponent_Plain } from './yoga-faq-component';
import { YogaAchivementsComponent_Plain } from './yoga-achivements-component';
import { YogaBlogPostsComponent_Plain } from './yoga-blog-posts-component';
import { YogaSubscribeNowComponent_Plain } from './yoga-subscribe-now-component';
import { YogaFooter_Plain } from './yoga-footer';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface FaqPage {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
questionsAndAnswers?: { data: YogaFaqComponent };
achievements?: { data: YogaAchivementsComponent };
blogs?: { data: YogaBlogPostsComponent };
subscribe?: { data: YogaSubscribeNowComponent };
footer?: { data: YogaFooter };
};
}
export interface FaqPage_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
questionsAndAnswers?: YogaFaqComponent_Plain;
achievements?: YogaAchivementsComponent_Plain;
blogs?: YogaBlogPostsComponent_Plain;
subscribe?: YogaSubscribeNowComponent_Plain;
footer?: YogaFooter_Plain;
}
export interface FaqPage_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
questionsAndAnswers?: number;
achievements?: number;
blogs?: number;
subscribe?: number;
footer?: number;
}
export interface FaqPage_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; header?: string;
description?: string;
questionsAndAnswers?: AdminPanelRelationPropertyModification<YogaFaqComponent_Plain>;
achievements?: AdminPanelRelationPropertyModification<YogaAchivementsComponent_Plain>;
blogs?: AdminPanelRelationPropertyModification<YogaBlogPostsComponent_Plain>;
subscribe?: AdminPanelRelationPropertyModification<YogaSubscribeNowComponent_Plain>;
footer?: AdminPanelRelationPropertyModification<YogaFooter_Plain>;
}

View File

@@ -0,0 +1,38 @@
// Interface automatically generated by schemas-to-ts
import { YogaFaqQa } from './yoga-faq-qa';
import { YogaFaqQa_Plain } from './yoga-faq-qa';
import { AdminPanelRelationPropertyModification } from '../common/AdminPanelRelationPropertyModification';
export interface YogaFaqComponent {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
questionsAndAnswers: { data: YogaFaqQa[] };
};
}
export interface YogaFaqComponent_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
questionsAndAnswers: YogaFaqQa_Plain[];
}
export interface YogaFaqComponent_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
questionsAndAnswers: number[];
}
export interface YogaFaqComponent_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; title?: string;
header?: string;
description?: string;
questionsAndAnswers: AdminPanelRelationPropertyModification<YogaFaqQa_Plain>;
}

View File

@@ -0,0 +1,30 @@
// Interface automatically generated by schemas-to-ts
export interface YogaFaqQa {
id: number;
attributes: {
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
question?: string;
answer?: string;
};
}
export interface YogaFaqQa_Plain {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
question?: string;
answer?: string;
}
export interface YogaFaqQa_NoRelations {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
question?: string;
answer?: string;
}
export interface YogaFaqQa_AdminPanelLifeCycle {
id: number;
createdAt: Date; updatedAt: Date; publishedAt?: Date; name?: string;
question?: string;
answer?: string;
}

View File

@@ -0,0 +1,47 @@
{
"kind": "singleType",
"collectionName": "faq_pages",
"info": {
"singularName": "faq-page",
"pluralName": "faq-pages",
"displayName": "FAQPage",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"header": {
"type": "string"
},
"description": {
"type": "string"
},
"questionsAndAnswers": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-faq-component.yoga-faq-component"
},
"achievements": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-achivements-component.yoga-achivements-component"
},
"blogs": {
"type": "relation",
"relation": "oneToOne",
"target": "api::yoga-blog-posts-component.yoga-blog-posts-component"
},
"subscribe": {
"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"
}
}
}

View File

@@ -0,0 +1,7 @@
/**
* faq-page controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::faq-page.faq-page');

View File

@@ -0,0 +1,7 @@
/**
* faq-page router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::faq-page.faq-page');

View File

@@ -0,0 +1,7 @@
/**
* faq-page service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::faq-page.faq-page');

View File

@@ -0,0 +1,30 @@
{
"kind": "collectionType",
"collectionName": "yoga_faq_components",
"info": {
"singularName": "yoga-faq-component",
"pluralName": "yoga-faq-components",
"displayName": "YogaFAQComponent",
"description": ""
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"title": {
"type": "string"
},
"header": {
"type": "string"
},
"description": {
"type": "text"
},
"questionsAndAnswers": {
"type": "relation",
"relation": "oneToMany",
"target": "api::yoga-faq-qa.yoga-faq-qa"
}
}
}

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-component controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-faq-component.yoga-faq-component');

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-component router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-faq-component.yoga-faq-component');

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-component service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-faq-component.yoga-faq-component');

View File

@@ -0,0 +1,24 @@
{
"kind": "collectionType",
"collectionName": "yoga_faq_qas",
"info": {
"singularName": "yoga-faq-qa",
"pluralName": "yoga-faq-qas",
"displayName": "YogaFAQQA"
},
"options": {
"draftAndPublish": true
},
"pluginOptions": {},
"attributes": {
"name": {
"type": "string"
},
"question": {
"type": "string"
},
"answer": {
"type": "text"
}
}
}

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-qa controller
*/
import { factories } from '@strapi/strapi'
export default factories.createCoreController('api::yoga-faq-qa.yoga-faq-qa');

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-qa router
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreRouter('api::yoga-faq-qa.yoga-faq-qa');

View File

@@ -0,0 +1,7 @@
/**
* yoga-faq-qa service
*/
import { factories } from '@strapi/strapi';
export default factories.createCoreService('api::yoga-faq-qa.yoga-faq-qa');

View File

@@ -540,6 +540,56 @@ export interface ApiCategoryCategory extends Struct.CollectionTypeSchema {
};
}
export interface ApiFaqPageFaqPage extends Struct.SingleTypeSchema {
collectionName: 'faq_pages';
info: {
description: '';
displayName: 'FAQPage';
pluralName: 'faq-pages';
singularName: 'faq-page';
};
options: {
draftAndPublish: true;
};
attributes: {
achievements: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-achivements-component.yoga-achivements-component'
>;
blogs: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-blog-posts-component.yoga-blog-posts-component'
>;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.String;
footer: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-footer.yoga-footer'
>;
header: Schema.Attribute.String;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::faq-page.faq-page'
> &
Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime;
questionsAndAnswers: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-faq-component.yoga-faq-component'
>;
subscribe: Schema.Attribute.Relation<
'oneToOne',
'api::yoga-subscribe-now-component.yoga-subscribe-now-component'
>;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiGlobalGlobal extends Struct.SingleTypeSchema {
collectionName: 'globals';
info: {
@@ -1253,6 +1303,72 @@ export interface ApiYogaDiscountComponentYogaDiscountComponent
};
}
export interface ApiYogaFaqComponentYogaFaqComponent
extends Struct.CollectionTypeSchema {
collectionName: 'yoga_faq_components';
info: {
description: '';
displayName: 'YogaFAQComponent';
pluralName: 'yoga-faq-components';
singularName: 'yoga-faq-component';
};
options: {
draftAndPublish: true;
};
attributes: {
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
description: Schema.Attribute.Text;
header: Schema.Attribute.String;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-faq-component.yoga-faq-component'
> &
Schema.Attribute.Private;
publishedAt: Schema.Attribute.DateTime;
questionsAndAnswers: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-faq-qa.yoga-faq-qa'
>;
title: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaFaqQaYogaFaqQa extends Struct.CollectionTypeSchema {
collectionName: 'yoga_faq_qas';
info: {
displayName: 'YogaFAQQA';
pluralName: 'yoga-faq-qas';
singularName: 'yoga-faq-qa';
};
options: {
draftAndPublish: true;
};
attributes: {
answer: Schema.Attribute.Text;
createdAt: Schema.Attribute.DateTime;
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation<
'oneToMany',
'api::yoga-faq-qa.yoga-faq-qa'
> &
Schema.Attribute.Private;
name: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime;
question: Schema.Attribute.String;
updatedAt: Schema.Attribute.DateTime;
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private;
};
}
export interface ApiYogaFooterYogaFooter extends Struct.CollectionTypeSchema {
collectionName: 'yoga_footers';
info: {
@@ -2297,6 +2413,7 @@ declare module '@strapi/strapi' {
'api::article.article': ApiArticleArticle;
'api::author.author': ApiAuthorAuthor;
'api::category.category': ApiCategoryCategory;
'api::faq-page.faq-page': ApiFaqPageFaqPage;
'api::global.global': ApiGlobalGlobal;
'api::home.home': ApiHomeHome;
'api::page.page': ApiPagePage;
@@ -2313,6 +2430,8 @@ declare module '@strapi/strapi' {
'api::yoga-customer-feedback-component.yoga-customer-feedback-component': ApiYogaCustomerFeedbackComponentYogaCustomerFeedbackComponent;
'api::yoga-customer-feedback.yoga-customer-feedback': ApiYogaCustomerFeedbackYogaCustomerFeedback;
'api::yoga-discount-component.yoga-discount-component': ApiYogaDiscountComponentYogaDiscountComponent;
'api::yoga-faq-component.yoga-faq-component': ApiYogaFaqComponentYogaFaqComponent;
'api::yoga-faq-qa.yoga-faq-qa': ApiYogaFaqQaYogaFaqQa;
'api::yoga-footer.yoga-footer': ApiYogaFooterYogaFooter;
'api::yoga-main-header-component.yoga-main-header-component': ApiYogaMainHeaderComponentYogaMainHeaderComponent;
'api::yoga-our-services-component.yoga-our-services-component': ApiYogaOurServicesComponentYogaOurServicesComponent;