{"id":25171606,"url":"https://github.com/basemax/generalcmsgraphqlts","last_synced_at":"2026-05-06T03:32:06.843Z","repository":{"id":183010144,"uuid":"664575549","full_name":"BaseMax/GeneralCMSGraphQLTS","owner":"BaseMax","description":"This project is a GraphQL-based application implemented using TypeScript and NestJS. It provides a set of APIs to manage various entities such as posts, users, tags, sliders, FAQs, menu positions, menu items, categories, and their relationships.","archived":false,"fork":false,"pushed_at":"2026-04-07T08:58:47.000Z","size":1061,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-07T10:27:12.414Z","etag":null,"topics":["graphql","graphql-ts","javascript","js","ts","ts-graohql","typescript","typescript-graphql"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BaseMax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-10T09:29:36.000Z","updated_at":"2026-04-07T08:58:49.000Z","dependencies_parsed_at":"2026-03-27T17:02:41.327Z","dependency_job_id":null,"html_url":"https://github.com/BaseMax/GeneralCMSGraphQLTS","commit_stats":null,"previous_names":["basemax/generalcmsgraphqlts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BaseMax/GeneralCMSGraphQLTS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaseMax%2FGeneralCMSGraphQLTS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaseMax%2FGeneralCMSGraphQLTS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaseMax%2FGeneralCMSGraphQLTS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaseMax%2FGeneralCMSGraphQLTS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BaseMax","download_url":"https://codeload.github.com/BaseMax/GeneralCMSGraphQLTS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaseMax%2FGeneralCMSGraphQLTS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32677926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","graphql-ts","javascript","js","ts","ts-graohql","typescript","typescript-graphql"],"created_at":"2025-02-09T09:21:19.447Z","updated_at":"2026-05-06T03:32:06.820Z","avatar_url":"https://github.com/BaseMax.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GraphQL Project with TypeScript and NestJS\n\nThis project is a GraphQL-based application implemented using TypeScript and NestJS. It provides a set of APIs to manage various entities such as posts, users, tags, sliders, FAQs, menu positions, menu items, categories, and their relationships.\n\n## Entity Schema\n\nThe project consists of the following entities and their corresponding attributes:\n\n- Posts (id, title, slug, content, fullcontent, createdAt, updatedAt, author)\n- Users (id, username, hashedPassword, email, firstName, lastName, name, role_id)\n- User Permissions (user_id, key, value=0 or 1)\n  - post-edit\n  - post-insert\n  - post-delete\n  - tag-edit\n  - tag-insert\n  - tag-delete\n  - faq-insert\n  - faq-delete\n  - faq-edit\n  - menu_positions-insert\n  - menu_positions-delete\n  - menu_positions-edit\n  - menu_items-insert\n  - menu_items-delete\n  - menu_items-edit\n  - slider-insert\n  - slider-delete\n  - slider-edit\n- Slider Positions (id, name, slug)\n- Slider Slides (id, slider_position_id, image, title, description, link)\n- Tags (id, text)\n- Post Tags (id, post_id, tag_id)\n- Contact Us (id, firstName, lastName, email, tel, text)\n- FAQs (id, question, answer)\n- Menu Positions (id, name, slug)\n- Menu Items (id, menu_position_id, name, link, parent_id=null)\n- Categories (id, name, slug, parent_id=null)\n- Post Categories (id, post_id, category_id)\n\n## Demo\n\n![GraphQL Project with TypeScript and NestJS](screenshots/1.png)\n\n![GraphQL Project with TypeScript and NestJS](screenshots/2.png)\n\n![GraphQL Project with TypeScript and NestJS](screenshots/3.png)\n\n![GraphQL Project with TypeScript and NestJS](screenshots/4.png)\n\n![GraphQL Project with TypeScript and NestJS](screenshots/5.png)\n\n## Installation\n\nTo run this GraphQL project locally, follow the instructions below:\n\nClone the repository:\n\n```bash\ngit clone https://github.com/BaseMax/GeneralCMSGraphQLTS.git\n```\n\nNavigate to the project directory:\n\n```bash\ncd GeneralCMSGraphQLTS\n```\n\nInstall the dependencies:\n\n```bash\nnpm install\n```\n\nSet up the environment variables:\n\nCreate a .env file in the project root.\nDefine the required environment variables (e.g., database connection details, API keys, etc.) in the .env file.\n\n```\nmv .env.example .env\n```\n\nStart the application:\n\n```bash\nnpm run start:dev\n\n```\n\n## docs \nIf you want to have a better experience, use the document and postman json . \n\n\n\nThe application should now be running locally on the specified port.\n\n## GraphQL API\n\nOnce the application is running, you can interact with the GraphQL API using a GraphQL client or a tool like GraphiQL or GraphQL Playground. The GraphQL endpoint will be available at `http://localhost:\u003cport\u003e/graphql`.\n\nThe API provides various queries and mutations to perform CRUD operations on the entities mentioned above. You can explore the available queries and mutations by accessing the GraphQL endpoint and referring to the provided documentation or schema.\n\n## GraphQL\n\n### Queries\n\n- `getAllPosts`: Retrieves a list of all posts.\n- `getPostById(id: ID!)`: Retrieves a specific post by its ID.\n- `getAllUsers`: Retrieves a list of all users.\n- `getUserById(id: ID!)`: Retrieves a specific user by their ID.\n- `getAllTags`: Retrieves a list of all tags.\n- `getTagById(id: ID!)`: Retrieves a specific tag by its ID.\n- `getAllSliderPositions`: Retrieves a list of all slider positions.\n- `getSliderPositionById(id: ID!)`: Retrieves a specific slider position by its ID.\n- `getAllSliderSlides`: Retrieves a list of all slider slides.\n- `getSliderSlideById(id: ID!)`: Retrieves a specific slider slide by its ID.\n- `getAllFAQs`: Retrieves a list of all FAQs.\n- `getFAQById(id: ID!)`: Retrieves a specific FAQ by its ID.\n- `getAllMenuPositions`: Retrieves a list of all menu positions.\n- `getMenuPositionById(id: ID!)`: Retrieves a specific menu position by its ID.\n- `getAllMenuItems`: Retrieves a list of all menu items.\n- `getMenuItemById(id: ID!)`: Retrieves a specific menu item by its ID.\n- `getAllCategories`: Retrieves a list of all categories.\n- `getCategoryById(id: ID!)`: Retrieves a specific category by its ID.\n\n### Mutations\n\n- `createPost(input: CreatePostInput!):` Post: Creates a new post.\n- `updatePost(id: ID!, input: UpdatePostInput!):` Post: Updates an existing post.\n- `deletePost(id: ID!):` ID: Deletes a post by its ID.\n- `createUser(input: CreateUserInput!):` User: Creates a new user.\n- `updateUser(id: ID!, input: UpdateUserInput!):` User: Updates an existing user.\n- `deleteUser(id: ID!):` ID: Deletes a user by their ID.\n- `createTag(input: CreateTagInput!):` Tag: Creates a new tag.\n- `updateTag(id: ID!, input: UpdateTagInput!):` Tag: Updates an existing tag.\n- `deleteTag(id: ID!):` ID: Deletes a tag by its ID.\n- `createSliderPosition(input: CreateSliderPositionInput!):` SliderPosition: Creates a new slider position.\n- `updateSliderPosition(id: ID!, input: UpdateSliderPositionInput!):` SliderPosition: Updates an existing slider position.\n- `deleteSliderPosition(id: ID!):` ID: Deletes a slider position by its ID.\n- `createSliderSlide(input: CreateSliderSlideInput!):` SliderSlide: Creates a new slider slide.\n- `updateSliderSlide(id: ID!, input: UpdateSliderSlideInput!):` SliderSlide: Updates an existing slider slide.\n- `deleteSliderSlide(id: ID!):` ID: Deletes a slider slide by its ID.\n- `createFAQ(input: CreateFAQInput!):` FAQ: Creates a new FAQ.\n- `updateFAQ(id: ID!, input: UpdateFAQInput!):` FAQ: Updates an existing FAQ.\n- `deleteFAQ(id: ID!):` ID: Deletes an FAQ by its ID.\n- `createMenuPosition(input: CreateMenuPositionInput!):` MenuPosition: Creates a new menu position.\n- `updateMenuPosition(id: ID!, input: UpdateMenuPositionInput!):` MenuPosition: Updates an existing menu position.\n- `deleteMenuPosition(id: ID!):` ID: Deletes a menu position by its ID.\n- `createMenuItem(input: CreateMenuItemInput!): MenuItem: Creates a new menu item.\n- `updateMenuItem(id: ID!, input: UpdateMenuItemInput!):` MenuItem: Updates an existing menu item.\n- `deleteMenuItem(id: ID!):` ID: Deletes a menu item by its ID.\n- `createCategory(input: CreateCategoryInput!):` Category: Creates a new category.\n- `updateCategory(id: ID!, input: UpdateCategoryInput!):` Category: Updates an existing category.\n- `deleteCategory(id: ID!):` ID: Deletes a category by its ID.\n\nNote: The input and output types mentioned in the above queries and mutations are placeholders and may vary based on your specific implementation. Please refer to the project's GraphQL schema for accurate types and field definitions.\n\n**Note** : Users are created and have the normal user role by default , But the person who enters first has an admin flag , Roles are written in enum type and column role is set in this way\n\n**roles: [\"Admin\" , \"User\"]**\n\n## Contributing\n\nIf you want to contribute to this project, you can follow the steps below:\n\n- Fork the repository.\n- Create a new branch for your feature or bug fix.\n- Make the necessary changes.\n- Commit and push your changes to the branch.\n- Submit a pull request, explaining the changes you made and their purpose.\n- Please make sure to follow the existing coding style and include appropriate tests for your changes.\n\n\n## GraphQL Scheme\n\n```graphql\ntype Post {\n  id: ID!\n  title: String!\n  slug: String!\n  content: String!\n  fullContent: String!\n  createdAt: String!\n  updatedAt: String!\n  author: User!\n  tags: [Tag!]!\n  categories: [Category!]!\n}\n\n\ntype User {\n  id: ID!\n  username: String!\n  hashedPassword: String!\n  email: String!\n  firstName: String!\n  lastName: String!\n  name: String!\n  role: Role!\n}\n\n\ntype SliderPosition {\n  id: ID!\n  name: String!\n  slug: String!\n  slides: [SliderSlide!]!\n}\n\ntype SliderSlide {\n  id: ID!\n  sliderPosition: SliderPosition!\n  image: String!\n  title: String!\n  description: String!\n  link: String!\n}\n\ntype Tag {\n  id: ID!\n  text: String!\n  posts: [Post!]!\n}\n\ntype ContactUs {\n  id: ID!\n  firstName: String!\n  lastName: String!\n  email: String!\n  tel: String!\n  text: String!\n}\n\ntype FAQ {\n  id: ID!\n  question: String!\n  answer: String!\n}\n\ntype MenuPosition {\n  id: ID!\n  name: String!\n  slug: String!\n  menuItems: [MenuItem!]!\n}\n\ntype MenuItem {\n  id: ID!\n  menuPosition: MenuPosition!\n  name: String!\n  link: String!\n  parent: MenuItem\n}\n\ntype Category {\n  id: ID!\n  name: String!\n  slug: String!\n  parent: Category\n  posts: [Post!]!\n}\n\ninput CreatePostInput {\n  title: String!\n  slug: String!\n  content: String!\n  fullContent: String!\n  authorId: ID!\n  tagIds: [ID!]!\n  categoryIds: [ID!]!\n}\n\ninput UpdatePostInput {\n  title: String\n  slug: String\n  content: String\n  fullContent: String\n  authorId: ID\n  tagIds: [ID!]\n  categoryIds: [ID!]\n}\n\ninput CreateUserInput {\n  username: String!\n  hashedPassword: String!\n  email: String!\n  firstName: String!\n  lastName: String!\n  roleId: ID!\n}\n\ninput UpdateUserInput {\n  username: String\n  hashedPassword: String\n  email: String\n  firstName: String\n  lastName: String\n  roleId: ID\n}\n\ninput CreateTagInput {\n  text: String!\n}\n\ninput UpdateTagInput {\n  text: String\n}\n\ninput CreateSliderPositionInput {\n  name: String!\n  slug: String!\n}\n\ninput UpdateSliderPositionInput {\n  name: String\n  slug: String\n}\n\ninput CreateSliderSlideInput {\n  sliderPositionId: ID!\n  image: String!\n  title: String!\n  description: String!\n  link: String!\n}\n\ninput UpdateSliderSlideInput {\n  sliderPositionId: ID\n  image: String\n  title: String\n  description: String\n  link: String\n}\n\ninput CreateFAQInput {\n  question: String!\n  answer: String!\n}\n\ninput UpdateFAQInput {\n  question: String\n  answer: String\n}\n\ninput CreateMenuPositionInput {\n  name: String!\n  slug: String!\n}\n\ninput UpdateMenuPositionInput {\n  name: String\n  slug: String\n}\n\ninput CreateMenuItemInput {\n  menuPositionId: ID!\n  name: String!\n  link: String!\n  parentId: ID\n}\n\ninput UpdateMenuItemInput {\n  menuPositionId: ID\n  name: String\n  link: String\n  parentId: ID\n}\n\ninput CreateCategoryInput {\n  name: String!\n  slug: String!\n  parentId: ID\n}\n\ninput UpdateCategoryInput {\n  name: String\n  slug: String\n  parentId: ID\n}\n\ntype Query {\n  getAllPosts: [Post!]!\n  getPostById(id: ID!): Post\n  getAllUsers: [User!]!\n  getUserById(id: ID!): User\n  getAllTags: [Tag!]!\n  getTagById(id: ID!): Tag\n  getAllSliderPositions: [SliderPosition!]!\n  getSliderPositionById(id: ID!): SliderPosition\n  getAllSliderSlides: [SliderSlide!]!\n  getSliderSlideById(id: ID!): SliderSlide\n  getAllFAQs: [FAQ!]!\n  getFAQById(id: ID!): FAQ\n  getAllMenuPositions: [MenuPosition!]!\n  getMenuPositionById(id: ID!): MenuPosition\n  getAllMenuItems: [MenuItem!]!\n  getMenuItemById(id: ID!): MenuItem\n  getAllCategories: [Category!]!\n  getCategoryById(id: ID!): Category\n}\n\ntype Mutation {\n  createPost(input: CreatePostInput!): Post\n  updatePost(id: ID!, input: UpdatePostInput!): Post\n  deletePost(id: ID!): ID\n  createUser(input: CreateUserInput!): User\n  updateUser(id: ID!, input: UpdateUserInput!): User\n  deleteUser(id: ID!): ID\n  createTag(input: CreateTagInput!): Tag\n  updateTag(id: ID!, input: UpdateTagInput!): Tag\n  deleteTag(id: ID!): ID\n  createSliderPosition(input: CreateSliderPositionInput!): SliderPosition\n  updateSliderPosition(id: ID!, input: UpdateSliderPositionInput!): SliderPosition\n  deleteSliderPosition(id: ID!): ID\n  createSliderSlide(input: CreateSliderSlideInput!): SliderSlide\n  updateSliderSlide(id: ID!, input: UpdateSliderSlideInput!): SliderSlide\n  deleteSliderSlide(id: ID!): ID\n  createFAQ(input: CreateFAQInput!): FAQ\n  updateFAQ(id: ID!, input: UpdateFAQInput!): FAQ\n  deleteFAQ(id: ID!): ID\n  createMenuPosition(input: CreateMenuPositionInput!): MenuPosition\n  updateMenuPosition(id: ID!, input: UpdateMenuPositionInput!): MenuPosition\n  deleteMenuPosition(id: ID!): ID\n  createMenuItem(input: CreateMenuItemInput!): MenuItem\n  updateMenuItem(id: ID!, input: UpdateMenuItemInput!): MenuItem\n  deleteMenuItem(id: ID!): ID\n  createCategory(input: CreateCategoryInput!): Category\n  updateCategory(id: ID!, input: UpdateCategoryInput!): Category\n  deleteCategory(id: ID!): ID\n}\n```\n\n## GraphQL Examples\n\n## getAllPosts\n\n##### Description\n\nRetrieves a list of all posts.\n\n##### Example\n\n```graphql\nquery {\n  getAllPosts {\n    id\n    title\n    slug\n    content\n    fullContent\n    createdAt\n    updatedAt\n    author {\n      id\n      username\n      email\n    }\n    tags {\n      id\n      text\n    }\n    categories {\n      id\n      name\n      slug\n    }\n  }\n}\n```\n\n## getPostById\n\n##### Description\n\nRetrieves a specific post by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the post.\n\n##### Example\n\n```graphql\nquery {\n  getPostById(id: \"123\") {\n    id\n    title\n    slug\n    content\n    fullContent\n    createdAt\n    updatedAt\n    author {\n      id\n      username\n      email\n    }\n    tags {\n      id\n      text\n    }\n    categories {\n      id\n      name\n      slug\n    }\n  }\n}\n```\n\n## getAllUsers\n\n##### Description\n\nRetrieves a list of all users.\n\n##### Example\n\n```graphql\nquery {\n  getAllUsers {\n    id\n    username\n    email\n    firstName\n    lastName\n    name\n    role {\n      id\n      name\n    }\n  }\n}\n```\n\n## getUserById\n\n##### Description\n\nRetrieves a specific user by their ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the user.\n\n##### Example\n\n```graphql\nquery {\n  getUserById(id: \"456\") {\n    id\n    username\n    email\n    firstName\n    lastName\n    name\n    role {\n      id\n      name\n    }\n  }\n}\n```\n\n## getAllTags\n\n##### Description\nRetrieves a list of all tags.\n\n##### Example\n```graphql\nquery {\n  getAllTags {\n    id\n    text\n  }\n}\n```\n\n## getTagById\n\n##### Description\n\nRetrieves a specific tag by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the tag.\n\n##### Example\n\n```graphql\nquery {\n  getTagById(id: \"789\") {\n    id\n    text\n  }\n}\n```\n\n## getAllSliderPositions\n\n##### Description\n\nRetrieves a list of all slider positions.\n\n##### Example\n\n```graphql\nquery {\n  getAllSliderPositions {\n    id\n    name\n    slug\n    slides {\n      id\n      image\n      title\n      description\n      link\n    }\n  }\n}\n```\n\n## getSliderPositionById\n\n##### Description\n\nRetrieves a specific slider position by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider position.\n\n##### Example\n\n```graphql\nquery {\n  getSliderPositionById(id: \"987\") {\n    id\n    name\n    slug\n    slides {\n      id\n      image\n      title\n      description\n      link\n    }\n  }\n}\n```\n\n## getAllSliderSlides\n\n##### Description\n\nRetrieves a list of all slider slides.\n\n##### Example\n\n```graphql\nquery {\n  getAllSliderSlides {\n    id\n    sliderPosition {\n      id\n      name\n    }\n    image\n    title\n    description\n    link\n  }\n}\n```\n\n## getSliderSlideById\n\n##### Description\n\nRetrieves a specific slider slide by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider slide.\n\n##### Example\n\n```graphql\nquery {\n  getSliderSlideById(id: \"654\") {\n    id\n    sliderPosition {\n      id\n      name\n    }\n    image\n    title\n    description\n    link\n  }\n}\n```\n\n## getAllFAQs\n\n##### Description\n\nRetrieves a list of all FAQs.\n\n##### Example\n\n```graphql\nquery {\n  getAllFAQs {\n    id\n    question\n    answer\n  }\n}\n```\n\n## getFAQById\n\n##### Description\n\nRetrieves a specific FAQ by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the FAQ.\n\n##### Example\n\n```graphql\nquery {\n  getFAQById(id: \"321\") {\n    id\n    question\n    answer\n  }\n}\n```\n\n## getAllMenuPositions\n\n##### Description\n\nRetrieves a list of all menu positions.\n\n##### Example\n\n```graphql\nquery {\n  getAllMenuPositions {\n    id\n    name\n    slug\n    menuItems {\n      id\n      name\n      link\n      parent {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n## getMenuPositionById\n\n##### Description\n\nRetrieves a specific menu position by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu position.\n\n##### Example\n\n```graphql\nquery {\n  getMenuPositionById(id: \"456\") {\n    id\n    name\n    slug\n    menuItems {\n      id\n      name\n      link\n      parent {\n        id\n        name\n      }\n    }\n  }\n}\n```\n\n## getAllMenuItems\n\n##### Description\n\nRetrieves a list of all menu items.\n\n##### Example\n\n```graphql\nquery {\n  getAllMenuItems {\n    id\n    menuPosition {\n      id\n      name\n    }\n    name\n    link\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n## getMenuItemById\n\n##### Description\n\nRetrieves a specific menu item by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu item.\n\n##### Example\n\n```graphql\nquery {\n  getMenuItemById(id: \"789\") {\n    id\n    menuPosition {\n      id\n      name\n    }\n    name\n    link\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n## getAllCategories\n\n##### Description\n\nRetrieves a list of all categories.\n\n##### Example\n\n```graphql\nquery {\n  getAllCategories {\n    id\n    name\n    slug\n    parent {\n      id\n      name\n    }\n    posts {\n      id\n      title\n      slug\n    }\n  }\n}\n```\n\n## getCategoryById\n\n##### Description\n\nRetrieves a specific category by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the category.\n\n##### Example\n\n```graphql\nquery {\n  getCategoryById(id: \"987\") {\n    id\n    name\n    slug\n    parent {\n      id\n      name\n    }\n    posts {\n      id\n      title\n      slug\n    }\n  }\n}\n```\n\n## createPost\n\n##### Description\n\nCreates a new post.\n\n##### Arguments\n\n- input: CreatePostInput! (required) - The input data for creating a post.\n\n##### Example\n\n```graphql\nmutation {\n  createPost(input: {\n    title: \"New Post\",\n    slug: \"new-post\",\n    content: \"Lorem ipsum dolor sit amet\",\n    fullContent: \"Lorem ipsum dolor sit amet,consectetur adipiscing elit. Sed ut enim at quam elementum blandit\",\n    authorId: \"123\",\n    tagIds: [\"tag1\", \"tag2\"],\n    categoryIds: [\"category1\", \"category2\"]\n  }) {\n    id\n    title\n    slug\n    content\n    fullContent\n    createdAt\n    updatedAt\n    author {\n      id\n      username\n      email\n    }\n    tags {\n      id\n      text\n    }\n    categories {\n      id\n      name\n      slug\n    }\n  }\n}\n```\n\n## updatePost\n\n##### Description\n\nUpdates an existing post.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the post to update.\n- input: UpdatePostInput! (required) - The updated data for the post.\n\n##### Example\n\n```graphql\nmutation {\n  updatePost(id: \"post1\", input: {\n    title: \"Updated Post\",\n    slug: \"updated-post\",\n    content: \"Lorem ipsum dolor sit amet\",\n    fullContent: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut enim at quam elementum blandit\",\n    authorId: \"123\",\n    tagIds: [\"tag1\", \"tag2\"],\n    categoryIds: [\"category1\", \"category2\"]\n  }) {\n    id\n    title\n    slug\n    content\n    fullContent\n    createdAt\n    updatedAt\n    author {\n      id\n      username\n      email\n    }\n    tags {\n      id\n      text\n    }\n    categories {\n      id\n      name\n      slug\n    }\n  }\n}\n```\n\n## deletePost\n\n##### Description\n\nDeletes a post by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the post to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deletePost(id: \"post1\")\n}\n```\n\n## createUser\n\n##### Description\n\nCreates a new user.\n\n##### Arguments\n\n- input: CreateUserInput! (required) - The input data for creating a user.\n\n##### Example\n\n```graphql\nmutation {\n  createUser(input: {\n    username: \"john_doe\",\n    hashedPassword: \"hashedpassword123\",\n    email: \"john.doe@example.com\",\n    firstName: \"John\",\n    lastName: \"Doe\",\n    roleId: \"role1\"\n  }) {\n    id\n    username\n    email\n    firstName\n    lastName\n    name\n    role {\n      id\n      name\n    }\n  }\n}\n```\n\n### updateUser\n\n##### Description\n\nUpdates an existing user.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the user to update.\n- input: UpdateUserInput! (required) - The updated data for the user.\n\n##### Example\n\n```graphql\nmutation {\n  updateUser(id: \"user1\", input: {\n    username: \"johndoe\",\n    hashedPassword: \"updatedhashedpassword123\",\n    email: \"john.doe@example.com\",\n    firstName: \"John\",\n    lastName: \"Doe\",\n    roleId: \"role1\"\n  }) {\n    id\n    username\n    email\n    firstName\n    lastName\n    name\n    role {\n      id\n      name\n    }\n  }\n}\n```\n\n### deleteUser\n\n##### Description\n\nDeletes a user by their ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the user to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteUser(id: \"user1\")\n}\n```\n\n### createTag\n\n##### Description\n\nCreates a new tag.\n\n##### Arguments\n\n- input: CreateTagInput! (required) - The input data for creating a tag.\n\n##### Example\n\n```graphql\nmutation {\n  createTag(input: {\n    text: \"New Tag\"\n  }) {\n    id\n    text\n  }\n}\n```\n\n### updateTag\n\n##### Description\n\nUpdates an existing tag.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the tag to update.\n- input: UpdateTagInput! (required) - The updated data for the tag.\n\n##### Example\n\n```graphql\nmutation {\n  updateTag(id: \"tag1\", input: {\n    text: \"Updated Tag\"\n  }) {\n    id\n    text\n  }\n}\n```\n\n### deleteTag\n\n##### Description\n\nDeletes a tag by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the tag to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteTag(id: \"tag1\")\n}\n```\n\n### createSliderPosition\n\n##### Description\n\nCreates a new slider position.\n\n##### Arguments\n\n- input: CreateSliderPositionInput! (required) - The input data for creating a slider position.\n\n##### Example\n\n```graphql\nmutation {\n  createSliderPosition(input: {\n    name: \"New Position\",\n    slug: \"new-position\"\n  }) {\n    id\n    name\n    slug\n  }\n}\n```\n\n### updateSliderPosition\n\n##### Description\n\nUpdates an existing slider position.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider position to update.\n- input: UpdateSliderPositionInput! (required) - The updated data for the slider position.\n\n##### Example\n\n```graphql\nmutation {\n  updateSliderPosition(id: \"position1\", input: {\n    name: \"Updated Position\",\n    slug: \"updated-position\"\n  }) {\n    id\n    name\n    slug\n  }\n}\n```\n\n### deleteSliderPosition\n\n##### Description\n\nDeletes a slider position by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider position to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteSliderPosition(id: \"position1\")\n}\n```\n\n### createSliderSlide\n\n##### Description\n\nCreates a new slider slide.\n\n##### Arguments\n\n- input: CreateSliderSlideInput! (required) - The input data for creating a slider slide.\n\n##### Example\n\n```graphql\nmutation {\n  createSliderSlide(input: {\n    sliderPositionId: \"position1\",\n    image: \"slide-image.jpg\",\n    title: \"New Slide\",\n    description: \"Lorem ipsum dolor sit amet\",\n    link: \"https://example.com\"\n  }) {\n    id\n    sliderPosition {\n      id\n      name\n    }\n    image\n    title\n    description\n    link\n  }\n}\n```\n\n### updateSliderSlide\n\n##### Description\n\nUpdates an existing slider slide.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider slide to update.\n- input: UpdateSliderSlideInput! (required) - The updated data for the slider slide.\n\n##### Example\n\n```graphql\nmutation {\n  updateSliderSlide(id: \"slide1\", input: {\n    sliderPositionId: \"position1\",\n    image: \"updated-slide-image.jpg\",\n    title: \"Updated Slide\",\n    description: \"Lorem ipsum dolor sit amet\",\n    link: \"https://example.com\"\n  }) {\n    id\n    sliderPosition {\n      id\n      name\n    }\n    image\n    title\n    description\n    link\n  }\n}\n```\n\n### deleteSliderSlide\n\n##### Description\n\nDeletes a slider slide by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the slider slide to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteSliderSlide(id: \"slide1\")\n}\n```\n\n### createFAQ\n\n##### Description\n\nCreates a new FAQ.\n\n##### Arguments\n\n- input: CreateFAQInput! (required) - The input data for creating an FAQ.\n\n##### Example\n\n```graphql\nmutation {\n  createFAQ(input: {\n    question: \"New FAQ\",\n    answer: \"Lorem ipsum dolor sit amet\"\n  }) {\n    id\n    question\n    answer\n  }\n}\n```\n\n### updateFAQ\n\n##### Description\n\nUpdates an existing FAQ.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the FAQ to update.\n- input: UpdateFAQInput! (required) - The updated data for the FAQ.\n\n##### Example\n\n```graphql\nmutation {\n  updateFAQ(id: \"faq1\", input: {\n    question: \"Updated FAQ\",\n    answer: \"Lorem ipsum dolor sit amet\"\n  }) {\n    id\n    question\n    answer\n  }\n}\n```\n\n### deleteFAQ\n\n##### Description\n\nDeletes an FAQ by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the FAQ to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteFAQ(id: \"faq1\")\n}\n```\n\n### createMenuPosition\n\n##### Description\n\nCreates a new menu position.\n\n##### Arguments\n\n- input: CreateMenuPositionInput! (required) - The input data for creating a menu position.\n\n##### Example\n\n```graphql\nmutation {\n  createMenuPosition(input: {\n    name: \"New Position\",\n    slug: \"new-position\"\n  }) {\n    id\n    name\n    slug\n  }\n}\n```\n\n### updateMenuPosition\n\n##### Description\n\nUpdates an existing menu position.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu position to update.\n- input: UpdateMenuPositionInput! (required) - The updated data for the menu position.\n\n##### Example\n\n```graphql\nmutation {\n  updateMenuPosition(id: \"position1\", input: {\n    name: \"Updated Position\",\n    slug: \"updated-position\"\n  }) {\n    id\n    name\n    slug\n  }\n}\n```\n\n### deleteMenuPosition\n\n##### Description\n\nDeletes a menu position by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu position to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteMenuPosition(id: \"position1\")\n}\n```\n\n### createMenuItem\n\n##### Description\n\nCreates a new menu item.\n\n##### Arguments\n\n- input: CreateMenuItemInput! (required) - The input data for creating a menu item.\n\n##### Example\n\n```graphql\nmutation {\n  createMenuItem(input: {\n    menuPositionId: \"position1\",\n    name: \"New Menu Item\",\n    link: \"/new\"\n  }) {\n    id\n    menuPosition {\n      id\n      name\n    }\n    name\n    link\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n### updateMenuItem\n\n##### Description\n\nUpdates an existing menu item.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu item to update.\n- input: UpdateMenuItemInput! (required) - The updated data for the menu item.\n\n##### Example\n\n```graphql\nmutation {\n  updateMenuItem(id: \"item1\", input: {\n    menuPositionId: \"position1\",\n    name: \"Updated Menu Item\",\n    link: \"/updated\",\n    parentId: \"parent1\"\n  }) {\n    id\n    menuPosition {\n      id\n      name\n    }\n    name\n    link\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n### deleteMenuItem\n\n##### Description\n\nDeletes a menu item by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the menu item to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteMenuItem(id: \"item1\")\n}\n```\n\n### createCategory\n\n##### Description\n\nCreates a new category.\n\n##### Arguments\n\n- input: CreateCategoryInput! (required) - The input data for creating a category.\n\n##### Example\n\n```graphql\nmutation {\n  createCategory(input: {\n    name: \"New Category\",\n    slug: \"new-category\"\n  }) {\n    id\n    name\n    slug\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n### updateCategory\n\n##### Description\n\nUpdates an existing category.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the category to update.\n- input: UpdateCategoryInput! (required) - The updated data for the category.\n\n##### Example\n\n```graphql\nmutation {\n  updateCategory(id: \"category1\", input: {\n    name: \"Updated Category\",\n    slug: \"updated-category\"\n  }) {\n    id\n    name\n    slug\n    parent {\n      id\n      name\n    }\n  }\n}\n```\n\n### deleteCategory\n\n##### Description\n\nDeletes a category by its ID.\n\n##### Arguments\n\n- id: ID! (required) - The ID of the category to delete.\n\n##### Example\n\n```graphql\nmutation {\n  deleteCategory(id: \"category1\")\n}\n```\n\n## License\n\nThis project is licensed under the GPL-3.0 License. Feel free to modify and distribute it as needed.\n\nCopyright 2023, Max Base\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasemax%2Fgeneralcmsgraphqlts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasemax%2Fgeneralcmsgraphqlts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasemax%2Fgeneralcmsgraphqlts/lists"}