diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index 763a72ba0..e8a6ffc45 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -34,6 +34,33 @@ export type AddPopularReadSuccess = { pageId: Scalars['String']; }; +export type ApiKey = { + __typename?: 'ApiKey'; + createdAt: Scalars['Date']; + expiresAt: Scalars['Date']; + id: Scalars['ID']; + name: Scalars['String']; + scopes?: Maybe>; + usedAt?: Maybe; +}; + +export type ApiKeysError = { + __typename?: 'ApiKeysError'; + errorCodes: Array; +}; + +export enum ApiKeysErrorCode { + BadRequest = 'BAD_REQUEST', + Unauthorized = 'UNAUTHORIZED' +} + +export type ApiKeysResult = ApiKeysError | ApiKeysSuccess; + +export type ApiKeysSuccess = { + __typename?: 'ApiKeysSuccess'; + apiKeys: Array; +}; + export type ArchiveLinkError = { __typename?: 'ArchiveLinkError'; errorCodes: Array; @@ -394,6 +421,24 @@ export type CreateReminderSuccess = { reminder: Reminder; }; +export type DeleteApiKeyError = { + __typename?: 'DeleteApiKeyError'; + errorCodes: Array; +}; + +export enum DeleteApiKeyErrorCode { + BadRequest = 'BAD_REQUEST', + NotFound = 'NOT_FOUND', + Unauthorized = 'UNAUTHORIZED' +} + +export type DeleteApiKeyResult = DeleteApiKeyError | DeleteApiKeySuccess; + +export type DeleteApiKeySuccess = { + __typename?: 'DeleteApiKeySuccess'; + apiKey: ApiKey; +}; + export type DeleteHighlightError = { __typename?: 'DeleteHighlightError'; errorCodes: Array; @@ -832,6 +877,7 @@ export type Mutation = { createNewsletterEmail: CreateNewsletterEmailResult; createReaction: CreateReactionResult; createReminder: CreateReminderResult; + deleteApiKey: DeleteApiKeyResult; deleteHighlight: DeleteHighlightResult; deleteHighlightReply: DeleteHighlightReplyResult; deleteLabel: DeleteLabelResult; @@ -915,6 +961,11 @@ export type MutationCreateReminderArgs = { }; +export type MutationDeleteApiKeyArgs = { + id: Scalars['ID']; +}; + + export type MutationDeleteHighlightArgs = { highlightId: Scalars['ID']; }; @@ -1195,6 +1246,7 @@ export type Profile = { export type Query = { __typename?: 'Query'; + apiKeys: ApiKeysResult; article: ArticleResult; articles: ArticlesResult; articleSavingRequest: ArticleSavingRequestResult; @@ -2273,6 +2325,11 @@ export type ResolversTypes = { AddPopularReadErrorCode: AddPopularReadErrorCode; AddPopularReadResult: ResolversTypes['AddPopularReadError'] | ResolversTypes['AddPopularReadSuccess']; AddPopularReadSuccess: ResolverTypeWrapper; + ApiKey: ResolverTypeWrapper; + ApiKeysError: ResolverTypeWrapper; + ApiKeysErrorCode: ApiKeysErrorCode; + ApiKeysResult: ResolversTypes['ApiKeysError'] | ResolversTypes['ApiKeysSuccess']; + ApiKeysSuccess: ResolverTypeWrapper; ArchiveLinkError: ResolverTypeWrapper; ArchiveLinkErrorCode: ArchiveLinkErrorCode; ArchiveLinkInput: ArchiveLinkInput; @@ -2337,6 +2394,10 @@ export type ResolversTypes = { CreateReminderResult: ResolversTypes['CreateReminderError'] | ResolversTypes['CreateReminderSuccess']; CreateReminderSuccess: ResolverTypeWrapper; Date: ResolverTypeWrapper; + DeleteApiKeyError: ResolverTypeWrapper; + DeleteApiKeyErrorCode: DeleteApiKeyErrorCode; + DeleteApiKeyResult: ResolversTypes['DeleteApiKeyError'] | ResolversTypes['DeleteApiKeySuccess']; + DeleteApiKeySuccess: ResolverTypeWrapper; DeleteHighlightError: ResolverTypeWrapper; DeleteHighlightErrorCode: DeleteHighlightErrorCode; DeleteHighlightReplyError: ResolverTypeWrapper; @@ -2609,6 +2670,10 @@ export type ResolversParentTypes = { AddPopularReadError: AddPopularReadError; AddPopularReadResult: ResolversParentTypes['AddPopularReadError'] | ResolversParentTypes['AddPopularReadSuccess']; AddPopularReadSuccess: AddPopularReadSuccess; + ApiKey: ApiKey; + ApiKeysError: ApiKeysError; + ApiKeysResult: ResolversParentTypes['ApiKeysError'] | ResolversParentTypes['ApiKeysSuccess']; + ApiKeysSuccess: ApiKeysSuccess; ArchiveLinkError: ArchiveLinkError; ArchiveLinkInput: ArchiveLinkInput; ArchiveLinkResult: ResolversParentTypes['ArchiveLinkError'] | ResolversParentTypes['ArchiveLinkSuccess']; @@ -2659,6 +2724,9 @@ export type ResolversParentTypes = { CreateReminderResult: ResolversParentTypes['CreateReminderError'] | ResolversParentTypes['CreateReminderSuccess']; CreateReminderSuccess: CreateReminderSuccess; Date: Scalars['Date']; + DeleteApiKeyError: DeleteApiKeyError; + DeleteApiKeyResult: ResolversParentTypes['DeleteApiKeyError'] | ResolversParentTypes['DeleteApiKeySuccess']; + DeleteApiKeySuccess: DeleteApiKeySuccess; DeleteHighlightError: DeleteHighlightError; DeleteHighlightReplyError: DeleteHighlightReplyError; DeleteHighlightReplyResult: ResolversParentTypes['DeleteHighlightReplyError'] | ResolversParentTypes['DeleteHighlightReplySuccess']; @@ -2892,6 +2960,30 @@ export type AddPopularReadSuccessResolvers; }; +export type ApiKeyResolvers = { + createdAt?: Resolver; + expiresAt?: Resolver; + id?: Resolver; + name?: Resolver; + scopes?: Resolver>, ParentType, ContextType>; + usedAt?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ApiKeysErrorResolvers = { + errorCodes?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type ApiKeysResultResolvers = { + __resolveType: TypeResolveFn<'ApiKeysError' | 'ApiKeysSuccess', ParentType, ContextType>; +}; + +export type ApiKeysSuccessResolvers = { + apiKeys?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type ArchiveLinkErrorResolvers = { errorCodes?: Resolver, ParentType, ContextType>; message?: Resolver; @@ -3127,6 +3219,20 @@ export interface DateScalarConfig extends GraphQLScalarTypeConfig = { + errorCodes?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type DeleteApiKeyResultResolvers = { + __resolveType: TypeResolveFn<'DeleteApiKeyError' | 'DeleteApiKeySuccess', ParentType, ContextType>; +}; + +export type DeleteApiKeySuccessResolvers = { + apiKey?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type DeleteHighlightErrorResolvers = { errorCodes?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; @@ -3469,6 +3575,7 @@ export type MutationResolvers; createReaction?: Resolver>; createReminder?: Resolver>; + deleteApiKey?: Resolver>; deleteHighlight?: Resolver>; deleteHighlightReply?: Resolver>; deleteLabel?: Resolver>; @@ -3568,6 +3675,7 @@ export type ProfileResolvers = { + apiKeys?: Resolver; article?: Resolver>; articles?: Resolver>; articleSavingRequest?: Resolver>; @@ -4164,6 +4272,10 @@ export type Resolvers = { AddPopularReadError?: AddPopularReadErrorResolvers; AddPopularReadResult?: AddPopularReadResultResolvers; AddPopularReadSuccess?: AddPopularReadSuccessResolvers; + ApiKey?: ApiKeyResolvers; + ApiKeysError?: ApiKeysErrorResolvers; + ApiKeysResult?: ApiKeysResultResolvers; + ApiKeysSuccess?: ApiKeysSuccessResolvers; ArchiveLinkError?: ArchiveLinkErrorResolvers; ArchiveLinkResult?: ArchiveLinkResultResolvers; ArchiveLinkSuccess?: ArchiveLinkSuccessResolvers; @@ -4204,6 +4316,9 @@ export type Resolvers = { CreateReminderResult?: CreateReminderResultResolvers; CreateReminderSuccess?: CreateReminderSuccessResolvers; Date?: GraphQLScalarType; + DeleteApiKeyError?: DeleteApiKeyErrorResolvers; + DeleteApiKeyResult?: DeleteApiKeyResultResolvers; + DeleteApiKeySuccess?: DeleteApiKeySuccessResolvers; DeleteHighlightError?: DeleteHighlightErrorResolvers; DeleteHighlightReplyError?: DeleteHighlightReplyErrorResolvers; DeleteHighlightReplyResult?: DeleteHighlightReplyResultResolvers; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 88e0d0e12..a8650a612 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -16,6 +16,30 @@ type AddPopularReadSuccess { pageId: String! } +type ApiKey { + createdAt: Date! + expiresAt: Date! + id: ID! + name: String! + scopes: [String!] + usedAt: Date +} + +type ApiKeysError { + errorCodes: [ApiKeysErrorCode!]! +} + +enum ApiKeysErrorCode { + BAD_REQUEST + UNAUTHORIZED +} + +union ApiKeysResult = ApiKeysError | ApiKeysSuccess + +type ApiKeysSuccess { + apiKeys: [ApiKey!]! +} + type ArchiveLinkError { errorCodes: [ArchiveLinkErrorCode!]! message: String! @@ -344,6 +368,22 @@ type CreateReminderSuccess { scalar Date +type DeleteApiKeyError { + errorCodes: [DeleteApiKeyErrorCode!]! +} + +enum DeleteApiKeyErrorCode { + BAD_REQUEST + NOT_FOUND + UNAUTHORIZED +} + +union DeleteApiKeyResult = DeleteApiKeyError | DeleteApiKeySuccess + +type DeleteApiKeySuccess { + apiKey: ApiKey! +} + type DeleteHighlightError { errorCodes: [DeleteHighlightErrorCode!]! } @@ -738,6 +778,7 @@ type Mutation { createNewsletterEmail: CreateNewsletterEmailResult! createReaction(input: CreateReactionInput!): CreateReactionResult! createReminder(input: CreateReminderInput!): CreateReminderResult! + deleteApiKey(id: ID!): DeleteApiKeyResult! deleteHighlight(highlightId: ID!): DeleteHighlightResult! deleteHighlightReply(highlightReplyId: ID!): DeleteHighlightReplyResult! deleteLabel(id: ID!): DeleteLabelResult! @@ -859,6 +900,7 @@ type Profile { } type Query { + apiKeys: ApiKeysResult! article(slug: String!, username: String!): ArticleResult! articles(after: String, first: Int, includePending: Boolean, query: String, sharedOnly: Boolean, sort: SortParams): ArticlesResult! articleSavingRequest(id: ID!): ArticleSavingRequestResult! diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index 717c57c52..7fddad848 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -1670,6 +1670,46 @@ const schema = gql` BAD_REQUEST } + union ApiKeysResult = ApiKeysSuccess | ApiKeysError + + type ApiKeysSuccess { + apiKeys: [ApiKey!]! + } + + type ApiKey { + id: ID! + name: String! + scopes: [String!] + createdAt: Date! + expiresAt: Date! + usedAt: Date + } + + type ApiKeysError { + errorCodes: [ApiKeysErrorCode!]! + } + + enum ApiKeysErrorCode { + UNAUTHORIZED + BAD_REQUEST + } + + union DeleteApiKeyResult = DeleteApiKeySuccess | DeleteApiKeyError + + type DeleteApiKeySuccess { + apiKey: ApiKey! + } + + type DeleteApiKeyError { + errorCodes: [DeleteApiKeyErrorCode!]! + } + + enum DeleteApiKeyErrorCode { + UNAUTHORIZED + BAD_REQUEST + NOT_FOUND + } + # Mutations type Mutation { googleLogin(input: GoogleLoginInput!): LoginResult! @@ -1737,6 +1777,7 @@ const schema = gql` addPopularRead(name: String!): AddPopularReadResult! setWebhook(input: SetWebhookInput!): SetWebhookResult! deleteWebhook(id: ID!): DeleteWebhookResult! + deleteApiKey(id: ID!): DeleteApiKeyResult! } # FIXME: remove sort from feedArticles after all cached tabs are closed @@ -1778,6 +1819,7 @@ const schema = gql` subscriptions(sort: SortParams): SubscriptionsResult! webhooks: WebhooksResult! webhook(id: ID!): WebhookResult! + apiKeys: ApiKeysResult! } `