diff --git a/package.json b/package.json index 65ef4a6..3a7b2ac 100644 --- a/package.json +++ b/package.json @@ -36,5 +36,6 @@ }, "strapi": { "uuid": "c493cc44-f350-437f-bd6e-f0248d2e9d50" - } + }, + "packageManager": "pnpm@9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf" } diff --git a/src/api/cv-education-experience/content-types/cv-education-experience/schema.json b/src/api/cv-education-experience/content-types/cv-education-experience/schema.json new file mode 100644 index 0000000..b612049 --- /dev/null +++ b/src/api/cv-education-experience/content-types/cv-education-experience/schema.json @@ -0,0 +1,33 @@ +{ + "kind": "collectionType", + "collectionName": "cv_education_experiences", + "info": { + "singularName": "cv-education-experience", + "pluralName": "cv-education-experiences", + "displayName": "CV Education Experience" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "startedAt": { + "type": "date" + }, + "finishedAt": { + "type": "date" + }, + "title": { + "type": "string" + }, + "description": { + "type": "text" + }, + "reference_tags": { + "type": "relation", + "relation": "manyToMany", + "target": "api::reference-tag.reference-tag", + "inversedBy": "cv_education_experiences" + } + } +} diff --git a/src/api/cv-education-experience/controllers/cv-education-experience.ts b/src/api/cv-education-experience/controllers/cv-education-experience.ts new file mode 100644 index 0000000..fdf811d --- /dev/null +++ b/src/api/cv-education-experience/controllers/cv-education-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-education-experience controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::cv-education-experience.cv-education-experience'); diff --git a/src/api/cv-education-experience/routes/cv-education-experience.ts b/src/api/cv-education-experience/routes/cv-education-experience.ts new file mode 100644 index 0000000..ef769a7 --- /dev/null +++ b/src/api/cv-education-experience/routes/cv-education-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-education-experience router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::cv-education-experience.cv-education-experience'); diff --git a/src/api/cv-education-experience/services/cv-education-experience.ts b/src/api/cv-education-experience/services/cv-education-experience.ts new file mode 100644 index 0000000..96db1d7 --- /dev/null +++ b/src/api/cv-education-experience/services/cv-education-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-education-experience service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::cv-education-experience.cv-education-experience'); diff --git a/src/api/cv-work-experience/content-types/cv-work-experience/schema.json b/src/api/cv-work-experience/content-types/cv-work-experience/schema.json new file mode 100644 index 0000000..e81c588 --- /dev/null +++ b/src/api/cv-work-experience/content-types/cv-work-experience/schema.json @@ -0,0 +1,33 @@ +{ + "kind": "collectionType", + "collectionName": "cv_work_experiences", + "info": { + "singularName": "cv-work-experience", + "pluralName": "cv-work-experiences", + "displayName": "CV Work Experience" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "startedAt": { + "type": "date" + }, + "finishedAt": { + "type": "date" + }, + "title": { + "type": "string" + }, + "description": { + "type": "text" + }, + "reference_tags": { + "type": "relation", + "relation": "manyToMany", + "target": "api::reference-tag.reference-tag", + "inversedBy": "cv_work_experiences" + } + } +} diff --git a/src/api/cv-work-experience/controllers/cv-work-experience.ts b/src/api/cv-work-experience/controllers/cv-work-experience.ts new file mode 100644 index 0000000..f2cdaea --- /dev/null +++ b/src/api/cv-work-experience/controllers/cv-work-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-work-experience controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::cv-work-experience.cv-work-experience'); diff --git a/src/api/cv-work-experience/routes/cv-work-experience.ts b/src/api/cv-work-experience/routes/cv-work-experience.ts new file mode 100644 index 0000000..6846037 --- /dev/null +++ b/src/api/cv-work-experience/routes/cv-work-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-work-experience router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::cv-work-experience.cv-work-experience'); diff --git a/src/api/cv-work-experience/services/cv-work-experience.ts b/src/api/cv-work-experience/services/cv-work-experience.ts new file mode 100644 index 0000000..590988a --- /dev/null +++ b/src/api/cv-work-experience/services/cv-work-experience.ts @@ -0,0 +1,7 @@ +/** + * cv-work-experience service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::cv-work-experience.cv-work-experience'); diff --git a/src/api/post/content-types/post/schema.json b/src/api/post/content-types/post/schema.json new file mode 100644 index 0000000..95d9182 --- /dev/null +++ b/src/api/post/content-types/post/schema.json @@ -0,0 +1,39 @@ +{ + "kind": "collectionType", + "collectionName": "posts", + "info": { + "singularName": "post", + "pluralName": "posts", + "displayName": "Blogpost", + "description": "" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "title": { + "type": "string", + "required": true, + "unique": true + }, + "content": { + "type": "richtext", + "required": true + }, + "cover": { + "type": "media", + "multiple": false, + "required": true, + "allowedTypes": [ + "images" + ] + }, + "reference_tags": { + "type": "relation", + "relation": "manyToMany", + "target": "api::reference-tag.reference-tag", + "inversedBy": "posts" + } + } +} diff --git a/src/api/post/controllers/post.ts b/src/api/post/controllers/post.ts new file mode 100644 index 0000000..864ae59 --- /dev/null +++ b/src/api/post/controllers/post.ts @@ -0,0 +1,7 @@ +/** + * post controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::post.post'); diff --git a/src/api/post/routes/post.ts b/src/api/post/routes/post.ts new file mode 100644 index 0000000..ee3c015 --- /dev/null +++ b/src/api/post/routes/post.ts @@ -0,0 +1,7 @@ +/** + * post router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::post.post'); diff --git a/src/api/post/services/post.ts b/src/api/post/services/post.ts new file mode 100644 index 0000000..159ed7f --- /dev/null +++ b/src/api/post/services/post.ts @@ -0,0 +1,7 @@ +/** + * post service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::post.post'); diff --git a/src/api/reference-tag/content-types/reference-tag/schema.json b/src/api/reference-tag/content-types/reference-tag/schema.json new file mode 100644 index 0000000..7d93d01 --- /dev/null +++ b/src/api/reference-tag/content-types/reference-tag/schema.json @@ -0,0 +1,40 @@ +{ + "kind": "collectionType", + "collectionName": "reference_tags", + "info": { + "singularName": "reference-tag", + "pluralName": "reference-tags", + "displayName": "Reference Tag", + "description": "" + }, + "options": { + "draftAndPublish": true + }, + "pluginOptions": {}, + "attributes": { + "title": { + "type": "string" + }, + "link": { + "type": "string" + }, + "posts": { + "type": "relation", + "relation": "manyToMany", + "target": "api::post.post", + "mappedBy": "reference_tags" + }, + "cv_education_experiences": { + "type": "relation", + "relation": "manyToMany", + "target": "api::cv-education-experience.cv-education-experience", + "mappedBy": "reference_tags" + }, + "cv_work_experiences": { + "type": "relation", + "relation": "manyToMany", + "target": "api::cv-work-experience.cv-work-experience", + "mappedBy": "reference_tags" + } + } +} diff --git a/src/api/reference-tag/controllers/reference-tag.ts b/src/api/reference-tag/controllers/reference-tag.ts new file mode 100644 index 0000000..7ecf44c --- /dev/null +++ b/src/api/reference-tag/controllers/reference-tag.ts @@ -0,0 +1,7 @@ +/** + * reference-tag controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::reference-tag.reference-tag'); diff --git a/src/api/reference-tag/routes/reference-tag.ts b/src/api/reference-tag/routes/reference-tag.ts new file mode 100644 index 0000000..bec5a3a --- /dev/null +++ b/src/api/reference-tag/routes/reference-tag.ts @@ -0,0 +1,7 @@ +/** + * reference-tag router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::reference-tag.reference-tag'); diff --git a/src/api/reference-tag/services/reference-tag.ts b/src/api/reference-tag/services/reference-tag.ts new file mode 100644 index 0000000..a3b9e13 --- /dev/null +++ b/src/api/reference-tag/services/reference-tag.ts @@ -0,0 +1,7 @@ +/** + * reference-tag service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::reference-tag.reference-tag'); diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index a963fab..403ac1e 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -369,6 +369,152 @@ export interface AdminUser extends Struct.CollectionTypeSchema { }; } +export interface ApiCvEducationExperienceCvEducationExperience + extends Struct.CollectionTypeSchema { + collectionName: 'cv_education_experiences'; + info: { + displayName: 'CV Education Experience'; + pluralName: 'cv-education-experiences'; + singularName: 'cv-education-experience'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + finishedAt: Schema.Attribute.Date; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::cv-education-experience.cv-education-experience' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + reference_tags: Schema.Attribute.Relation< + 'manyToMany', + 'api::reference-tag.reference-tag' + >; + startedAt: Schema.Attribute.Date; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiCvWorkExperienceCvWorkExperience + extends Struct.CollectionTypeSchema { + collectionName: 'cv_work_experiences'; + info: { + displayName: 'CV Work Experience'; + pluralName: 'cv-work-experiences'; + singularName: 'cv-work-experience'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + finishedAt: Schema.Attribute.Date; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::cv-work-experience.cv-work-experience' + > & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + reference_tags: Schema.Attribute.Relation< + 'manyToMany', + 'api::reference-tag.reference-tag' + >; + startedAt: Schema.Attribute.Date; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiPostPost extends Struct.CollectionTypeSchema { + collectionName: 'posts'; + info: { + description: ''; + displayName: 'Blogpost'; + pluralName: 'posts'; + singularName: 'post'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + content: Schema.Attribute.RichText & Schema.Attribute.Required; + cover: Schema.Attribute.Media<'images'> & Schema.Attribute.Required; + 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::post.post'> & + Schema.Attribute.Private; + publishedAt: Schema.Attribute.DateTime; + reference_tags: Schema.Attribute.Relation< + 'manyToMany', + 'api::reference-tag.reference-tag' + >; + title: Schema.Attribute.String & + Schema.Attribute.Required & + Schema.Attribute.Unique; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + +export interface ApiReferenceTagReferenceTag + extends Struct.CollectionTypeSchema { + collectionName: 'reference_tags'; + info: { + description: ''; + displayName: 'Reference Tag'; + pluralName: 'reference-tags'; + singularName: 'reference-tag'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + cv_education_experiences: Schema.Attribute.Relation< + 'manyToMany', + 'api::cv-education-experience.cv-education-experience' + >; + cv_work_experiences: Schema.Attribute.Relation< + 'manyToMany', + 'api::cv-work-experience.cv-work-experience' + >; + link: Schema.Attribute.String; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::reference-tag.reference-tag' + > & + Schema.Attribute.Private; + posts: Schema.Attribute.Relation<'manyToMany', 'api::post.post'>; + publishedAt: Schema.Attribute.DateTime; + title: Schema.Attribute.String; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + }; +} + export interface PluginContentReleasesRelease extends Struct.CollectionTypeSchema { collectionName: 'strapi_releases'; @@ -878,6 +1024,10 @@ declare module '@strapi/strapi' { 'admin::transfer-token': AdminTransferToken; 'admin::transfer-token-permission': AdminTransferTokenPermission; 'admin::user': AdminUser; + 'api::cv-education-experience.cv-education-experience': ApiCvEducationExperienceCvEducationExperience; + 'api::cv-work-experience.cv-work-experience': ApiCvWorkExperienceCvWorkExperience; + 'api::post.post': ApiPostPost; + 'api::reference-tag.reference-tag': ApiReferenceTagReferenceTag; 'plugin::content-releases.release': PluginContentReleasesRelease; 'plugin::content-releases.release-action': PluginContentReleasesReleaseAction; 'plugin::i18n.locale': PluginI18NLocale;