diff --git a/packages/blog-starter-kit/themes/enterprise/components/header.tsx b/packages/blog-starter-kit/themes/enterprise/components/header.tsx
index e7e63de2..01730a76 100644
--- a/packages/blog-starter-kit/themes/enterprise/components/header.tsx
+++ b/packages/blog-starter-kit/themes/enterprise/components/header.tsx
@@ -18,6 +18,7 @@ import {
ContactsSVG,
EventsSVG,
GitHubNavBarSVG,
+ GiudeSVG,
IntegrationsSVG,
MindsCloudSVG,
MindsdbLogoSVG,
@@ -37,15 +38,21 @@ const NavItem = ({
icon: Icon,
url,
cta,
+ newTab,
}: {
title: string;
description: string;
icon: React.ReactNode;
url: string;
cta?: string;
+ newTab?: boolean;
}) => {
return (
-
+
{Icon}
{title}
@@ -64,6 +71,7 @@ const mindsCloudList = [
href: 'https://mdb.ai/',
Icon: ,
cta: 'Try now →',
+ newTab: true,
},
];
const MindsCloudPopover = () => {
@@ -96,6 +104,7 @@ const MindsCloudPopover = () => {
icon={item.Icon}
url={item.href}
cta={item.cta}
+ newTab={item?.newTab}
/>
))}
@@ -112,18 +121,21 @@ const opensourceNav = [
description: 'AI models, data sources, applications',
href: 'https://docs.mindsdb.com/integrations/integrations',
Icon: ,
+ newTab: true,
},
{
name: 'Support',
description: 'Chat with experts on Slack',
href: 'https://mindsdb.com/joincommunity',
Icon: ,
+ newTab: true,
},
{
name: 'GitHub',
description: 'Get code, contribute, flag issues',
- href: 'https://docs.mindsdb.com/what-is-mindsdb',
+ href: 'https://github.com/mindsdb/mindsdb',
Icon: ,
+ newTab: true,
},
{
name: 'Community',
@@ -162,6 +174,7 @@ const OpenSourcePopover = () => {
description={item.description}
icon={item.Icon}
url={item.href}
+ newTab={item?.newTab}
/>
))}
@@ -174,18 +187,35 @@ const OpenSourcePopover = () => {
const connectList = [
{
- name: 'Connect with an Expert',
- description: "Let's explore AI together and solve your most pressing business challenges.",
+ name: 'Enterprise Offerings',
+ description:
+ 'Fully featured, fully supported, fully on prem. Explore how custom AI can benefit your business.',
href: 'https://mindsdb.com/enterprise',
Icon: ,
cta: 'Learn more →',
},
+ {
+ name: "CTO's Guide to AI Agents",
+ description:
+ 'Deep dive into the world of AI agents, covering everything from fundamental concepts to advanced applications.',
+ href: 'https://mindsdb.com/the-cto-guide-to-buiding-ai-agents',
+ Icon: ,
+ cta: 'Download Now →',
+ },
+ {
+ name: "CTO's Guide to RAG",
+ description:
+ 'Read more about how RAG works, and why this new approach to retrieving data makes a chatbot’s answers more accurate, relevant, and secure.',
+ href: 'https://mindsdb.com/mindsdb-the-ctos-guide-to-rag-guide',
+ Icon: ,
+ cta: 'Download Now →',
+ },
];
const ConnectPopover = () => {
return (
- Connect with an Expert
+ Enterprise
@@ -370,7 +400,8 @@ export const Header = () => {
Docs
@@ -488,6 +519,7 @@ export const Header = () => {
description={item.description}
icon={item.Icon}
url={item.href}
+ newTab={item.newTab}
/>
))}
@@ -501,6 +533,7 @@ export const Header = () => {
Docs
diff --git a/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/NavbarIcons/GuideSVG.js b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/NavbarIcons/GuideSVG.js
new file mode 100644
index 00000000..57094f1c
--- /dev/null
+++ b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/NavbarIcons/GuideSVG.js
@@ -0,0 +1,21 @@
+import React from 'react';
+
+export default class GuideSVG extends React.Component {
+ render() {
+ return (
+
+ );
+ }
+}
diff --git a/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/index.js b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/index.js
index 4dbd8334..7ab6d2e5 100644
--- a/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/index.js
+++ b/packages/blog-starter-kit/themes/enterprise/components/icons/svgs/index.js
@@ -23,7 +23,9 @@ import CareersSVG from './NavbarIcons/CareersSVG';
import CaseStudiesSVG from './NavbarIcons/CaseStudiesSVG';
import ContactsSVG from './NavbarIcons/ContactSVG';
import EventsSVG from './NavbarIcons/EventsSVG';
+import GiudeSVG from './NavbarIcons/GuideSVG';
import NewsroomSVG from './NavbarIcons/NewsroomSVG';
+
import NewsletterPlusSVG from './NewsletterPlusSVG';
import PlusCircleSVG from './PlusCircleSVG';
import RssSVG from './RssSVG';
@@ -44,13 +46,14 @@ export {
ExternalArrowSVG,
GitHubNavBarSVG,
GithubSVG,
+ GiudeSVG,
HashnodeSVG,
IntegrationsSVG,
LinkedinSVG,
MindsCloudSVG,
MindsdbLogoSVG,
- NewsroomSVG,
NewsletterPlusSVG,
+ NewsroomSVG,
PlusCircleSVG,
RssSVG,
SlackWhiteNavSGV,
diff --git a/packages/blog-starter-kit/themes/enterprise/generated/graphql.ts b/packages/blog-starter-kit/themes/enterprise/generated/graphql.ts
index 421f417e..ea4c8896 100644
--- a/packages/blog-starter-kit/themes/enterprise/generated/graphql.ts
+++ b/packages/blog-starter-kit/themes/enterprise/generated/graphql.ts
@@ -14,10 +14,44 @@ export type Scalars = {
Int: { input: number; output: number; }
Float: { input: number; output: number; }
DateTime: { input: string; output: string; }
+ JSONObject: { input: Record; output: Record; }
ObjectId: { input: string; output: string; }
+ TimeZone: { input: any; output: any; }
URL: { input: any; output: any; }
};
+export type AbsoluteTimeRange = {
+ /**
+ * The start date of the views.
+ * The time range will include this date (using >=).
+ *
+ * Defaults to the unix epoch start (1970-01-01).
+ */
+ from?: InputMaybe;
+ /**
+ * The end date of the views.
+ * The time range will include this date (using <=).
+ *
+ * Defaults to the current date.
+ */
+ to?: InputMaybe;
+};
+
+/** The input for accepting an invitation to join a documentation project. */
+export type AcceptInviteToDocumentationProjectInput = {
+ /** The invitation token to accept. */
+ inviteToken: Scalars['String']['input'];
+};
+
+/** Response to accepting an invitation to join a documentation project. */
+export type AcceptInviteToDocumentationProjectPayload = {
+ __typename?: 'AcceptInviteToDocumentationProjectPayload';
+ /** The documentation project that the user has been invited to. */
+ project?: Maybe;
+ /** Signifies the success of the mutation. */
+ success: Scalars['Boolean']['output'];
+};
+
export type AcceptInviteToPublicationInput = {
/** The invitation token to accept. */
inviteToken: Scalars['String']['input'];
@@ -53,6 +87,34 @@ export type AddCommentPayload = {
comment?: Maybe;
};
+export type AddDocumentationProjectCustomDomainInput = {
+ domain: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+ wwwDomain: Scalars['Boolean']['input'];
+};
+
+export type AddDocumentationProjectCustomDomainPayload = {
+ __typename?: 'AddDocumentationProjectCustomDomainPayload';
+ /**
+ * Additional DNS entries required to verify the domain.
+ * There are cases where additional records in the DNS config are required to successfully verify the domain.
+ */
+ dnsVerificationEntries: Array;
+ project?: Maybe;
+ wwwRedirectDnsVerificationEntries: Array;
+};
+
+export type AddDocumentationProjectMemberInput = {
+ projectId: Scalars['ID']['input'];
+ userId: Scalars['ID']['input'];
+};
+
+export type AddDocumentationProjectMemberPayload = {
+ __typename?: 'AddDocumentationProjectMemberPayload';
+ member?: Maybe;
+ project?: Maybe;
+};
+
export type AddPostToSeriesInput = {
/** The ID of the post to be added to the series. */
postId: Scalars['ObjectId']['input'];
@@ -201,6 +263,28 @@ export type ChangePublicationMemberVisibilityPayload = {
member: PublicationMember;
};
+export type CheckCustomDomainAvailabilityInput = {
+ domain: Scalars['String']['input'];
+ withWWWRedirect: Scalars['Boolean']['input'];
+};
+
+export type CheckCustomDomainAvailabilityResult = {
+ __typename?: 'CheckCustomDomainAvailabilityResult';
+ domainAvailable: Scalars['Boolean']['output'];
+};
+
+export type CheckSubdomainAvailabilityResult = {
+ __typename?: 'CheckSubdomainAvailabilityResult';
+ subdomainAvailable: Scalars['Boolean']['output'];
+};
+
+/** Contains the flag indicating if the collaboration feature is enabled or not. */
+export type CollaborationFeature = Feature & {
+ __typename?: 'CollaborationFeature';
+ /** A flag indicating if the collaboration feature is enabled or not. */
+ isEnabled: Scalars['Boolean']['output'];
+};
+
/**
* Contains basic information about the comment.
* A comment is a response to a post.
@@ -814,6 +898,86 @@ export type CoverImageOptionsInput = {
stickCoverToBottom?: InputMaybe;
};
+export type CreateDocumentationApiReferenceInput = {
+ name?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+ slug?: InputMaybe;
+ url: Scalars['String']['input'];
+};
+
+export type CreateDocumentationApiReferencePayload = {
+ __typename?: 'CreateDocumentationApiReferencePayload';
+ guide: DocumentationApiReference;
+};
+
+export type CreateDocumentationGuideInput = {
+ name: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+ slug?: InputMaybe;
+};
+
+export type CreateDocumentationGuidePayload = {
+ __typename?: 'CreateDocumentationGuidePayload';
+ guide: DocumentationGuide;
+};
+
+export type CreateDocumentationLinkInput = {
+ guideSlug: Scalars['String']['input'];
+ label: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+ url: Scalars['String']['input'];
+};
+
+export type CreateDocumentationLinkPayload = {
+ __typename?: 'CreateDocumentationLinkPayload';
+ guide?: Maybe;
+ link?: Maybe;
+};
+
+export type CreateDocumentationPageDraftInput = {
+ content?: InputMaybe;
+ description?: InputMaybe;
+ guideSlug: Scalars['String']['input'];
+ label?: InputMaybe;
+ parentId?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+ title?: InputMaybe;
+};
+
+export type CreateDocumentationPageDraftPayload = {
+ __typename?: 'CreateDocumentationPageDraftPayload';
+ guide?: Maybe;
+ page?: Maybe;
+};
+
+export type CreateDocumentationProjectInput = {
+ description?: InputMaybe;
+ favIconUrl?: InputMaybe;
+ links?: InputMaybe;
+ logoDarkThemeUrl?: InputMaybe;
+ logoUrl?: InputMaybe;
+ name: Scalars['String']['input'];
+ settings?: InputMaybe;
+ subdomain: Scalars['String']['input'];
+};
+
+export type CreateDocumentationProjectPayload = {
+ __typename?: 'CreateDocumentationProjectPayload';
+ project: DocumentationProject;
+};
+
+export type CreateDocumentationSectionInput = {
+ guideSlug: Scalars['String']['input'];
+ label?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+};
+
+export type CreateDocumentationSectionPayload = {
+ __typename?: 'CreateDocumentationSectionPayload';
+ guide?: Maybe;
+ section?: Maybe;
+};
+
export type CreateDraftInput = {
/** Ids of the co-authors of the resulting draft. */
coAuthors?: InputMaybe>;
@@ -1003,6 +1167,11 @@ export type DarkModePreferences = {
logo?: Maybe;
};
+export enum DefaultDocsTheme {
+ Dark = 'DARK',
+ Light = 'LIGHT'
+}
+
/** Input to delete a role based invite. */
export type DeleteRoleBasedInviteInput = {
/** The ID of the role based invite. */
@@ -1029,6 +1198,60 @@ export enum DeviceType {
Tablet = 'TABLET'
}
+/** The input for disabling AI search for a documentation project */
+export type DisableDocumentationProjectAiSearchInput = {
+ /** The ID of the documentation project */
+ projectId: Scalars['ID']['input'];
+};
+
+/** The response to disabling AI search for a documentation project */
+export type DisableDocumentationProjectAiSearchPayload = {
+ __typename?: 'DisableDocumentationProjectAISearchPayload';
+ project?: Maybe;
+};
+
+export type DisableDocumentationProjectHeadlessCmsInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+export type DisableDocumentationProjectHeadlessCmsPayload = {
+ __typename?: 'DisableDocumentationProjectHeadlessCmsPayload';
+ project?: Maybe;
+};
+
+export type DnsVerificationEntry = {
+ __typename?: 'DnsVerificationEntry';
+ name: Scalars['String']['output'];
+ type: DnsVerificationType;
+ value: Scalars['String']['output'];
+};
+
+export enum DnsVerificationType {
+ ARecord = 'A_RECORD',
+ CnameRecord = 'CNAME_RECORD',
+ TxtRecord = 'TXT_RECORD'
+}
+
+export enum DocsAnalyticsDimension {
+ ApiReferenceGuide = 'API_REFERENCE_GUIDE',
+ Browser = 'BROWSER',
+ Country = 'COUNTRY',
+ DeviceType = 'DEVICE_TYPE',
+ DocumentationGuide = 'DOCUMENTATION_GUIDE',
+ OperatingSystem = 'OPERATING_SYSTEM',
+ Page = 'PAGE',
+ Path = 'PATH',
+ ReferrerHost = 'REFERRER_HOST'
+}
+
+export type DocsProjectInvitedMembers = {
+ __typename?: 'DocsProjectInvitedMembers';
+ email: Scalars['String']['output'];
+ role: DocumentationMemberRole;
+ /** Invited Hashnode user, returns null if the user is not a Hashnode user. */
+ user?: Maybe;
+};
+
export type DocsViews = {
id: Scalars['ID']['output'];
/** The aggregated views. */
@@ -1041,6 +1264,25 @@ export type DocsVisitors = {
total: Scalars['Int']['output'];
};
+export type DocumentationApiReference = IGuide & {
+ __typename?: 'DocumentationApiReference';
+ /** The parsed Swagger Definition of the API Reference. */
+ definition?: Maybe;
+ id: Scalars['ID']['output'];
+ lastModified: Scalars['DateTime']['output'];
+ name: Scalars['String']['output'];
+ /** OG meta-data of the page. Contains image url used in open graph meta tags. */
+ ogMetaData?: Maybe;
+ /** Url of the published api reference. */
+ publishedUrl?: Maybe;
+ /** SEO information of the page. Contains title and description used in meta tags. */
+ seo?: Maybe;
+ slug: Scalars['String']['output'];
+ status: DocumentationGuideItemStatus;
+ url: Scalars['String']['output'];
+ versionId?: Maybe;
+};
+
export type DocumentationGuide = IGuide & {
__typename?: 'DocumentationGuide';
hasChanges: Scalars['Boolean']['output'];
@@ -1052,6 +1294,7 @@ export type DocumentationGuide = IGuide & {
page?: Maybe;
publishedPage?: Maybe;
publishedSidebarItems: Array;
+ redirectedPublishedPage?: Maybe;
/** SEO information of the page. Contains title and description used in meta tags. */
seo?: Maybe;
sidebarItems: Array;
@@ -1074,7 +1317,13 @@ export type DocumentationGuidePublishedPageArgs = {
path?: InputMaybe;
};
-export type DocumentationGuideItem = DocumentationGuide;
+
+export type DocumentationGuideRedirectedPublishedPageArgs = {
+ id?: InputMaybe;
+ path?: InputMaybe;
+};
+
+export type DocumentationGuideItem = DocumentationApiReference | DocumentationGuide;
export enum DocumentationGuideItemStatus {
Deleted = 'DELETED',
@@ -1093,10 +1342,66 @@ export type DocumentationLink = IDocumentationSidebarItem & {
visibility: DocumentationSidebarItemVisibility;
};
+export enum DocumentationMemberRole {
+ Admin = 'ADMIN',
+ Owner = 'OWNER'
+}
+
+/** A column for the navigation. Used in the footer */
+export type DocumentationNavbarColumn = Node & {
+ __typename?: 'DocumentationNavbarColumn';
+ /** The date the column was created. */
+ createdAt: Scalars['DateTime']['output'];
+ /** The ID of the column. */
+ id: Scalars['ID']['output'];
+ /** The navigation items in the column. */
+ items: Array;
+ /** The label of the column. */
+ label: Scalars['String']['output'];
+ /** The date the column was last updated. */
+ updatedAt?: Maybe;
+};
+
+export type DocumentationNavbarItem = DocumentationNavbarItemGuide | DocumentationNavbarItemLink;
+
+/** A navigation item pointing to a guide. */
+export type DocumentationNavbarItemGuide = Node & {
+ __typename?: 'DocumentationNavbarItemGuide';
+ /** The date the item was created. */
+ createdAt: Scalars['DateTime']['output'];
+ /** The guide the item points to. */
+ guide: DocumentationGuideItem;
+ /** The ID of the item. */
+ id: Scalars['ID']['output'];
+ /** The label of the item. */
+ label: Scalars['String']['output'];
+ /** The date the item was last updated. */
+ updatedAt?: Maybe;
+};
+
+/** A navigation item pointing to an external URL. */
+export type DocumentationNavbarItemLink = Node & {
+ __typename?: 'DocumentationNavbarItemLink';
+ /** The date the item was created. */
+ createdAt: Scalars['DateTime']['output'];
+ /** The ID of the item. */
+ id: Scalars['ID']['output'];
+ /** The label of the item. */
+ label: Scalars['String']['output'];
+ /** Indicates if the link should open in a new tab. */
+ openInNewTab: Scalars['Boolean']['output'];
+ /** The date the item was last updated. */
+ updatedAt?: Maybe;
+ /** The URL the item points to. */
+ url: Scalars['String']['output'];
+};
+
export type DocumentationPage = {
__typename?: 'DocumentationPage';
+ content: DocumentationPageContent;
createdAt: Scalars['DateTime']['output'];
description?: Maybe;
+ draft: DocumentationPageDraft;
guideSlug: Scalars['String']['output'];
id: Scalars['ID']['output'];
/** OG meta-data of the page. Contains image url used in open graph meta tags. */
@@ -1112,12 +1417,384 @@ export type DocumentationPage = {
visibility: DocumentationSidebarItemVisibility;
};
+export type DocumentationPageContent = {
+ __typename?: 'DocumentationPageContent';
+ mdx: Scalars['String']['output'];
+};
+
+export type DocumentationPageDraft = {
+ __typename?: 'DocumentationPageDraft';
+ content: DocumentationPageContent;
+ description?: Maybe;
+ title: Scalars['String']['output'];
+};
+
+export type DocumentationProject = Node & {
+ __typename?: 'DocumentationProject';
+ ai?: Maybe;
+ analytics: DocumentationProjectAnalytics;
+ appearance: DocumentationProjectAppearance;
+ createdAt: Scalars['DateTime']['output'];
+ defaultGuide?: Maybe;
+ description?: Maybe;
+ domain?: Maybe;
+ /** Object containing information about beta features enabled for the documentation project. */
+ features: DocumentationProjectFeatures;
+ guide?: Maybe;
+ guides: Array;
+ id: Scalars['ID']['output'];
+ integrations?: Maybe;
+ links: DocumentationProjectLinks;
+ /** @deprecated Use membersV2 */
+ members: Array;
+ membersV2: DocumentationProjectMemberConnection;
+ name: Scalars['String']['output'];
+ /** The navigation configuration for the documentation project. */
+ navigation: DocumentationProjectNavigation;
+ /** The Owner of the documentation project. */
+ owner: User;
+ /** Details of publication invites. Returns null if publication is not a team publication. */
+ pendingInvites: DocumentationProjectPendingInviteConnection;
+ publishedGuide?: Maybe;
+ publishedGuides: Array;
+ /** A user search to find users with a specific status */
+ searchUsers: DocumentationProjectSearchUserConnection;
+ settings: DocumentationProjectSettings;
+ subscription?: Maybe;
+ updatedAt?: Maybe;
+ /** Url of the documentation project. */
+ url: Scalars['String']['output'];
+};
+
+
+export type DocumentationProjectGuideArgs = {
+ id?: InputMaybe;
+ slug?: InputMaybe;
+};
+
+
+export type DocumentationProjectMembersV2Args = {
+ filter?: InputMaybe;
+ page: Scalars['Int']['input'];
+ pageSize: Scalars['Int']['input'];
+};
+
+
+export type DocumentationProjectPendingInvitesArgs = {
+ page: Scalars['Int']['input'];
+ pageSize: Scalars['Int']['input'];
+};
+
+
+export type DocumentationProjectPublishedGuideArgs = {
+ id?: InputMaybe;
+ slug?: InputMaybe;
+};
+
+
+export type DocumentationProjectSearchUsersArgs = {
+ input: DocumentationProjectSearchUsersInput;
+};
+
+export type DocumentationProjectAiPreference = {
+ __typename?: 'DocumentationProjectAIPreference';
+ /** The prompts for the documentation project. These prompts are shown to the user when AI Search chatbot is opened. */
+ prompts: Array;
+ /** The settings for the AI feature. */
+ settings: DocumentationProjectAiSettings;
+};
+
+export type DocumentationProjectAiPrompt = {
+ __typename?: 'DocumentationProjectAIPrompt';
+ /** The date the prompt was created. */
+ createdAt: Scalars['DateTime']['output'];
+ /** The ID of the prompt. */
+ id: Scalars['ID']['output'];
+ /** The prompt text. */
+ prompt: Scalars['String']['output'];
+};
+
+export type DocumentationProjectAiSettings = {
+ __typename?: 'DocumentationProjectAISettings';
+ /** A flag to indicate if the AI search feature is enabled. */
+ isSearchEnabled: Scalars['Boolean']['output'];
+};
+
+export type DocumentationProjectAnalytics = {
+ __typename?: 'DocumentationProjectAnalytics';
+ views?: Maybe;
+ visitors: ProjectVisitorsConnection;
+};
+
+
+export type DocumentationProjectAnalyticsViewsArgs = {
+ after?: InputMaybe;
+ filter?: InputMaybe;
+ first: Scalars['Int']['input'];
+ groupBy?: InputMaybe;
+ options?: InputMaybe;
+ sortBy?: InputMaybe;
+};
+
+
+export type DocumentationProjectAnalyticsVisitorsArgs = {
+ after?: InputMaybe;
+ filter?: InputMaybe;
+ first: Scalars['Int']['input'];
+ groupBy?: InputMaybe;
+ options?: InputMaybe;
+};
+
+export type DocumentationProjectAppearance = {
+ __typename?: 'DocumentationProjectAppearance';
+ defaultDocsTheme: DefaultDocsTheme;
+ favIconUrl?: Maybe;
+ getStarted?: Maybe;
+ logoDarkThemeUrl?: Maybe;
+ logoUrl?: Maybe;
+ primaryColor?: Maybe;
+};
+
+export type DocumentationProjectAppearanceInput = {
+ defaultDocsTheme?: InputMaybe;
+ favIconUrl?: InputMaybe;
+ getStarted?: InputMaybe;
+ logoDarkThemeUrl?: InputMaybe;
+ logoUrl?: InputMaybe;
+ primaryColor?: InputMaybe;
+};
+
+export type DocumentationProjectCustomDomain = {
+ __typename?: 'DocumentationProjectCustomDomain';
+ domain: Scalars['String']['output'];
+ status: CustomDomainStatus;
+ verifiedAt?: Maybe;
+ wwwDomain?: Maybe;
+};
+
+export type DocumentationProjectCustomWwwDomain = {
+ __typename?: 'DocumentationProjectCustomWwwDomain';
+ status: CustomDomainStatus;
+ verifiedAt?: Maybe;
+};
+
+export type DocumentationProjectDomainSettings = {
+ __typename?: 'DocumentationProjectDomainSettings';
+ customDomain?: Maybe;
+ hashnodeSubDomain: Scalars['String']['output'];
+};
+
+/** Contains the documentation project's beta features. */
+export type DocumentationProjectFeatures = {
+ __typename?: 'DocumentationProjectFeatures';
+ /** Collaboration feature for the docs project which enables collaborative editing in the page editor. */
+ collaboration: CollaborationFeature;
+};
+
+export type DocumentationProjectGetStarted = {
+ __typename?: 'DocumentationProjectGetStarted';
+ label: Scalars['String']['output'];
+ url: Scalars['URL']['output'];
+};
+
+export type DocumentationProjectGetStartedInput = {
+ label?: InputMaybe;
+ url?: InputMaybe;
+};
+
+export type DocumentationProjectIntegrations = {
+ __typename?: 'DocumentationProjectIntegrations';
+ /** FB Pixel ID for integration with Facebook Pixel. */
+ fbPixelID?: Maybe;
+ /** Google Tag Manager ID for integration with Google Tag Manager. */
+ gTagManagerID?: Maybe;
+ /** Google Analytics Tracking ID for integration with Google Analytics. */
+ gaTrackingID?: Maybe;
+ /** Hotjar Site ID for integration with Hotjar. */
+ hotjarSiteID?: Maybe;
+ /** Intercom ID for integration with Intercom */
+ intercomID?: Maybe;
+ /** The meta tags associated with the documentation project. */
+ metaTags?: Maybe;
+};
+
+export type DocumentationProjectIntegrationsInput = {
+ fbPixelID?: InputMaybe;
+ gTagManagerID?: InputMaybe;
+ gaTrackingID?: InputMaybe;
+ hotjarSiteID?: InputMaybe;
+ intercomID?: InputMaybe;
+ metaTags?: InputMaybe;
+};
+
+/** Contains the pending invite information. */
+export type DocumentationProjectInvite = Node & {
+ __typename?: 'DocumentationProjectInvite';
+ /** The ID of the pending invite. */
+ id: Scalars['ID']['output'];
+ /** The role assigned to the user in the publication. */
+ role: DocumentationMemberRole;
+ /** Invited Hashnode user, returns null if the user is not a Hashnode user. */
+ user: User;
+};
+
+export type DocumentationProjectLinks = {
+ __typename?: 'DocumentationProjectLinks';
+ /** Daily.dev URL of the documentation project. */
+ dailydev?: Maybe;
+ /** GitHub URL of the documentation project. */
+ github?: Maybe;
+ /** The GitHub repository of the documentation project. */
+ githubRepository?: Maybe;
+ /** Hashnode profile of author of the documentation project. */
+ hashnode?: Maybe;
+ /** Instagram URL of the documentation project. */
+ instagram?: Maybe;
+ /** LinkedIn URL of the documentation project. */
+ linkedin?: Maybe;
+ /** Mastodon URL of the documentation project. */
+ mastodon?: Maybe;
+ /** Twitter URL of the documentation project. */
+ twitter?: Maybe;
+ /** Website URL of the documentation project. */
+ website?: Maybe;
+ /** YouTube URL of the documentation project. */
+ youtube?: Maybe;
+};
+
+export type DocumentationProjectLinksInput = {
+ dailydev?: InputMaybe;
+ github?: InputMaybe;
+ githubRepository?: InputMaybe;
+ hashnode?: InputMaybe;
+ instagram?: InputMaybe;
+ linkedin?: InputMaybe;
+ mastodon?: InputMaybe;
+ twitter?: InputMaybe;
+ website?: InputMaybe;
+ youtube?: InputMaybe;
+};
+
+export type DocumentationProjectMember = {
+ __typename?: 'DocumentationProjectMember';
+ /** The role of the member in the documentation project. */
+ role: DocumentationMemberRole;
+ /** The user who is a member of the documentation project. */
+ user: User;
+};
+
+export type DocumentationProjectMemberConnection = PageConnection & {
+ __typename?: 'DocumentationProjectMemberConnection';
+ /** A list of members. */
+ nodes: Array;
+ /** Information to aid in pagination. */
+ pageInfo: OffsetPageInfo;
+ /** Total number of nodes available i.e. number of members. */
+ totalDocuments: Scalars['Int']['output'];
+};
+
+/** The filter for the documentation member connection. */
+export type DocumentationProjectMemberConnectionFilter = {
+ /** Search filter can be used to filter members by their username or email. */
+ searchTerm?: InputMaybe;
+};
+
+export type DocumentationProjectMemberV2 = Node & {
+ __typename?: 'DocumentationProjectMemberV2';
+ /** The ID of the member. */
+ id: Scalars['ID']['output'];
+ /** The role of the member in the documentation project. */
+ role: DocumentationMemberRole;
+ /** The user who is a member of the documentation project. */
+ user: User;
+};
+
+/** Contains the header and footer navigation for the documentation project. */
+export type DocumentationProjectNavigation = {
+ __typename?: 'DocumentationProjectNavigation';
+ /** The columns in the footer navigation. */
+ footer: Array;
+ /** The items in the header navigation. */
+ header: Array;
+};
+
+/** A connection for the user search result. */
+export type DocumentationProjectPendingInviteConnection = PageConnection & {
+ __typename?: 'DocumentationProjectPendingInviteConnection';
+ /** A list of invites */
+ nodes: Array;
+ /** Information to aid in pagination. */
+ pageInfo: OffsetPageInfo;
+ /** The total number of invites. */
+ totalDocuments: Scalars['Int']['output'];
+};
+
+export enum DocumentationProjectProductName {
+ Enterprise = 'ENTERPRISE',
+ Startup = 'STARTUP'
+}
+
+/** A connection for the user search result. */
+export type DocumentationProjectSearchUserConnection = PageConnection & {
+ __typename?: 'DocumentationProjectSearchUserConnection';
+ /** The edges containing the user and the status of the user. */
+ edges: Array;
+ /** A list user nodes. */
+ nodes: Array;
+ /** Information to aid in pagination. */
+ pageInfo: OffsetPageInfo;
+ /** Total number of nodes available i.e. number of user search results. */
+ totalDocuments: Scalars['Int']['output'];
+};
+
+export type DocumentationProjectSearchUserEdge = PageEdge & {
+ __typename?: 'DocumentationProjectSearchUserEdge';
+ node: User;
+ status: UserInviteStatus;
+};
+
+export type DocumentationProjectSearchUsersInput = {
+ /** The page number that should be returned. */
+ page: Scalars['Int']['input'];
+ /** The number of users to return on a single page. */
+ pageSize: Scalars['Int']['input'];
+ searchTerm: Scalars['String']['input'];
+ status: UserInviteStatus;
+};
+
+export type DocumentationProjectSettings = {
+ __typename?: 'DocumentationProjectSettings';
+ isHashnodeLoginAllowed: Scalars['Boolean']['output'];
+ /** A flag to indicate if the documentation project is using Headless CMS. */
+ isHeadless: Scalars['Boolean']['output'];
+ isRobotsAllowed: Scalars['Boolean']['output'];
+};
+
+export type DocumentationProjectSettingsInput = {
+ allowHashnodeLogin?: InputMaybe;
+ allowRobots?: InputMaybe;
+};
+
+export type DocumentationProjectSubscription = {
+ __typename?: 'DocumentationProjectSubscription';
+ productName: DocumentationProjectProductName;
+ status: DocumentationProjectSubscriptionStatus;
+};
+
+export enum DocumentationProjectSubscriptionStatus {
+ Active = 'ACTIVE',
+ Canceled = 'CANCELED',
+ PastDue = 'PAST_DUE',
+ Unpaid = 'UNPAID'
+}
+
export type DocumentationSection = IDocumentationNestableSidebarItem & IDocumentationSidebarItem & {
__typename?: 'DocumentationSection';
createdAt: Scalars['DateTime']['output'];
id: Scalars['ID']['output'];
label: Scalars['String']['output'];
pages: Array;
+ path: Scalars['String']['output'];
status: DocumentationSidebarItemStatus;
updatedAt?: Maybe;
visibility: DocumentationSidebarItemVisibility;
@@ -1226,6 +1903,8 @@ export type Draft = Node & {
/** The publication the draft belongs to. */
publication?: Maybe;
publishAs?: Maybe;
+ /** Returns the published post when the draft is published, returns null otherwise */
+ publishedPost?: Maybe;
readTimeInMinutes: Scalars['Int']['output'];
/** The date the draft is scheduled to be published. */
scheduledDate?: Maybe;
@@ -1407,6 +2086,27 @@ export type EmailNotificationPreferences = {
weeklyNewsletterEmails: Scalars['Boolean']['output'];
};
+/** The input for enabling AI search for a documentation project */
+export type EnableDocumentationProjectAiSearchInput = {
+ /** The ID of the documentation project */
+ projectId: Scalars['ID']['input'];
+};
+
+/** The response to enabling AI search for a documentation project */
+export type EnableDocumentationProjectAiSearchPayload = {
+ __typename?: 'EnableDocumentationProjectAISearchPayload';
+ project?: Maybe;
+};
+
+export type EnableDocumentationProjectHeadlessCmsInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+export type EnableDocumentationProjectHeadlessCmsPayload = {
+ __typename?: 'EnableDocumentationProjectHeadlessCmsPayload';
+ project?: Maybe;
+};
+
/** Invitations that failed to be sent to the user */
export type FailedInvite = {
__typename?: 'FailedInvite';
@@ -1480,6 +2180,34 @@ export type GptBotCrawlingFeature = Feature & {
isEnabled: Scalars['Boolean']['output'];
};
+/** The input for the exchange of token to a JWT to preview token for a documentation project. */
+export type GenerateDocumentationProjectPreviewAuthorizationTokenInput = {
+ token: Scalars['String']['input'];
+};
+
+/** The payload for the exchange of token to a JWT to preview token for a documentation project. */
+export type GenerateDocumentationProjectPreviewAuthorizationTokenPayload = {
+ __typename?: 'GenerateDocumentationProjectPreviewAuthorizationTokenPayload';
+ /** The JWT that can be used to preview the documentation project. */
+ authorizationToken?: Maybe;
+ /** The project for which the JWT is generated. With this request, authenticated fields are not accessible. */
+ project?: Maybe;
+};
+
+/** The input for the generation of a exchangeable preview token for a documentation project. */
+export type GenerateDocumentationProjectPreviewTokenInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+/** The payload for the generation of a exchangeable preview token for a documentation project. */
+export type GenerateDocumentationProjectPreviewTokenPayload = {
+ __typename?: 'GenerateDocumentationProjectPreviewTokenPayload';
+ /** The project for which the token is generated. */
+ project?: Maybe;
+ /** The token that can be exchanged for a JWT to preview the documentation project. */
+ token?: Maybe;
+};
+
/** Views implementation that will be returned if grouping by browser. */
export type GroupedByBrowserViews = Node & Views & {
__typename?: 'GroupedByBrowserViews';
@@ -1644,7 +2372,7 @@ export type GroupedByDocsPageViews = DocsViews & Node & {
__typename?: 'GroupedByDocsPageViews';
id: Scalars['ID']['output'];
/** The page that these views belong to. */
- page: DocumentationPage;
+ page?: Maybe;
/** The aggregated views. */
total: Scalars['Int']['output'];
};
@@ -1654,7 +2382,7 @@ export type GroupedByDocsPageVisitors = DocsVisitors & Node & {
__typename?: 'GroupedByDocsPageVisitors';
id: Scalars['ID']['output'];
/** The page that these views belong to. */
- page: DocumentationPage;
+ page?: Maybe;
/** The aggregated number of visitors. */
total: Scalars['Int']['output'];
};
@@ -1874,6 +2602,7 @@ export type IGuide = {
id: Scalars['ID']['output'];
lastModified: Scalars['DateTime']['output'];
name: Scalars['String']['output'];
+ seo?: Maybe;
slug: Scalars['String']['output'];
versionId?: Maybe;
};
@@ -1985,6 +2714,21 @@ export type IUserTechStackArgs = {
pageSize: Scalars['Int']['input'];
};
+export type InviteDocumentationProjectAdminInput = {
+ invites: Array;
+ projectId: Scalars['ID']['input'];
+};
+
+export type InviteDocumentationProjectAdminInputEmail = {
+ userId: Scalars['ID']['input'];
+};
+
+export type InviteDocumentationProjectAdminPayload = {
+ __typename?: 'InviteDocumentationProjectAdminPayload';
+ invitedMembers?: Maybe>;
+ project?: Maybe;
+};
+
/** Input to invite users to a publication. */
export type InviteUsersToPublicationInput = {
/** The publication ID to invite users to. */
@@ -2035,6 +2779,20 @@ export type LikeReplyPayload = {
reply?: Maybe;
};
+export type MapDocumentationProjectCustomDomainWwwRedirectInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+export type MapDocumentationProjectCustomDomainWwwRedirectPayload = {
+ __typename?: 'MapDocumentationProjectCustomDomainWwwRedirectPayload';
+ /**
+ * Additional DNS entries required to verify the www redirect domain.
+ * There are cases where additional records in the DNS config are required to successfully verify the domain.
+ */
+ dnsVerificationEntries: Array;
+ project?: Maybe;
+};
+
/** Contains information about meta tags. Used for SEO purpose. */
export type MetaTagsInput = {
/** The description of the post used in og:description for SEO. */
@@ -2045,14 +2803,32 @@ export type MetaTagsInput = {
title?: InputMaybe;
};
+export type MoveDocumentationSidebarItemInput = {
+ guideSlug: Scalars['String']['input'];
+ itemId: Scalars['ID']['input'];
+ parentId?: InputMaybe;
+ position?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+};
+
+export type MoveDocumentationSidebarItemPayload = {
+ __typename?: 'MoveDocumentationSidebarItemPayload';
+ guide?: Maybe;
+};
+
export type Mutation = {
__typename?: 'Mutation';
+ /** Mutation to accept an invite to a documentation project */
+ acceptInviteToDocumentationProject: AcceptInviteToDocumentationProjectPayload;
/** Accepts an invitation to join a publication. The user is added as a member of the publication. */
acceptInviteToPublication: AcceptInviteToPublicationPayload;
/** Accepts a role based invite and adds the user as a member of the publication. The user is assigned the role specified in the invite. */
acceptRoleBasedInvite: AcceptRoleBasedInvitePayload;
/** Adds a comment to a post. */
addComment: AddCommentPayload;
+ addDocumentationProjectCustomDomain: AddDocumentationProjectCustomDomainPayload;
+ /** Mutation to add a Member to a Documentation Project */
+ addDocumentationProjectMember: AddDocumentationProjectMemberPayload;
/** Adds a post to a series. */
addPostToSeries: AddPostToSeriesPayload;
/** Adds a reply to a comment. */
@@ -2065,6 +2841,12 @@ export type Mutation = {
* PRIVATE members are not visible on the members page while PUBLIC members are visible.
*/
changePublicationMemberVisibility: ChangePublicationMemberVisibilityPayload;
+ createDocumentationApiReference: CreateDocumentationApiReferencePayload;
+ createDocumentationGuide: CreateDocumentationGuidePayload;
+ createDocumentationLink: CreateDocumentationLinkPayload;
+ createDocumentationPageDraft: CreateDocumentationPageDraftPayload;
+ createDocumentationProject: CreateDocumentationProjectPayload;
+ createDocumentationSection: CreateDocumentationSectionPayload;
/** Creates a new draft for a post. */
createDraft: CreateDraftPayload;
createRedirectionRule: CreateRedirectionRulePayload;
@@ -2076,6 +2858,24 @@ export type Mutation = {
/** Deletes a role based invite. */
deleteRoleBasedInvite: DeleteRoleBasedInvitePayload;
deleteWebhook: DeleteWebhookPayload;
+ /** Mutation to disable AI search for a documentation project */
+ disableDocumentationProjectAISearch: DisableDocumentationProjectAiSearchPayload;
+ disableDocumentationProjectHeadlessCms: DisableDocumentationProjectHeadlessCmsPayload;
+ /** Mutation to enable AI search for a documentation project */
+ enableDocumentationProjectAISearch: EnableDocumentationProjectAiSearchPayload;
+ enableDocumentationProjectHeadlessCms: EnableDocumentationProjectHeadlessCmsPayload;
+ /**
+ * Will generate a authorization JWT to preview a docs project.
+ * A token is required to generate the JWT.
+ */
+ generateDocumentationProjectPreviewAuthorizationToken: GenerateDocumentationProjectPreviewAuthorizationTokenPayload;
+ /**
+ * Will generate a token that can be exchanged as a JWT to preview a docs project.
+ * Only the owner or editors of the project can generate the token.
+ */
+ generateDocumentationProjectPreviewToken: GenerateDocumentationProjectPreviewTokenPayload;
+ /** Mutation to invite an user to a documentation project */
+ inviteDocumentationProjectAdmin: InviteDocumentationProjectAdminPayload;
/** Invites users to a publication. Either by username or email. */
inviteUsersToPublication: InviteUsersToPublicationPayload;
/** Likes a comment. */
@@ -2084,6 +2884,11 @@ export type Mutation = {
likePost: LikePostPayload;
/** Likes a reply. */
likeReply: LikeReplyPayload;
+ mapDocumentationProjectCustomDomainWwwRedirect: MapDocumentationProjectCustomDomainWwwRedirectPayload;
+ moveDocumentationSidebarItem: MoveDocumentationSidebarItemPayload;
+ publishDocumentationApiReference: PublishDocumentationApiReferencePayload;
+ publishDocumentationGuide: PublishDocumentationGuidePayload;
+ publishDocumentationPageDraft: PublishDocumentationPageDraftPayload;
/** Publishes an existing draft as a post. */
publishDraft: PublishDraftPayload;
/** Creates a new post. */
@@ -2093,6 +2898,11 @@ export type Mutation = {
reinviteUserToPublication: ReinviteUserToPublicationPayload;
/** Removes a comment from a post. */
removeComment: RemoveCommentPayload;
+ removeDocumentationGuide: RemoveDocumentationGuidePayload;
+ removeDocumentationProjectCustomDomain: RemoveDocumentationProjectCustomDomainPayload;
+ /** Mutation to remove a Member from a Documentation Project */
+ removeDocumentationProjectMember: RemoveDocumentationProjectMemberPayload;
+ removeDocumentationSidebarItem: RemoveDocumentationSidebarItemPayload;
/** Removes a post. */
removePost: RemovePostPayload;
/** Removes a user from a teams publication. */
@@ -2103,15 +2913,24 @@ export type Mutation = {
removeReply: RemoveReplyPayload;
/** Removes a series. */
removeSeries: RemoveSeriesPayload;
+ renameDocumentationGuide: RenameDocumentationGuideItemPayload;
+ renameDocumentationSidebarItem: RenameDocumentationSidebarItemPayload;
/** Reschedule a draft. */
rescheduleDraft: RescheduleDraftPayload;
resendWebhookRequest: ResendWebhookRequestPayload;
/** Restores a deleted post. */
restorePost: RestorePostPayload;
+ retryDocumentationProjectCustomDomainVerification: RetryDocumentationProjectCustomDomainVerificationPayload;
+ /** Mutation to revoke documentation project invite */
+ revokeInviteToDocumentationProject: RevokeInviteToDocumentationProjectPayload;
/** Revokes a user invitation that was sent to join a publication. */
revokeUserInviteToPublication: RevokeUserInviteToPublicationPayload;
+ saveDocumentationPageDraftContent: SaveDocumentationPageDraftContentPayload;
scheduleDraft: ScheduleDraftPayload;
+ setDocumentationSidebarItemVisibility: SetDocumentationSidebarItemVisibilityPayload;
subscribeToNewsletter: SubscribeToNewsletterPayload;
+ /** Mutation to sync documentation API reference definition */
+ syncDocumentationProjectApiDefinition: SyncDocumentationProjectApiDefinitionPayload;
/** Toggle allowContributorEdits flag to allow or restrict external contributors to further edit published articles. */
toggleAllowContributorEdits: ToggleAllowContributorEditsPayload;
/**
@@ -2131,6 +2950,15 @@ export type Mutation = {
unsubscribeFromNewsletter: UnsubscribeFromNewsletterPayload;
/** Updates a comment on a post. */
updateComment: UpdateCommentPayload;
+ updateDocumentationAppearance: UpdateDocumentationAppearancePayload;
+ updateDocumentationGeneralSettings: UpdateDocumentationGeneralSettingsPayload;
+ updateDocumentationGuide: UpdateDocumentationGuidePayload;
+ updateDocumentationIntegrations: UpdateDocumentationIntegrationsPayload;
+ updateDocumentationLink: UpdateDocumentationLinkPayload;
+ updateDocumentationPageSettings: UpdateDocumentationPageSettingsPayload;
+ updateDocumentationProjectSubdomain: UpdateDocumentationProjectSubdomainPayload;
+ /** Mutation to update a section in a guide */
+ updateDocumentationSection: UpdateDocumentationSectionPayload;
updatePost: UpdatePostPayload;
updateRedirectionRule: UpdateRedirectionRulePayload;
/** Updates a reply */
@@ -2140,6 +2968,12 @@ export type Mutation = {
/** Updates a series. */
updateSeries: UpdateSeriesPayload;
updateWebhook: UpdateWebhookPayload;
+ verifyDocumentationProjectCustomDomain: VerifyDocumentationProjectCustomDomainPayload;
+};
+
+
+export type MutationAcceptInviteToDocumentationProjectArgs = {
+ input: AcceptInviteToDocumentationProjectInput;
};
@@ -2158,6 +2992,16 @@ export type MutationAddCommentArgs = {
};
+export type MutationAddDocumentationProjectCustomDomainArgs = {
+ input: AddDocumentationProjectCustomDomainInput;
+};
+
+
+export type MutationAddDocumentationProjectMemberArgs = {
+ input: AddDocumentationProjectMemberInput;
+};
+
+
export type MutationAddPostToSeriesArgs = {
input: AddPostToSeriesInput;
};
@@ -2183,6 +3027,36 @@ export type MutationChangePublicationMemberVisibilityArgs = {
};
+export type MutationCreateDocumentationApiReferenceArgs = {
+ input: CreateDocumentationApiReferenceInput;
+};
+
+
+export type MutationCreateDocumentationGuideArgs = {
+ input: CreateDocumentationGuideInput;
+};
+
+
+export type MutationCreateDocumentationLinkArgs = {
+ input: CreateDocumentationLinkInput;
+};
+
+
+export type MutationCreateDocumentationPageDraftArgs = {
+ input: CreateDocumentationPageDraftInput;
+};
+
+
+export type MutationCreateDocumentationProjectArgs = {
+ input: CreateDocumentationProjectInput;
+};
+
+
+export type MutationCreateDocumentationSectionArgs = {
+ input: CreateDocumentationSectionInput;
+};
+
+
export type MutationCreateDraftArgs = {
input: CreateDraftInput;
};
@@ -2218,6 +3092,41 @@ export type MutationDeleteWebhookArgs = {
};
+export type MutationDisableDocumentationProjectAiSearchArgs = {
+ input: DisableDocumentationProjectAiSearchInput;
+};
+
+
+export type MutationDisableDocumentationProjectHeadlessCmsArgs = {
+ input: DisableDocumentationProjectHeadlessCmsInput;
+};
+
+
+export type MutationEnableDocumentationProjectAiSearchArgs = {
+ input: EnableDocumentationProjectAiSearchInput;
+};
+
+
+export type MutationEnableDocumentationProjectHeadlessCmsArgs = {
+ input: EnableDocumentationProjectHeadlessCmsInput;
+};
+
+
+export type MutationGenerateDocumentationProjectPreviewAuthorizationTokenArgs = {
+ input: GenerateDocumentationProjectPreviewAuthorizationTokenInput;
+};
+
+
+export type MutationGenerateDocumentationProjectPreviewTokenArgs = {
+ input: GenerateDocumentationProjectPreviewTokenInput;
+};
+
+
+export type MutationInviteDocumentationProjectAdminArgs = {
+ input: InviteDocumentationProjectAdminInput;
+};
+
+
export type MutationInviteUsersToPublicationArgs = {
input: InviteUsersToPublicationInput;
};
@@ -2238,6 +3147,31 @@ export type MutationLikeReplyArgs = {
};
+export type MutationMapDocumentationProjectCustomDomainWwwRedirectArgs = {
+ input: MapDocumentationProjectCustomDomainWwwRedirectInput;
+};
+
+
+export type MutationMoveDocumentationSidebarItemArgs = {
+ input: MoveDocumentationSidebarItemInput;
+};
+
+
+export type MutationPublishDocumentationApiReferenceArgs = {
+ input: PublishDocumentationApiReferenceInput;
+};
+
+
+export type MutationPublishDocumentationGuideArgs = {
+ input: PublishDocumentationGuideInput;
+};
+
+
+export type MutationPublishDocumentationPageDraftArgs = {
+ input: PublishDocumentationPageDraftInput;
+};
+
+
export type MutationPublishDraftArgs = {
input: PublishDraftInput;
};
@@ -2263,6 +3197,26 @@ export type MutationRemoveCommentArgs = {
};
+export type MutationRemoveDocumentationGuideArgs = {
+ input: RemoveDocumentationGuideInput;
+};
+
+
+export type MutationRemoveDocumentationProjectCustomDomainArgs = {
+ input: RemoveDocumentationProjectCustomDomainInput;
+};
+
+
+export type MutationRemoveDocumentationProjectMemberArgs = {
+ input: RemoveDocumentationProjectMemberInput;
+};
+
+
+export type MutationRemoveDocumentationSidebarItemArgs = {
+ input: RemoveDocumentationSidebarItemInput;
+};
+
+
export type MutationRemovePostArgs = {
input: RemovePostInput;
};
@@ -2293,6 +3247,16 @@ export type MutationRemoveSeriesArgs = {
};
+export type MutationRenameDocumentationGuideArgs = {
+ input: RenameDocumentationGuideItemInput;
+};
+
+
+export type MutationRenameDocumentationSidebarItemArgs = {
+ input: RenameDocumentationSidebarItemInput;
+};
+
+
export type MutationRescheduleDraftArgs = {
input: RescheduleDraftInput;
};
@@ -2308,21 +3272,46 @@ export type MutationRestorePostArgs = {
};
+export type MutationRetryDocumentationProjectCustomDomainVerificationArgs = {
+ input: RetryDocumentationProjectCustomDomainVerificationInput;
+};
+
+
+export type MutationRevokeInviteToDocumentationProjectArgs = {
+ input: RevokeInviteToDocumentationProjectInput;
+};
+
+
export type MutationRevokeUserInviteToPublicationArgs = {
input: RevokeUserInviteToPublicationInput;
};
+export type MutationSaveDocumentationPageDraftContentArgs = {
+ input: SaveDocumentationPageDraftContentInput;
+};
+
+
export type MutationScheduleDraftArgs = {
input: ScheduleDraftInput;
};
+export type MutationSetDocumentationSidebarItemVisibilityArgs = {
+ input: SetDocumentationSidebarItemVisibilityInput;
+};
+
+
export type MutationSubscribeToNewsletterArgs = {
input: SubscribeToNewsletterInput;
};
+export type MutationSyncDocumentationProjectApiDefinitionArgs = {
+ input: SyncDocumentationProjectApiDefinitionInput;
+};
+
+
export type MutationToggleAllowContributorEditsArgs = {
input: ToggleAllowContributorEditsInput;
};
@@ -2354,13 +3343,53 @@ export type MutationTriggerWebhookTestArgs = {
};
-export type MutationUnsubscribeFromNewsletterArgs = {
- input: UnsubscribeFromNewsletterInput;
+export type MutationUnsubscribeFromNewsletterArgs = {
+ input: UnsubscribeFromNewsletterInput;
+};
+
+
+export type MutationUpdateCommentArgs = {
+ input: UpdateCommentInput;
+};
+
+
+export type MutationUpdateDocumentationAppearanceArgs = {
+ input: UpdateDocumentationAppearanceInput;
+};
+
+
+export type MutationUpdateDocumentationGeneralSettingsArgs = {
+ input: UpdateDocumentationGeneralSettingsInput;
+};
+
+
+export type MutationUpdateDocumentationGuideArgs = {
+ input: UpdateDocumentationGuideInput;
+};
+
+
+export type MutationUpdateDocumentationIntegrationsArgs = {
+ input: UpdateDocumentationIntegrationsInput;
+};
+
+
+export type MutationUpdateDocumentationLinkArgs = {
+ input: UpdateDocumentationLinkInput;
+};
+
+
+export type MutationUpdateDocumentationPageSettingsArgs = {
+ input: UpdateDocumentationPageSettingsInput;
+};
+
+
+export type MutationUpdateDocumentationProjectSubdomainArgs = {
+ input: UpdateDocumentationProjectSubdomainInput;
};
-export type MutationUpdateCommentArgs = {
- input: UpdateCommentInput;
+export type MutationUpdateDocumentationSectionArgs = {
+ input: UpdateDocumentationSectionInput;
};
@@ -2393,6 +3422,11 @@ export type MutationUpdateWebhookArgs = {
input: UpdateWebhookInput;
};
+
+export type MutationVerifyDocumentationProjectCustomDomainArgs = {
+ input: VerifyDocumentationProjectCustomDomainInput;
+};
+
/**
* Basic information about the authenticated user.
* User must be authenticated to use this type.
@@ -2625,6 +3659,15 @@ export type PageConnection = {
pageInfo: OffsetPageInfo;
};
+/**
+ * An edge that contains a node and is used in page based pagination.
+ * This is a common interface for all edges in page based pagination.
+ */
+export type PageEdge = {
+ /** A node in the connection. */
+ node: Node;
+};
+
/** Contains information to help in pagination. */
export type PageInfo = {
__typename?: 'PageInfo';
@@ -3049,12 +4092,215 @@ export type ProjectViewEdge = Edge & {
node: DocsViews;
};
+export type ProjectViewsConnection = Connection & {
+ __typename?: 'ProjectViewsConnection';
+ edges: Array;
+ pageInfo: PageInfo;
+};
+
+/**
+ * Filter for project views.
+ *
+ * Individual filters are combined with an AND condition whereas multiple values for the same filter are combined with an OR condition.
+ *
+ * Example: `documentationGuideIds: ["1", "2"], operatingSystems: ["Mac OS"]` will return views for posts with ID 1 or 2 AND operating system Mac OS.
+ */
+export type ProjectViewsFilter = {
+ /**
+ * Filter by one or multiple api reference guide IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ apiReferenceGuideIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple browsers.
+ *
+ * If multiple browsers are provided, the filter will be applied as an OR condition.
+ */
+ browsers?: InputMaybe>;
+ /**
+ * Filter by one or multiple countries.
+ *
+ * If multiple countries are provided, the filter will be applied as an OR condition.
+ */
+ countries?: InputMaybe>;
+ /**
+ * Filter by one or multiple device types.
+ *
+ * If multiple device types are provided, the filter will be applied as an OR condition.
+ */
+ deviceTypes?: InputMaybe>;
+ /**
+ * Filter by one or multiple documentation guide IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ documentationGuideIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple operating systems.
+ *
+ * If multiple operating systems are provided, the filter will be applied as an OR condition.
+ */
+ operatingSystems?: InputMaybe>;
+ /**
+ * Filter by one or multiple page IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ pageIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple paths.
+ *
+ * If multiple paths are provided, the filter will be applied as an OR condition.
+ */
+ paths?: InputMaybe>;
+ /**
+ * Filter by one or multiple referrer hosts.
+ *
+ * If multiple referrer hosts are provided, the filter will be applied as an OR condition.
+ */
+ referrerHosts?: InputMaybe>;
+ /** Filter based on time range. */
+ time?: InputMaybe;
+};
+
+export type ProjectViewsGroupBy = {
+ /**
+ * Group by one analytics dimensions.
+ *
+ * Can not be used together with `granularity`.
+ */
+ dimension?: InputMaybe;
+ /**
+ * Group by time. Without this, all views over time will be aggregated.
+ *
+ * Can not be used together with `dimension`.
+ */
+ granularity?: InputMaybe;
+};
+
+export type ProjectViewsOptions = {
+ /**
+ * The timezone that is used for grouping the views by time.
+ * E.g. if you group by day, the timezone will be used to determine the start of the day as indicated by `to` and `from`.
+ *
+ * It has no effect outside of time grouping.
+ *
+ * Default is `UTC`.
+ */
+ groupingTimezone?: InputMaybe;
+};
+
+export type ProjectViewsSortBy = {
+ /** Sort the views by the total number of views. Can only be used when grouped by `dimension`. */
+ viewCount: SortOrder;
+};
+
+export type ProjectVisitorsConnection = Connection & {
+ __typename?: 'ProjectVisitorsConnection';
+ edges: Array;
+ pageInfo: PageInfo;
+};
+
export type ProjectVisitorsEdge = Edge & {
__typename?: 'ProjectVisitorsEdge';
cursor: Scalars['String']['output'];
node: DocsVisitors;
};
+/**
+ * Filter for project visitors.
+ *
+ * Individual filters are combined with an AND condition whereas multiple values for the same filter are combined with an OR condition.
+ *
+ * Example: `documentationGuideIds: ["1", "2"], operatingSystems: ["Mac OS"]` will return visitors for posts with ID 1 or 2 AND operating system Mac OS.
+ */
+export type ProjectVisitorsFilter = {
+ /**
+ * Filter by one or multiple api reference guide IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ apiReferenceGuideIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple browsers.
+ *
+ * If multiple browsers are provided, the filter will be applied as an OR condition.
+ */
+ browsers?: InputMaybe>;
+ /**
+ * Filter by one or multiple countries.
+ *
+ * If multiple countries are provided, the filter will be applied as an OR condition.
+ */
+ countries?: InputMaybe>;
+ /**
+ * Filter by one or multiple device types.
+ *
+ * If multiple device types are provided, the filter will be applied as an OR condition.
+ */
+ deviceTypes?: InputMaybe>;
+ /**
+ * Filter by one or multiple documentation guide IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ documentationGuideIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple operating systems.
+ *
+ * If multiple operating systems are provided, the filter will be applied as an OR condition.
+ */
+ operatingSystems?: InputMaybe>;
+ /**
+ * Filter by one or multiple page IDs.
+ *
+ * If multiple IDs are provided, the filter will be applied as an OR condition.
+ */
+ pageIds?: InputMaybe>;
+ /**
+ * Filter by one or multiple paths.
+ *
+ * If multiple paths are provided, the filter will be applied as an OR condition.
+ */
+ paths?: InputMaybe>;
+ /**
+ * Filter by one or multiple referrer hosts.
+ *
+ * If multiple referrer hosts are provided, the filter will be applied as an OR condition.
+ */
+ referrerHosts?: InputMaybe>;
+ /** Filter based on time range. */
+ time?: InputMaybe;
+};
+
+export type ProjectVisitorsGroupBy = {
+ /**
+ * Group by one analytics dimensions.
+ *
+ * Can not be used together with `granularity`.
+ */
+ dimension?: InputMaybe;
+ /**
+ * Group by time. Without this, all views over time will be aggregated.
+ *
+ * Can not be used together with `dimension`.
+ */
+ granularity?: InputMaybe;
+};
+
+export type ProjectVisitorsOptions = {
+ /**
+ * The timezone that is used for grouping the views by time.
+ * E.g. if you group by day, the timezone will be used to determine the start of the day as indicated by `to` and `from`.
+ *
+ * It has no effect outside of time grouping.
+ *
+ * Default is `UTC`.
+ */
+ groupingTimezone?: InputMaybe;
+};
+
/**
* Contains basic information about the publication.
* A publication is a blog that can be created for a user or a team.
@@ -3619,6 +4865,38 @@ export type PublicationVisitorsEdge = Edge & {
node: Visitors;
};
+export type PublishDocumentationApiReferenceInput = {
+ guideSlug: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type PublishDocumentationApiReferencePayload = {
+ __typename?: 'PublishDocumentationApiReferencePayload';
+ guide?: Maybe;
+};
+
+export type PublishDocumentationGuideInput = {
+ guideSlug: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type PublishDocumentationGuidePayload = {
+ __typename?: 'PublishDocumentationGuidePayload';
+ guide?: Maybe;
+};
+
+export type PublishDocumentationPageDraftInput = {
+ guideSlug: Scalars['String']['input'];
+ pageId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type PublishDocumentationPageDraftPayload = {
+ __typename?: 'PublishDocumentationPageDraftPayload';
+ guide?: Maybe;
+ page?: Maybe;
+};
+
export type PublishDraftInput = {
/** The id of the draft that should be published */
draftId: Scalars['ObjectId']['input'];
@@ -3712,6 +4990,9 @@ export type PublishPostTagInput = {
export type Query = {
__typename?: 'Query';
+ checkCustomDomainAvailability: CheckCustomDomainAvailabilityResult;
+ checkSubdomainAvailability: CheckSubdomainAvailabilityResult;
+ documentationProject?: Maybe;
/**
* Returns a draft by ID.
* Draft is a post that is not published yet.
@@ -3744,6 +5025,22 @@ export type Query = {
};
+export type QueryCheckCustomDomainAvailabilityArgs = {
+ input: CheckCustomDomainAvailabilityInput;
+};
+
+
+export type QueryCheckSubdomainAvailabilityArgs = {
+ subdomain: Scalars['String']['input'];
+};
+
+
+export type QueryDocumentationProjectArgs = {
+ host?: InputMaybe;
+ id?: InputMaybe;
+};
+
+
export type QueryDraftArgs = {
id: Scalars['ObjectId']['input'];
};
@@ -3863,6 +5160,13 @@ export type ReinviteUserToPublicationPayload = {
success: Scalars['Boolean']['output'];
};
+export type RelativeTimeRange = {
+ /** The number of time periods to go back in time. */
+ n: Scalars['Int']['input'];
+ /** The type of time range to be used. */
+ relative: TimePeriod;
+};
+
export type RemoveCommentInput = {
id: Scalars['ID']['input'];
};
@@ -3872,6 +5176,48 @@ export type RemoveCommentPayload = {
comment?: Maybe;
};
+export type RemoveDocumentationGuideInput = {
+ guideSlug: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type RemoveDocumentationGuidePayload = {
+ __typename?: 'RemoveDocumentationGuidePayload';
+ guide?: Maybe;
+};
+
+export type RemoveDocumentationProjectCustomDomainInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+export type RemoveDocumentationProjectCustomDomainPayload = {
+ __typename?: 'RemoveDocumentationProjectCustomDomainPayload';
+ project?: Maybe;
+};
+
+/** The input for the removal of a member from a documentation */
+export type RemoveDocumentationProjectMemberInput = {
+ projectId: Scalars['ID']['input'];
+ userId: Scalars['ID']['input'];
+};
+
+export type RemoveDocumentationProjectMemberPayload = {
+ __typename?: 'RemoveDocumentationProjectMemberPayload';
+ project?: Maybe;
+ removedMember?: Maybe;
+};
+
+export type RemoveDocumentationSidebarItemInput = {
+ guideSlug: Scalars['String']['input'];
+ itemId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type RemoveDocumentationSidebarItemPayload = {
+ __typename?: 'RemoveDocumentationSidebarItemPayload';
+ guide?: Maybe;
+};
+
export type RemovePostInput = {
/** The ID of the post to remove. */
id: Scalars['ID']['input'];
@@ -3939,6 +5285,30 @@ export type RemoveSeriesPayload = {
series: Series;
};
+export type RenameDocumentationGuideItemInput = {
+ guideSlug: Scalars['String']['input'];
+ name: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type RenameDocumentationGuideItemPayload = {
+ __typename?: 'RenameDocumentationGuideItemPayload';
+ guide?: Maybe;
+};
+
+export type RenameDocumentationSidebarItemInput = {
+ guideSlug: Scalars['String']['input'];
+ itemId: Scalars['ID']['input'];
+ label: Scalars['String']['input'];
+ projectId: Scalars['ID']['input'];
+};
+
+export type RenameDocumentationSidebarItemPayload = {
+ __typename?: 'RenameDocumentationSidebarItemPayload';
+ guide?: Maybe;
+ item?: Maybe;
+};
+
/**
* Contains basic information about the reply.
* A reply is a response to a comment.
@@ -3996,6 +5366,32 @@ export type RestorePostPayload = {
post?: Maybe;
};
+export type RetryDocumentationProjectCustomDomainVerificationInput = {
+ projectId: Scalars['ID']['input'];
+};
+
+export type RetryDocumentationProjectCustomDomainVerificationPayload = {
+ __typename?: 'RetryDocumentationProjectCustomDomainVerificationPayload';
+ project?: Maybe;
+};
+
+/** Input to revoke a user invitation to join a documentation project. */
+export type RevokeInviteToDocumentationProjectInput = {
+ /** The ID of the invite to revoke. */
+ inviteId: Scalars['ID']['input'];
+ /** The ID of the documentation project. */
+ projectId: Scalars['ID']['input'];
+};
+
+/** Response to revoking an invitation to join a documentation project. */
+export type RevokeInviteToDocumentationProjectPayload = {
+ __typename?: 'RevokeInviteToDocumentationProjectPayload';
+ /** The documentation project that was associated with the invite. */
+ project?: Maybe;
+ /** Signifies the success of the mutation. */
+ success: Scalars['Boolean']['output'];
+};
+
/** Input to revoke a user invitation to a publication. */
export type RevokeUserInviteToPublicationInput = {
/** The invite ID to revoke. */
@@ -4051,6 +5447,21 @@ export type Seo = {
title?: Maybe;
};
+export type SaveDocumentationPageDraftContentInput = {
+ content?: InputMaybe;
+ description?: InputMaybe;
+ guideId?: InputMaybe;
+ guideSlug?: InputMaybe;
+ pageId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+ title?: InputMaybe;
+};
+
+export type SaveDocumentationPageDraftContentPayload = {
+ __typename?: 'SaveDocumentationPageDraftContentPayload';
+ page?: Maybe;
+};
+
export type ScheduleDraftInput = {
/** The Author ID of the draft that should be published */
authorId: Scalars['ID']['input'];
@@ -4097,6 +5508,7 @@ export enum Scope {
DocsAdminOrOwner = 'docs_admin_or_owner',
DocsOwner = 'docs_owner',
ImportSubscribersToPublication = 'import_subscribers_to_publication',
+ InvitedDocsAdmin = 'invited_docs_admin',
InvitedTeamUser = 'invited_team_user',
MoveDraft = 'move_draft',
PublicationAdmin = 'publication_admin',
@@ -4238,6 +5650,19 @@ export type SeriesPostConnection = Connection & {
totalDocuments: Scalars['Int']['output'];
};
+export type SetDocumentationSidebarItemVisibilityInput = {
+ guideSlug: Scalars['String']['input'];
+ itemId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+ visibility: DocumentationSidebarItemVisibility;
+};
+
+export type SetDocumentationSidebarItemVisibilityPayload = {
+ __typename?: 'SetDocumentationSidebarItemVisibilityPayload';
+ guide?: Maybe;
+ item?: Maybe;
+};
+
/** Available social media links. */
export type SocialMediaLinks = {
__typename?: 'SocialMediaLinks';
@@ -4333,6 +5758,23 @@ export type SubscribeToNewsletterPayload = {
status?: Maybe;
};
+/** The input for syncing API reference definitions */
+export type SyncDocumentationProjectApiDefinitionInput = {
+ /** The ID of the docs API reference */
+ apiReferenceId: Scalars['ID']['input'];
+ /** The ID of the documentation project */
+ projectId: Scalars['ID']['input'];
+ /** The ID of the reference version */
+ versionId: Scalars['ID']['input'];
+};
+
+/** The response to syncing documentation project API Reference definition */
+export type SyncDocumentationProjectApiDefinitionPayload = {
+ __typename?: 'SyncDocumentationProjectApiDefinitionPayload';
+ /** Signifies if the mutation was successful. */
+ success: Scalars['Boolean']['output'];
+};
+
export type TableOfContentsFeature = Feature & {
__typename?: 'TableOfContentsFeature';
/** Whether or not the user has chosen to show a table of contents on the post. */
@@ -4419,6 +5861,37 @@ export type TextSelectionSharerFeature = Feature & {
isEnabled: Scalars['Boolean']['output'];
};
+export type TimeFilter = {
+ /**
+ * Narrow the time range to a specific period.
+ *
+ * Can't be used with `relative`.
+ */
+ absolute?: InputMaybe;
+ /**
+ * Narrow the time range to a specific period.
+ *
+ * Can't be used with `absolute`.
+ */
+ relative?: InputMaybe;
+};
+
+export enum TimeGranularity {
+ Daily = 'DAILY',
+ Hourly = 'HOURLY',
+ Monthly = 'MONTHLY',
+ Weekly = 'WEEKLY',
+ Yearly = 'YEARLY'
+}
+
+export enum TimePeriod {
+ LastNDays = 'LAST_N_DAYS',
+ LastNHours = 'LAST_N_HOURS',
+ LastNMonths = 'LAST_N_MONTHS',
+ LastNWeeks = 'LAST_N_WEEKS',
+ LastNYears = 'LAST_N_YEARS'
+}
+
export type ToggleAllowContributorEditsInput = {
publicationId: Scalars['ID']['input'];
};
@@ -4523,6 +5996,108 @@ export type UpdateCommentPayload = {
comment?: Maybe;
};
+export type UpdateDocumentationAppearanceInput = {
+ appearance: DocumentationProjectAppearanceInput;
+ projectId: Scalars['ID']['input'];
+};
+
+export type UpdateDocumentationAppearancePayload = {
+ __typename?: 'UpdateDocumentationAppearancePayload';
+ project?: Maybe;
+};
+
+export type UpdateDocumentationGeneralSettingsInput = {
+ description?: InputMaybe;
+ links?: InputMaybe;
+ name?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+ settings?: InputMaybe;
+};
+
+export type UpdateDocumentationGeneralSettingsPayload = {
+ __typename?: 'UpdateDocumentationGeneralSettingsPayload';
+ project?: Maybe;
+};
+
+export type UpdateDocumentationGuideInput = {
+ guideId: Scalars['ID']['input'];
+ metaTags?: InputMaybe;
+ name?: InputMaybe;
+ projectId: Scalars['ID']['input'];
+ slug?: InputMaybe;
+};
+
+export type UpdateDocumentationGuidePayload = {
+ __typename?: 'UpdateDocumentationGuidePayload';
+ guide?: Maybe;
+};
+
+export type UpdateDocumentationIntegrationsInput = {
+ integrations: DocumentationProjectIntegrationsInput;
+ projectId: Scalars['ID']['input'];
+};
+
+export type UpdateDocumentationIntegrationsPayload = {
+ __typename?: 'UpdateDocumentationIntegrationsPayload';
+ project?: Maybe;
+};
+
+export type UpdateDocumentationLinkInput = {
+ guideSlug: Scalars['String']['input'];
+ label: Scalars['String']['input'];
+ linkId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+ url?: InputMaybe;
+};
+
+export type UpdateDocumentationLinkPayload = {
+ __typename?: 'UpdateDocumentationLinkPayload';
+ guide?: Maybe;
+ link?: Maybe;
+};
+
+export type UpdateDocumentationPageSettingsInput = {
+ guideSlug: Scalars['String']['input'];
+ label?: InputMaybe;
+ metaTags?: InputMaybe;
+ pageId: Scalars['ID']['input'];
+ projectId: Scalars['ID']['input'];
+ slug?: InputMaybe;
+ visibility?: InputMaybe;
+};
+
+export type UpdateDocumentationPageSettingsPayload = {
+ __typename?: 'UpdateDocumentationPageSettingsPayload';
+ guide?: Maybe;
+ page?: Maybe;
+ sidebarItem?: Maybe