Skip to content

Commit

Permalink
feat(snippet): create query to retrieve public snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
tericcabrel committed Nov 1, 2023
1 parent 8d82b95 commit a4bd6b2
Show file tree
Hide file tree
Showing 6 changed files with 261 additions and 69 deletions.
4 changes: 2 additions & 2 deletions apps/core/src/resources/resolvers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import { subscribeToNewsletter } from './newsletter/mutations/subscribe';
import { createSnippet } from './snippets/mutations/create-snippet';
import { deleteSnippet } from './snippets/mutations/delete-snippet';
import { updateSnippet } from './snippets/mutations/update-snippet';
import { allSnippets } from './snippets/queries/all-snippets';
import { findSnippet } from './snippets/queries/find-snippet';
import { mySnippets } from './snippets/queries/my-snippets';
import { publicSnippets } from './snippets/queries/public-snippets';
import { dateScalar } from './types/date';
import { loginUser } from './users/mutations/login-user';
import { logoutUser } from './users/mutations/logout-user';
Expand Down Expand Up @@ -46,7 +46,6 @@ const resolvers: Resolvers = {
updateSnippet,
},
Query: {
allSnippets,
authenticatedUser,
findFolder,
findSnippet,
Expand All @@ -55,6 +54,7 @@ const resolvers: Resolvers = {
listFolders,
mySnippets,
ping: () => 'pong',
publicSnippets,
},
Snippet: {
folder: (snippet, _args, context) => {
Expand Down
5 changes: 0 additions & 5 deletions apps/core/src/resources/snippets/queries/all-snippets.ts

This file was deleted.

19 changes: 19 additions & 0 deletions apps/core/src/resources/snippets/queries/public-snippets.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { QueryResolvers } from '../../../types/graphql';

export const publicSnippets: QueryResolvers['publicSnippets'] = async (_parent, input, context) => {
const {
args: { itemPerPage, nextToken },
} = input;

const result = await context.db.snippet.findPublicSnippet({
cursor: nextToken,
itemPerPage: itemPerPage ?? 10,
});

return {
hasMore: result.hasMore,
itemPerPage,
items: result.items,
nextToken: result.nextCursor,
};
};
14 changes: 13 additions & 1 deletion apps/core/src/resources/snippets/schema.graphql.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ export default gql`
paths: [Folder!]!
}
type PublicSnippetsResult {
items: [Snippet!]!
hasMore: Boolean!
itemPerPage: Int
nextToken: String
}
input CreateSnippetInput {
folderId: String!
name: String!
Expand All @@ -27,14 +34,19 @@ export default gql`
theme: String!
}
input PublicSnippetsArgs {
nextToken: String
itemPerPage: Int
}
extend type Mutation {
createSnippet(input: CreateSnippetInput!): Snippet!
updateSnippet(id: ID!, input: UpdateSnippetInput!): Snippet!
deleteSnippet(id: ID!): Boolean!
}
extend type Query {
allSnippets: [Snippet!]!
publicSnippets(args: PublicSnippetsArgs!): PublicSnippetsResult!
mySnippets: [Snippet!]!
findSnippet(snippetId: String!): SnippetInfo!
}
Expand Down

0 comments on commit a4bd6b2

Please sign in to comment.