ОЛ
Size: a a a
ОЛ
ОЛ
ОЛ
П
П
A
ОЛ
A
AO
query Me {
me {
... on User {
name
projects {
name
display_name
}
}
... on OperationError {
errors {
code
message
}
}
}
}
AO
type Query {
me: UserResponse!
}
type Error {
code: Int!
message: String!
}
type OperationError {
errors: [Error!]!
}
type User {
name: ID!
email: String!
projects: [Project!]!
}
type Project {
name: ID!
display_name: String!
}
union UserResponse = User | OperationError
ProjectResponse = Project | OperationError
в данном случае или поступить иначе?A
A
union UserResponse = User |
CustomResponseAO
AO
A
export interface CustomErrorsInterface {
errors: CustomError[]
}
@ObjectType()
export class CustomError {
constructor({
property,
errorMessages,
}: {
property: string
errorMessages: string[]
}) {
this.id = v4()
this.property = property
this.errorMessages = errorMessages
}
@Field(() => ID)
id: string
@Field(() => String)
property: string
@Field(() => [String])
errorMessages: string[]
}
@ObjectType()
export class CustomErrorsResult implements CustomErrorsInterface {
constructor({errors}: CustomErrorsInterface) {
this.errors = errors
this.id = v4()
}
@Field(() => ID)
id: string
@Field(() => [CustomError])
errors: CustomError[]
}
AO
AO
AO
A