Add subscribe API schema

This commit is contained in:
Hongbo Wu 2022-05-17 16:23:36 +08:00
parent 20ea93168f
commit 906b2d28a0
3 changed files with 86 additions and 0 deletions

View file

@ -817,6 +817,7 @@ export type Mutation = {
setShareHighlight: SetShareHighlightResult;
setUserPersonalization: SetUserPersonalizationResult;
signup: SignupResult;
subscribe: SubscribeResult;
unsubscribe: UnsubscribeResult;
updateHighlight: UpdateHighlightResult;
updateHighlightReply: UpdateHighlightReplyResult;
@ -990,6 +991,11 @@ export type MutationSignupArgs = {
};
export type MutationSubscribeArgs = {
name: Scalars['String'];
};
export type MutationUnsubscribeArgs = {
name: Scalars['String'];
};
@ -1643,6 +1649,25 @@ export type SortParams = {
order?: InputMaybe<SortOrder>;
};
export type SubscribeError = {
__typename?: 'SubscribeError';
errorCodes: Array<SubscribeErrorCode>;
};
export enum SubscribeErrorCode {
AlreadySubscribed = 'ALREADY_SUBSCRIBED',
BadRequest = 'BAD_REQUEST',
NotFound = 'NOT_FOUND',
Unauthorized = 'UNAUTHORIZED'
}
export type SubscribeResult = SubscribeError | SubscribeSuccess;
export type SubscribeSuccess = {
__typename?: 'SubscribeSuccess';
subscription: Subscription;
};
export type Subscription = {
__typename?: 'Subscription';
createdAt: Scalars['Date'];
@ -2293,6 +2318,10 @@ export type ResolversTypes = {
SortOrder: SortOrder;
SortParams: SortParams;
String: ResolverTypeWrapper<Scalars['String']>;
SubscribeError: ResolverTypeWrapper<SubscribeError>;
SubscribeErrorCode: SubscribeErrorCode;
SubscribeResult: ResolversTypes['SubscribeError'] | ResolversTypes['SubscribeSuccess'];
SubscribeSuccess: ResolverTypeWrapper<SubscribeSuccess>;
Subscription: ResolverTypeWrapper<{}>;
SubscriptionsError: ResolverTypeWrapper<SubscriptionsError>;
SubscriptionsErrorCode: SubscriptionsErrorCode;
@ -2550,6 +2579,9 @@ export type ResolversParentTypes = {
SignupSuccess: SignupSuccess;
SortParams: SortParams;
String: Scalars['String'];
SubscribeError: SubscribeError;
SubscribeResult: ResolversParentTypes['SubscribeError'] | ResolversParentTypes['SubscribeSuccess'];
SubscribeSuccess: SubscribeSuccess;
Subscription: {};
SubscriptionsError: SubscriptionsError;
SubscriptionsResult: ResolversParentTypes['SubscriptionsError'] | ResolversParentTypes['SubscriptionsSuccess'];
@ -3198,6 +3230,7 @@ export type MutationResolvers<ContextType = ResolverContext, ParentType extends
setShareHighlight?: Resolver<ResolversTypes['SetShareHighlightResult'], ParentType, ContextType, RequireFields<MutationSetShareHighlightArgs, 'input'>>;
setUserPersonalization?: Resolver<ResolversTypes['SetUserPersonalizationResult'], ParentType, ContextType, RequireFields<MutationSetUserPersonalizationArgs, 'input'>>;
signup?: Resolver<ResolversTypes['SignupResult'], ParentType, ContextType, RequireFields<MutationSignupArgs, 'input'>>;
subscribe?: Resolver<ResolversTypes['SubscribeResult'], ParentType, ContextType, RequireFields<MutationSubscribeArgs, 'name'>>;
unsubscribe?: Resolver<ResolversTypes['UnsubscribeResult'], ParentType, ContextType, RequireFields<MutationUnsubscribeArgs, 'name'>>;
updateHighlight?: Resolver<ResolversTypes['UpdateHighlightResult'], ParentType, ContextType, RequireFields<MutationUpdateHighlightArgs, 'input'>>;
updateHighlightReply?: Resolver<ResolversTypes['UpdateHighlightReplyResult'], ParentType, ContextType, RequireFields<MutationUpdateHighlightReplyArgs, 'input'>>;
@ -3548,6 +3581,20 @@ export type SignupSuccessResolvers<ContextType = ResolverContext, ParentType ext
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
};
export type SubscribeErrorResolvers<ContextType = ResolverContext, ParentType extends ResolversParentTypes['SubscribeError'] = ResolversParentTypes['SubscribeError']> = {
errorCodes?: Resolver<Array<ResolversTypes['SubscribeErrorCode']>, ParentType, ContextType>;
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
};
export type SubscribeResultResolvers<ContextType = ResolverContext, ParentType extends ResolversParentTypes['SubscribeResult'] = ResolversParentTypes['SubscribeResult']> = {
__resolveType: TypeResolveFn<'SubscribeError' | 'SubscribeSuccess', ParentType, ContextType>;
};
export type SubscribeSuccessResolvers<ContextType = ResolverContext, ParentType extends ResolversParentTypes['SubscribeSuccess'] = ResolversParentTypes['SubscribeSuccess']> = {
subscription?: Resolver<ResolversTypes['Subscription'], ParentType, ContextType>;
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
};
export type SubscriptionResolvers<ContextType = ResolverContext, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = {
createdAt?: SubscriptionResolver<ResolversTypes['Date'], "createdAt", ParentType, ContextType>;
description?: SubscriptionResolver<Maybe<ResolversTypes['String']>, "description", ParentType, ContextType>;
@ -3927,6 +3974,9 @@ export type Resolvers<ContextType = ResolverContext> = {
SignupError?: SignupErrorResolvers<ContextType>;
SignupResult?: SignupResultResolvers<ContextType>;
SignupSuccess?: SignupSuccessResolvers<ContextType>;
SubscribeError?: SubscribeErrorResolvers<ContextType>;
SubscribeResult?: SubscribeResultResolvers<ContextType>;
SubscribeSuccess?: SubscribeSuccessResolvers<ContextType>;
Subscription?: SubscriptionResolvers<ContextType>;
SubscriptionsError?: SubscriptionsErrorResolvers<ContextType>;
SubscriptionsResult?: SubscriptionsResultResolvers<ContextType>;

View file

@ -727,6 +727,7 @@ type Mutation {
setShareHighlight(input: SetShareHighlightInput!): SetShareHighlightResult!
setUserPersonalization(input: SetUserPersonalizationInput!): SetUserPersonalizationResult!
signup(input: SignupInput!): SignupResult!
subscribe(name: String!): SubscribeResult!
unsubscribe(name: String!): UnsubscribeResult!
updateHighlight(input: UpdateHighlightInput!): UpdateHighlightResult!
updateHighlightReply(input: UpdateHighlightReplyInput!): UpdateHighlightReplyResult!
@ -1229,6 +1230,23 @@ input SortParams {
order: SortOrder
}
type SubscribeError {
errorCodes: [SubscribeErrorCode!]!
}
enum SubscribeErrorCode {
ALREADY_SUBSCRIBED
BAD_REQUEST
NOT_FOUND
UNAUTHORIZED
}
union SubscribeResult = SubscribeError | SubscribeSuccess
type SubscribeSuccess {
subscription: Subscription!
}
type Subscription {
createdAt: Date!
description: String

View file

@ -1511,6 +1511,23 @@ const schema = gql`
UNSUBSCRIBE_METHOD_NOT_FOUND
}
union SubscribeResult = SubscribeSuccess | SubscribeError
type SubscribeSuccess {
subscription: Subscription!
}
type SubscribeError {
errorCodes: [SubscribeErrorCode!]!
}
enum SubscribeErrorCode {
UNAUTHORIZED
BAD_REQUEST
NOT_FOUND
ALREADY_SUBSCRIBED
}
# Mutations
type Mutation {
googleLogin(input: GoogleLoginInput!): LoginResult!
@ -1573,6 +1590,7 @@ const schema = gql`
setLabels(input: SetLabelsInput!): SetLabelsResult!
generateApiKey(input: GenerateApiKeyInput!): GenerateApiKeyResult!
unsubscribe(name: String!): UnsubscribeResult!
subscribe(name: String!): SubscribeResult!
}
# FIXME: remove sort from feedArticles after all cached tabs are closed