Skip to content

Commit

Permalink
feat(graphql, #586): Allow overriding endpoint name
Browse files Browse the repository at this point in the history
  • Loading branch information
doug-martin committed Oct 18, 2020
1 parent 5a992e4 commit 1634e71
Show file tree
Hide file tree
Showing 18 changed files with 722 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
type TestResolverDTO {
id: ID!
stringField: String!
}

type Query {
test: TestResolverDTO!
}

type Mutation {
createOneTestResolverDTO(input: CreateOneTestResolverDTOInput!): TestResolverDTO!
create_many_test(input: CreateManyTestResolverDTOSInput!): [TestResolverDTO!]!
}

input CreateOneTestResolverDTOInput {
"""The record to create"""
testResolverDTO: CreateTestResolverDTO!
}

input CreateTestResolverDTO {
id: ID
stringField: String
}

input CreateManyTestResolverDTOSInput {
"""Array of records to create"""
testResolverDTOS: [CreateTestResolverDTO!]!
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
type TestResolverDTO {
id: ID!
stringField: String!
}

type Query {
test: TestResolverDTO!
}

type Mutation {
create_one_test(input: CreateOneTestResolverDTOInput!): TestResolverDTO!
createManyTestResolverDTOS(input: CreateManyTestResolverDTOSInput!): [TestResolverDTO!]!
}

input CreateOneTestResolverDTOInput {
"""The record to create"""
testResolverDTO: CreateTestResolverDTO!
}

input CreateTestResolverDTO {
id: ID
stringField: String
}

input CreateManyTestResolverDTOSInput {
"""Array of records to create"""
testResolverDTOS: [CreateTestResolverDTO!]!
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
type TestResolverDTO {
id: ID!
stringField: String!
}

type DeleteManyResponse {
"""The number of records deleted."""
deletedCount: Int!
}

type TestResolverDTODeleteResponse {
id: ID
stringField: String
}

type Query {
test: TestResolverDTO!
}

type Mutation {
deleteOneTestResolverDTO(input: DeleteOneInput!): TestResolverDTODeleteResponse!
delete_many_test(input: DeleteManyTestResolverDTOSInput!): DeleteManyResponse!
}

input DeleteOneInput {
"""The id of the record to delete."""
id: ID!
}

input DeleteManyTestResolverDTOSInput {
"""Filter to find records to delete"""
filter: TestResolverDTODeleteFilter!
}

input TestResolverDTODeleteFilter {
and: [TestResolverDTODeleteFilter!]
or: [TestResolverDTODeleteFilter!]
id: IDFilterComparison
stringField: StringFieldComparison
}

input IDFilterComparison {
is: Boolean
isNot: Boolean
eq: ID
neq: ID
gt: ID
gte: ID
lt: ID
lte: ID
like: ID
notLike: ID
iLike: ID
notILike: ID
in: [ID!]
notIn: [ID!]
}

input StringFieldComparison {
is: Boolean
isNot: Boolean
eq: String
neq: String
gt: String
gte: String
lt: String
lte: String
like: String
notLike: String
iLike: String
notILike: String
in: [String!]
notIn: [String!]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
type TestResolverDTO {
id: ID!
stringField: String!
}

type DeleteManyResponse {
"""The number of records deleted."""
deletedCount: Int!
}

type TestResolverDTODeleteResponse {
id: ID
stringField: String
}

type Query {
test: TestResolverDTO!
}

type Mutation {
delete_one_test(input: DeleteOneInput!): TestResolverDTODeleteResponse!
deleteManyTestResolverDTOS(input: DeleteManyTestResolverDTOSInput!): DeleteManyResponse!
}

input DeleteOneInput {
"""The id of the record to delete."""
id: ID!
}

input DeleteManyTestResolverDTOSInput {
"""Filter to find records to delete"""
filter: TestResolverDTODeleteFilter!
}

input TestResolverDTODeleteFilter {
and: [TestResolverDTODeleteFilter!]
or: [TestResolverDTODeleteFilter!]
id: IDFilterComparison
stringField: StringFieldComparison
}

input IDFilterComparison {
is: Boolean
isNot: Boolean
eq: ID
neq: ID
gt: ID
gte: ID
lt: ID
lte: ID
like: ID
notLike: ID
iLike: ID
notILike: ID
in: [ID!]
notIn: [ID!]
}

input StringFieldComparison {
is: Boolean
isNot: Boolean
eq: String
neq: String
gt: String
gte: String
lt: String
lte: String
like: String
notLike: String
iLike: String
notILike: String
in: [String!]
notIn: [String!]
}
24 changes: 24 additions & 0 deletions packages/query-graphql/__tests__/resolvers/__fixtures__/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ export const deleteOneSubscriptionResolverSDL = readGraphql(
export const deleteManySubscriptionResolverSDL = readGraphql(
resolve(__dirname, 'delete', 'delete-many-subscription.resolver.graphql'),
);
export const deleteCustomOneMutationResolverSDL = readGraphql(
resolve(__dirname, 'delete', 'delete-custom-one-mutation.resolver.graphql'),
);
export const deleteCustomManyMutationResolverSDL = readGraphql(
resolve(__dirname, 'delete', 'delete-custom-many-mutation.resolver.graphql'),
);

export const createBasicResolverSDL = readGraphql(resolve(__dirname, 'create', 'create-basic.resolver.graphql'));
export const createDisabledResolverSDL = readGraphql(resolve(__dirname, 'create', 'create-disabled.resolver.graphql'));
Expand All @@ -91,6 +97,12 @@ export const createCustomManyInputResolverSDL = readGraphql(
export const createSubscriptionResolverSDL = readGraphql(
resolve(__dirname, 'create', 'create-subscription.resolver.graphql'),
);
export const createCustomOneMutationResolverSDL = readGraphql(
resolve(__dirname, 'create', 'create-custom-one-mutation.resolver.graphql'),
);
export const createCustomManyMutationResolverSDL = readGraphql(
resolve(__dirname, 'create', 'create-custom-many-mutation.resolver.graphql'),
);

export const readBasicResolverSDL = readGraphql(resolve(__dirname, 'read', 'read-basic.resolver.graphql'));
export const readDisabledResolverSDL = readGraphql(resolve(__dirname, 'read', 'read-disabled.resolver.graphql'));
Expand All @@ -107,6 +119,12 @@ export const readOffsetQueryResolverSDL = readGraphql(resolve(__dirname, 'read',
export const readConnectionWithTotalCountSDL = readGraphql(
resolve(__dirname, 'read', 'read-connection-with-total-count.resolver.graphql'),
);
export const readCustomOneQueryResolverSDL = readGraphql(
resolve(__dirname, 'read', 'read-custom-one-query.resolver.graphql'),
);
export const readCustomManyQueryResolverSDL = readGraphql(
resolve(__dirname, 'read', 'read-custom-many-query.resolver.graphql'),
);

export const updateBasicResolverSDL = readGraphql(resolve(__dirname, 'update', 'update-basic.resolver.graphql'));
export const updateDisabledResolverSDL = readGraphql(resolve(__dirname, 'update', 'update-disabled.resolver.graphql'));
Expand Down Expand Up @@ -137,6 +155,12 @@ export const updateOneSubscriptionResolverSDL = readGraphql(
export const updateManySubscriptionResolverSDL = readGraphql(
resolve(__dirname, 'update', 'update-many-subscription.resolver.graphql'),
);
export const updateCustomOneMutationResolverSDL = readGraphql(
resolve(__dirname, 'update', 'update-custom-one-mutation.resolver.graphql'),
);
export const updateCustomManyMutationResolverSDL = readGraphql(
resolve(__dirname, 'update', 'update-custom-many-mutation.resolver.graphql'),
);

export const referenceBasicResolverSDL = readGraphql(
resolve(__dirname, 'reference', 'reference-basic.resolver.graphql'),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
type TestResolverDTO {
id: ID!
stringField: String!
}

type TestResolverDTOEdge {
"""The node containing the TestResolverDTO"""
node: TestResolverDTO!

"""Cursor for this node."""
cursor: ConnectionCursor!
}

"""Cursor for paging through collections"""
scalar ConnectionCursor

type PageInfo {
"""true if paging forward and there are more records."""
hasNextPage: Boolean

"""true if paging backwards and there are more records."""
hasPreviousPage: Boolean

"""The cursor of the first returned record."""
startCursor: ConnectionCursor

"""The cursor of the last returned record."""
endCursor: ConnectionCursor
}

type TestResolverDTOConnection {
"""Paging information"""
pageInfo: PageInfo!

"""Array of edges."""
edges: [TestResolverDTOEdge!]!
}

type Query {
testResolverDTO(
"""The id of the record to find."""
id: ID!
): TestResolverDTO
read_many_test(
"""Limit or page results."""
paging: CursorPaging = {first: 10}

"""Specify to filter the records returned."""
filter: TestResolverDTOFilter = {}

"""Specify to sort results."""
sorting: [TestResolverDTOSort!] = []
): TestResolverDTOConnection!
test: TestResolverDTO!
}

input CursorPaging {
"""Paginate before opaque cursor"""
before: ConnectionCursor

"""Paginate after opaque cursor"""
after: ConnectionCursor

"""Paginate first"""
first: Int

"""Paginate last"""
last: Int
}

input TestResolverDTOFilter {
and: [TestResolverDTOFilter!]
or: [TestResolverDTOFilter!]
id: IDFilterComparison
stringField: StringFieldComparison
}

input IDFilterComparison {
is: Boolean
isNot: Boolean
eq: ID
neq: ID
gt: ID
gte: ID
lt: ID
lte: ID
like: ID
notLike: ID
iLike: ID
notILike: ID
in: [ID!]
notIn: [ID!]
}

input StringFieldComparison {
is: Boolean
isNot: Boolean
eq: String
neq: String
gt: String
gte: String
lt: String
lte: String
like: String
notLike: String
iLike: String
notILike: String
in: [String!]
notIn: [String!]
}

input TestResolverDTOSort {
field: TestResolverDTOSortFields!
direction: SortDirection!
nulls: SortNulls
}

enum TestResolverDTOSortFields {
id
stringField
}

"""Sort Directions"""
enum SortDirection {
ASC
DESC
}

"""Sort Nulls Options"""
enum SortNulls {
NULLS_FIRST
NULLS_LAST
}
Loading

0 comments on commit 1634e71

Please sign in to comment.