maticzav / graphql-shield

🛡 A GraphQL tool to ease the creation of permission layer.

Home Page:https://graphql-shield.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Not Authorized!" resulted from Prisma error (non-unique collision) - shield should not be involved, no permissions set

nargetdev opened this issue · comments

Bug report

  • [x ] I have checked other issues to make sure this is not a duplicate.

Describe the bug

When performing a standard t.model.createOneFoo() operation I'm receiving a "Not authorized" from a mutation that has no permissions set.
This blocks out the helpful "prisma" debug output.

To Reproduce

Steps to reproduce the behavior, please provide code snippets or a repository:

(Delete the filler code and replace it with your own)

  1. This is my GraphQL Schema.
### This file was generated by Nexus Schema
### Do not make changes to this file directly


type Availability {
  daysAvailable: [Boolean!]!
  hoursAvailable: [Boolean!]!
  id: Int!
}

input AvailabilityCreatedaysAvailableInput {
  set: [Boolean!]
}

input AvailabilityCreatehoursAvailableInput {
  set: [Boolean!]
}

input AvailabilityCreateInput {
  daysAvailable: AvailabilityCreatedaysAvailableInput
  hoursAvailable: AvailabilityCreatehoursAvailableInput
  Skill: SkillCreateManyWithoutAvailabilityInput
}

input AvailabilityCreateOneWithoutSkillInput {
  connect: AvailabilityWhereUniqueInput
  create: AvailabilityCreateWithoutSkillInput
}

input AvailabilityCreateWithoutSkillInput {
  daysAvailable: AvailabilityCreatedaysAvailableInput
  hoursAvailable: AvailabilityCreatehoursAvailableInput
}

input AvailabilityUpdatedaysAvailableInput {
  set: [Boolean!]
}

input AvailabilityUpdatehoursAvailableInput {
  set: [Boolean!]
}

input AvailabilityUpdateOneWithoutSkillInput {
  connect: AvailabilityWhereUniqueInput
  create: AvailabilityCreateWithoutSkillInput
  delete: Boolean
  disconnect: Boolean
  update: AvailabilityUpdateWithoutSkillDataInput
  upsert: AvailabilityUpsertWithoutSkillInput
}

input AvailabilityUpdateWithoutSkillDataInput {
  daysAvailable: AvailabilityUpdatedaysAvailableInput
  hoursAvailable: AvailabilityUpdatehoursAvailableInput
  id: Int
}

input AvailabilityUpsertWithoutSkillInput {
  create: AvailabilityCreateWithoutSkillInput!
  update: AvailabilityUpdateWithoutSkillDataInput!
}

input AvailabilityWhereInput {
  AND: [AvailabilityWhereInput!]
  id: IntFilter
  NOT: [AvailabilityWhereInput!]
  OR: [AvailabilityWhereInput!]
  Skill: SkillFilter
}

input AvailabilityWhereUniqueInput {
  id: Int
}

type AWOC {
  response: String
}

input BooleanFilter {
  equals: Boolean
  not: Boolean
}

"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the
`date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO
8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar DateTime

input DateTimeFilter {
  equals: DateTime
  gt: DateTime
  gte: DateTime
  in: [DateTime!]
  lt: DateTime
  lte: DateTime
  not: DateTime
  notIn: [DateTime!]
}

type IAAIS {
  response: String
}

input IntFilter {
  equals: Int
  gt: Int
  gte: Int
  in: [Int!]
  lt: Int
  lte: Int
  not: Int
  notIn: [Int!]
}

"""A contract between two parties"""
type Job {
  cancelationNote: String!
  CREDITS: Int!
  endTime: DateTime!
  id: Int!
  Location: Location
  locationId: Int
  provider: Profile!
  providerId: Int!
  providersRatingOfRecipient: Int!
  providersReviewOfRecipient: String!
  recipient: Profile!
  recipientId: Int!
  recipientsRatingOfProvider: Int!
  recipientsReviewOfProvider: String!
  requestMessage: String!
  Skill: Skill!
  skillId: Int!
  startTime: DateTime!
  Status: Status!
}

input JobCreateInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime!
  Location: LocationCreateOneWithoutJobInput
  provider: ProfileCreateOneWithoutUpcomingJobsServeInput!
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileCreateOneWithoutUpcomingJobsReceiveInput!
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillCreateOneWithoutJobInput!
  startTime: DateTime!
  Status: Status
}

input JobCreateManyWithoutLocationInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutLocationInput!]
}

input JobCreateManyWithoutProviderInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutProviderInput!]
}

input JobCreateManyWithoutRecipientInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutRecipientInput!]
}

input JobCreateManyWithoutSkillInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutSkillInput!]
}

input JobCreateWithoutLocationInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime!
  provider: ProfileCreateOneWithoutUpcomingJobsServeInput!
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileCreateOneWithoutUpcomingJobsReceiveInput!
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillCreateOneWithoutJobInput!
  startTime: DateTime!
  Status: Status
}

input JobCreateWithoutProviderInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime!
  Location: LocationCreateOneWithoutJobInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileCreateOneWithoutUpcomingJobsReceiveInput!
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillCreateOneWithoutJobInput!
  startTime: DateTime!
  Status: Status
}

input JobCreateWithoutRecipientInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime!
  Location: LocationCreateOneWithoutJobInput
  provider: ProfileCreateOneWithoutUpcomingJobsServeInput!
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillCreateOneWithoutJobInput!
  startTime: DateTime!
  Status: Status
}

input JobCreateWithoutSkillInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime!
  Location: LocationCreateOneWithoutJobInput
  provider: ProfileCreateOneWithoutUpcomingJobsServeInput!
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileCreateOneWithoutUpcomingJobsReceiveInput!
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  startTime: DateTime!
  Status: Status
}

input JobFilter {
  every: JobWhereInput
  none: JobWhereInput
  some: JobWhereInput
}

input JobScalarWhereInput {
  AND: [JobScalarWhereInput!]
  cancelationNote: StringFilter
  CREDITS: IntFilter
  endTime: DateTimeFilter
  id: IntFilter
  locationId: NullableIntFilter
  NOT: [JobScalarWhereInput!]
  OR: [JobScalarWhereInput!]
  providerId: IntFilter
  providerRequestCredits: IntFilter
  providersRatingOfRecipient: IntFilter
  providersReviewOfRecipient: StringFilter
  recipientId: IntFilter
  recipientOfferCredits: IntFilter
  recipientsRatingOfProvider: IntFilter
  recipientsReviewOfProvider: StringFilter
  requestMessage: StringFilter
  skillId: IntFilter
  startTime: DateTimeFilter
  Status: Status
}

input JobUpdateInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  Location: LocationUpdateOneWithoutJobInput
  provider: ProfileUpdateOneRequiredWithoutUpcomingJobsServeInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileUpdateOneRequiredWithoutUpcomingJobsReceiveInput
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillUpdateOneRequiredWithoutJobInput
  startTime: DateTime
  Status: Status
}

input JobUpdateManyDataInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  startTime: DateTime
  Status: Status
}

input JobUpdateManyWithoutLocationInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutLocationInput!]
  delete: [JobWhereUniqueInput!]
  deleteMany: [JobScalarWhereInput!]
  disconnect: [JobWhereUniqueInput!]
  set: [JobWhereUniqueInput!]
  update: [JobUpdateWithWhereUniqueWithoutLocationInput!]
  updateMany: [JobUpdateManyWithWhereNestedInput!]
  upsert: [JobUpsertWithWhereUniqueWithoutLocationInput!]
}

input JobUpdateManyWithoutProviderInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutProviderInput!]
  delete: [JobWhereUniqueInput!]
  deleteMany: [JobScalarWhereInput!]
  disconnect: [JobWhereUniqueInput!]
  set: [JobWhereUniqueInput!]
  update: [JobUpdateWithWhereUniqueWithoutProviderInput!]
  updateMany: [JobUpdateManyWithWhereNestedInput!]
  upsert: [JobUpsertWithWhereUniqueWithoutProviderInput!]
}

input JobUpdateManyWithoutRecipientInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutRecipientInput!]
  delete: [JobWhereUniqueInput!]
  deleteMany: [JobScalarWhereInput!]
  disconnect: [JobWhereUniqueInput!]
  set: [JobWhereUniqueInput!]
  update: [JobUpdateWithWhereUniqueWithoutRecipientInput!]
  updateMany: [JobUpdateManyWithWhereNestedInput!]
  upsert: [JobUpsertWithWhereUniqueWithoutRecipientInput!]
}

input JobUpdateManyWithoutSkillInput {
  connect: [JobWhereUniqueInput!]
  create: [JobCreateWithoutSkillInput!]
  delete: [JobWhereUniqueInput!]
  deleteMany: [JobScalarWhereInput!]
  disconnect: [JobWhereUniqueInput!]
  set: [JobWhereUniqueInput!]
  update: [JobUpdateWithWhereUniqueWithoutSkillInput!]
  updateMany: [JobUpdateManyWithWhereNestedInput!]
  upsert: [JobUpsertWithWhereUniqueWithoutSkillInput!]
}

input JobUpdateManyWithWhereNestedInput {
  data: JobUpdateManyDataInput!
  where: JobScalarWhereInput!
}

input JobUpdateWithoutLocationDataInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  provider: ProfileUpdateOneRequiredWithoutUpcomingJobsServeInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileUpdateOneRequiredWithoutUpcomingJobsReceiveInput
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillUpdateOneRequiredWithoutJobInput
  startTime: DateTime
  Status: Status
}

input JobUpdateWithoutProviderDataInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  Location: LocationUpdateOneWithoutJobInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileUpdateOneRequiredWithoutUpcomingJobsReceiveInput
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillUpdateOneRequiredWithoutJobInput
  startTime: DateTime
  Status: Status
}

input JobUpdateWithoutRecipientDataInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  Location: LocationUpdateOneWithoutJobInput
  provider: ProfileUpdateOneRequiredWithoutUpcomingJobsServeInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  Skill: SkillUpdateOneRequiredWithoutJobInput
  startTime: DateTime
  Status: Status
}

input JobUpdateWithoutSkillDataInput {
  cancelationNote: String
  CREDITS: Int
  endTime: DateTime
  id: Int
  Location: LocationUpdateOneWithoutJobInput
  provider: ProfileUpdateOneRequiredWithoutUpcomingJobsServeInput
  providerRequestCredits: Int
  providersRatingOfRecipient: Int
  providersReviewOfRecipient: String
  recipient: ProfileUpdateOneRequiredWithoutUpcomingJobsReceiveInput
  recipientOfferCredits: Int
  recipientsRatingOfProvider: Int
  recipientsReviewOfProvider: String
  requestMessage: String
  startTime: DateTime
  Status: Status
}

input JobUpdateWithWhereUniqueWithoutLocationInput {
  data: JobUpdateWithoutLocationDataInput!
  where: JobWhereUniqueInput!
}

input JobUpdateWithWhereUniqueWithoutProviderInput {
  data: JobUpdateWithoutProviderDataInput!
  where: JobWhereUniqueInput!
}

input JobUpdateWithWhereUniqueWithoutRecipientInput {
  data: JobUpdateWithoutRecipientDataInput!
  where: JobWhereUniqueInput!
}

input JobUpdateWithWhereUniqueWithoutSkillInput {
  data: JobUpdateWithoutSkillDataInput!
  where: JobWhereUniqueInput!
}

input JobUpsertWithWhereUniqueWithoutLocationInput {
  create: JobCreateWithoutLocationInput!
  update: JobUpdateWithoutLocationDataInput!
  where: JobWhereUniqueInput!
}

input JobUpsertWithWhereUniqueWithoutProviderInput {
  create: JobCreateWithoutProviderInput!
  update: JobUpdateWithoutProviderDataInput!
  where: JobWhereUniqueInput!
}

input JobUpsertWithWhereUniqueWithoutRecipientInput {
  create: JobCreateWithoutRecipientInput!
  update: JobUpdateWithoutRecipientDataInput!
  where: JobWhereUniqueInput!
}

input JobUpsertWithWhereUniqueWithoutSkillInput {
  create: JobCreateWithoutSkillInput!
  update: JobUpdateWithoutSkillDataInput!
  where: JobWhereUniqueInput!
}

input JobWhereInput {
  AND: [JobWhereInput!]
  cancelationNote: StringFilter
  CREDITS: IntFilter
  endTime: DateTimeFilter
  id: IntFilter
  Location: LocationWhereInput
  locationId: NullableIntFilter
  NOT: [JobWhereInput!]
  OR: [JobWhereInput!]
  provider: ProfileWhereInput
  providerId: IntFilter
  providerRequestCredits: IntFilter
  providersRatingOfRecipient: IntFilter
  providersReviewOfRecipient: StringFilter
  recipient: ProfileWhereInput
  recipientId: IntFilter
  recipientOfferCredits: IntFilter
  recipientsRatingOfProvider: IntFilter
  recipientsReviewOfProvider: StringFilter
  requestMessage: StringFilter
  Skill: SkillWhereInput
  skillId: IntFilter
  startTime: DateTimeFilter
  Status: Status
}

input JobWhereUniqueInput {
  id: Int
}

"""
The `JSON` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar Json

type Keyword {
  category: String
  id: Int!
  keyword: String
}

input KeywordCreateInput {
  category: String
  keyword: String
}

input KeywordWhereUniqueInput {
  id: Int
}

type Location {
  id: Int!
  lastUpdatedAt: DateTime!
  locationString: String!
  Profile(after: ProfileWhereUniqueInput, before: ProfileWhereUniqueInput, first: Int, last: Int): [Profile!]!
}

input LocationCreateInput {
  Job: JobCreateManyWithoutLocationInput
  lastUpdatedAt: DateTime
  locationString: String!
  Profile: ProfileCreateManyWithoutLocationInput
}

input LocationCreateOneWithoutJobInput {
  connect: LocationWhereUniqueInput
  create: LocationCreateWithoutJobInput
}

input LocationCreateOneWithoutProfileInput {
  connect: LocationWhereUniqueInput
  create: LocationCreateWithoutProfileInput
}

input LocationCreateWithoutJobInput {
  lastUpdatedAt: DateTime
  locationString: String!
  Profile: ProfileCreateManyWithoutLocationInput
}

input LocationCreateWithoutProfileInput {
  Job: JobCreateManyWithoutLocationInput
  lastUpdatedAt: DateTime
  locationString: String!
}

input LocationUpdateOneWithoutJobInput {
  connect: LocationWhereUniqueInput
  create: LocationCreateWithoutJobInput
  delete: Boolean
  disconnect: Boolean
  update: LocationUpdateWithoutJobDataInput
  upsert: LocationUpsertWithoutJobInput
}

input LocationUpdateOneWithoutProfileInput {
  connect: LocationWhereUniqueInput
  create: LocationCreateWithoutProfileInput
  delete: Boolean
  disconnect: Boolean
  update: LocationUpdateWithoutProfileDataInput
  upsert: LocationUpsertWithoutProfileInput
}

input LocationUpdateWithoutJobDataInput {
  id: Int
  lastUpdatedAt: DateTime
  locationString: String
  Profile: ProfileUpdateManyWithoutLocationInput
}

input LocationUpdateWithoutProfileDataInput {
  id: Int
  Job: JobUpdateManyWithoutLocationInput
  lastUpdatedAt: DateTime
  locationString: String
}

input LocationUpsertWithoutJobInput {
  create: LocationCreateWithoutJobInput!
  update: LocationUpdateWithoutJobDataInput!
}

input LocationUpsertWithoutProfileInput {
  create: LocationCreateWithoutProfileInput!
  update: LocationUpdateWithoutProfileDataInput!
}

input LocationWhereInput {
  AND: [LocationWhereInput!]
  id: IntFilter
  Job: JobFilter
  lastUpdatedAt: DateTimeFilter
  locationString: StringFilter
  NOT: [LocationWhereInput!]
  OR: [LocationWhereInput!]
  Profile: ProfileFilter
}

input LocationWhereUniqueInput {
  id: Int
}

type MHBI {
  response: String
}

type Mutation {
  createOneAvailability(data: AvailabilityCreateInput!): Availability!
  createOneJob(data: JobCreateInput!): Job!
  createOneKeyword(data: KeywordCreateInput!): Keyword!
  createOneLocation(data: LocationCreateInput!): Location!
  createOneOrganization(data: OrganizationCreateInput!): Organization!
  createOneProfile(data: ProfileCreateInput!): Profile!
  createOneSkill(data: SkillCreateInput!): Skill!
  deleteOneSkill(where: SkillWhereUniqueInput!): Skill
  matriculateOrganization(access_code: String!, category: String!, code: String!, contact_email: String!, contact_phone: String, description: String!, ein: String!, industry: String!, name: String!, website: String!): String
  providerRequest(id_job: Int!, provider_rating_of_recipient: Int!, provider_review_of_recipient: String!, request_credits: Int!): Job
  recipientOffer(id_job: Int!, offer_credits: Int!, recipient_rating_of_provider: Int!, recipient_review_of_provider: String!): Job
  updateOneJob(data: JobUpdateInput!, where: JobWhereUniqueInput!): Job
  updateOneOrganization(data: OrganizationUpdateInput!, where: OrganizationWhereUniqueInput!): Organization
  updateOneProfile(data: ProfileUpdateInput!, where: ProfileWhereUniqueInput!): Profile
  updateOneSkill(data: SkillUpdateInput!, where: SkillWhereUniqueInput!): Skill
}

input NullableIntFilter {
  equals: Int
  gt: Int
  gte: Int
  in: [Int!]
  lt: Int
  lte: Int
  not: Int
  notIn: [Int!]
}

input NullableStringFilter {
  contains: String
  endsWith: String
  equals: String
  gt: String
  gte: String
  in: [String!]
  lt: String
  lte: String
  not: String
  notIn: [String!]
  startsWith: String
}

type Organization {
  active: Boolean!
  category: String!
  code: String!
  contactEmail: String!
  contactPhone: String!
  createdAt: DateTime!
  description: String
  ein: String
  id: Int!
  industry: String!
  members(after: ProfileWhereUniqueInput, before: ProfileWhereUniqueInput, first: Int, last: Int): [Profile!]!
  name: String!
  orgPicture: String
  totalMembers: Int!
  website: String!
}

input OrganizationCreateInput {
  active: Boolean
  category: String!
  code: String!
  contactEmail: String!
  contactPhone: String!
  createdAt: DateTime
  description: String
  ein: String
  industry: String!
  members: ProfileCreateManyWithoutOrganizationsInput
  name: String!
  orgPicture: String
  totalMembers: Int!
  website: String!
}

input OrganizationCreateManyWithoutMembersInput {
  connect: [OrganizationWhereUniqueInput!]
  create: [OrganizationCreateWithoutMembersInput!]
}

input OrganizationCreateWithoutMembersInput {
  active: Boolean
  category: String!
  code: String!
  contactEmail: String!
  contactPhone: String!
  createdAt: DateTime
  description: String
  ein: String
  industry: String!
  name: String!
  orgPicture: String
  totalMembers: Int!
  website: String!
}

input OrganizationFilter {
  every: OrganizationWhereInput
  none: OrganizationWhereInput
  some: OrganizationWhereInput
}

input OrganizationScalarWhereInput {
  active: BooleanFilter
  AND: [OrganizationScalarWhereInput!]
  category: StringFilter
  code: StringFilter
  contactEmail: StringFilter
  contactPhone: StringFilter
  createdAt: DateTimeFilter
  description: NullableStringFilter
  ein: NullableStringFilter
  id: IntFilter
  industry: StringFilter
  members: ProfileFilter
  name: StringFilter
  NOT: [OrganizationScalarWhereInput!]
  OR: [OrganizationScalarWhereInput!]
  orgPicture: NullableStringFilter
  totalMembers: IntFilter
  website: StringFilter
}

input OrganizationUpdateInput {
  active: Boolean
  category: String
  code: String
  contactEmail: String
  contactPhone: String
  createdAt: DateTime
  description: String
  ein: String
  id: Int
  industry: String
  members: ProfileUpdateManyWithoutOrganizationsInput
  name: String
  orgPicture: String
  totalMembers: Int
  website: String
}

input OrganizationUpdateManyDataInput {
  active: Boolean
  category: String
  code: String
  contactEmail: String
  contactPhone: String
  createdAt: DateTime
  description: String
  ein: String
  id: Int
  industry: String
  name: String
  orgPicture: String
  totalMembers: Int
  website: String
}

input OrganizationUpdateManyWithoutMembersInput {
  connect: [OrganizationWhereUniqueInput!]
  create: [OrganizationCreateWithoutMembersInput!]
  delete: [OrganizationWhereUniqueInput!]
  deleteMany: [OrganizationScalarWhereInput!]
  disconnect: [OrganizationWhereUniqueInput!]
  set: [OrganizationWhereUniqueInput!]
  update: [OrganizationUpdateWithWhereUniqueWithoutMembersInput!]
  updateMany: [OrganizationUpdateManyWithWhereNestedInput!]
  upsert: [OrganizationUpsertWithWhereUniqueWithoutMembersInput!]
}

input OrganizationUpdateManyWithWhereNestedInput {
  data: OrganizationUpdateManyDataInput!
  where: OrganizationScalarWhereInput!
}

input OrganizationUpdateWithoutMembersDataInput {
  active: Boolean
  category: String
  code: String
  contactEmail: String
  contactPhone: String
  createdAt: DateTime
  description: String
  ein: String
  id: Int
  industry: String
  name: String
  orgPicture: String
  totalMembers: Int
  website: String
}

input OrganizationUpdateWithWhereUniqueWithoutMembersInput {
  data: OrganizationUpdateWithoutMembersDataInput!
  where: OrganizationWhereUniqueInput!
}

input OrganizationUpsertWithWhereUniqueWithoutMembersInput {
  create: OrganizationCreateWithoutMembersInput!
  update: OrganizationUpdateWithoutMembersDataInput!
  where: OrganizationWhereUniqueInput!
}

input OrganizationWhereInput {
  active: BooleanFilter
  AND: [OrganizationWhereInput!]
  category: StringFilter
  code: StringFilter
  contactEmail: StringFilter
  contactPhone: StringFilter
  createdAt: DateTimeFilter
  description: NullableStringFilter
  ein: NullableStringFilter
  id: IntFilter
  industry: StringFilter
  members: ProfileFilter
  name: StringFilter
  NOT: [OrganizationWhereInput!]
  OR: [OrganizationWhereInput!]
  orgPicture: NullableStringFilter
  totalMembers: IntFilter
  website: StringFilter
}

input OrganizationWhereUniqueInput {
  code: String
  id: Int
}

type Profile {
  bio: String
  displayName: String
  firstName: String!
  id: Int!
  lastName: String!
  Location: Location
  organizations(after: OrganizationWhereUniqueInput, before: OrganizationWhereUniqueInput, first: Int, last: Int): [Organization!]!
  profilePicture: String
  skills(after: SkillWhereUniqueInput, before: SkillWhereUniqueInput, first: Int, last: Int): [Skill!]!
  uid: String!
  upcomingJobsReceive(after: JobWhereUniqueInput, before: JobWhereUniqueInput, first: Int, last: Int): [Job!]!
  upcomingJobsServe(after: JobWhereUniqueInput, before: JobWhereUniqueInput, first: Int, last: Int): [Job!]!
}

input ProfileCreateInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  Location: LocationCreateOneWithoutProfileInput
  organizations: OrganizationCreateManyWithoutMembersInput
  profilePicture: String
  skills: SkillCreateManyWithoutOwnedByPortfolioInput
  uid: String!
  upcomingJobsReceive: JobCreateManyWithoutRecipientInput
  upcomingJobsServe: JobCreateManyWithoutProviderInput
}

input ProfileCreateManyWithoutLocationInput {
  connect: [ProfileWhereUniqueInput!]
  create: [ProfileCreateWithoutLocationInput!]
}

input ProfileCreateManyWithoutOrganizationsInput {
  connect: [ProfileWhereUniqueInput!]
  create: [ProfileCreateWithoutOrganizationsInput!]
}

input ProfileCreateOneWithoutSkillsInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutSkillsInput
}

input ProfileCreateOneWithoutUpcomingJobsReceiveInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutUpcomingJobsReceiveInput
}

input ProfileCreateOneWithoutUpcomingJobsServeInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutUpcomingJobsServeInput
}

input ProfileCreateWithoutLocationInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  organizations: OrganizationCreateManyWithoutMembersInput
  profilePicture: String
  skills: SkillCreateManyWithoutOwnedByPortfolioInput
  uid: String!
  upcomingJobsReceive: JobCreateManyWithoutRecipientInput
  upcomingJobsServe: JobCreateManyWithoutProviderInput
}

input ProfileCreateWithoutOrganizationsInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  Location: LocationCreateOneWithoutProfileInput
  profilePicture: String
  skills: SkillCreateManyWithoutOwnedByPortfolioInput
  uid: String!
  upcomingJobsReceive: JobCreateManyWithoutRecipientInput
  upcomingJobsServe: JobCreateManyWithoutProviderInput
}

input ProfileCreateWithoutSkillsInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  Location: LocationCreateOneWithoutProfileInput
  organizations: OrganizationCreateManyWithoutMembersInput
  profilePicture: String
  uid: String!
  upcomingJobsReceive: JobCreateManyWithoutRecipientInput
  upcomingJobsServe: JobCreateManyWithoutProviderInput
}

input ProfileCreateWithoutUpcomingJobsReceiveInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  Location: LocationCreateOneWithoutProfileInput
  organizations: OrganizationCreateManyWithoutMembersInput
  profilePicture: String
  skills: SkillCreateManyWithoutOwnedByPortfolioInput
  uid: String!
  upcomingJobsServe: JobCreateManyWithoutProviderInput
}

input ProfileCreateWithoutUpcomingJobsServeInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String!
  lastName: String!
  Location: LocationCreateOneWithoutProfileInput
  organizations: OrganizationCreateManyWithoutMembersInput
  profilePicture: String
  skills: SkillCreateManyWithoutOwnedByPortfolioInput
  uid: String!
  upcomingJobsReceive: JobCreateManyWithoutRecipientInput
}

input ProfileFilter {
  every: ProfileWhereInput
  none: ProfileWhereInput
  some: ProfileWhereInput
}

input ProfileScalarWhereInput {
  AND: [ProfileScalarWhereInput!]
  bio: NullableStringFilter
  createdAt: DateTimeFilter
  displayName: NullableStringFilter
  email: NullableStringFilter
  firstName: StringFilter
  id: IntFilter
  lastName: StringFilter
  locationId: NullableIntFilter
  NOT: [ProfileScalarWhereInput!]
  OR: [ProfileScalarWhereInput!]
  organizations: OrganizationFilter
  profilePicture: NullableStringFilter
  skills: SkillFilter
  uid: StringFilter
  upcomingJobsReceive: JobFilter
  upcomingJobsServe: JobFilter
}

input ProfileUpdateInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  Location: LocationUpdateOneWithoutProfileInput
  organizations: OrganizationUpdateManyWithoutMembersInput
  profilePicture: String
  skills: SkillUpdateManyWithoutOwnedByPortfolioInput
  uid: String
  upcomingJobsReceive: JobUpdateManyWithoutRecipientInput
  upcomingJobsServe: JobUpdateManyWithoutProviderInput
}

input ProfileUpdateManyDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  profilePicture: String
  uid: String
}

input ProfileUpdateManyWithoutLocationInput {
  connect: [ProfileWhereUniqueInput!]
  create: [ProfileCreateWithoutLocationInput!]
  delete: [ProfileWhereUniqueInput!]
  deleteMany: [ProfileScalarWhereInput!]
  disconnect: [ProfileWhereUniqueInput!]
  set: [ProfileWhereUniqueInput!]
  update: [ProfileUpdateWithWhereUniqueWithoutLocationInput!]
  updateMany: [ProfileUpdateManyWithWhereNestedInput!]
  upsert: [ProfileUpsertWithWhereUniqueWithoutLocationInput!]
}

input ProfileUpdateManyWithoutOrganizationsInput {
  connect: [ProfileWhereUniqueInput!]
  create: [ProfileCreateWithoutOrganizationsInput!]
  delete: [ProfileWhereUniqueInput!]
  deleteMany: [ProfileScalarWhereInput!]
  disconnect: [ProfileWhereUniqueInput!]
  set: [ProfileWhereUniqueInput!]
  update: [ProfileUpdateWithWhereUniqueWithoutOrganizationsInput!]
  updateMany: [ProfileUpdateManyWithWhereNestedInput!]
  upsert: [ProfileUpsertWithWhereUniqueWithoutOrganizationsInput!]
}

input ProfileUpdateManyWithWhereNestedInput {
  data: ProfileUpdateManyDataInput!
  where: ProfileScalarWhereInput!
}

input ProfileUpdateOneRequiredWithoutSkillsInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutSkillsInput
  update: ProfileUpdateWithoutSkillsDataInput
  upsert: ProfileUpsertWithoutSkillsInput
}

input ProfileUpdateOneRequiredWithoutUpcomingJobsReceiveInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutUpcomingJobsReceiveInput
  update: ProfileUpdateWithoutUpcomingJobsReceiveDataInput
  upsert: ProfileUpsertWithoutUpcomingJobsReceiveInput
}

input ProfileUpdateOneRequiredWithoutUpcomingJobsServeInput {
  connect: ProfileWhereUniqueInput
  create: ProfileCreateWithoutUpcomingJobsServeInput
  update: ProfileUpdateWithoutUpcomingJobsServeDataInput
  upsert: ProfileUpsertWithoutUpcomingJobsServeInput
}

input ProfileUpdateWithoutLocationDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  organizations: OrganizationUpdateManyWithoutMembersInput
  profilePicture: String
  skills: SkillUpdateManyWithoutOwnedByPortfolioInput
  uid: String
  upcomingJobsReceive: JobUpdateManyWithoutRecipientInput
  upcomingJobsServe: JobUpdateManyWithoutProviderInput
}

input ProfileUpdateWithoutOrganizationsDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  Location: LocationUpdateOneWithoutProfileInput
  profilePicture: String
  skills: SkillUpdateManyWithoutOwnedByPortfolioInput
  uid: String
  upcomingJobsReceive: JobUpdateManyWithoutRecipientInput
  upcomingJobsServe: JobUpdateManyWithoutProviderInput
}

input ProfileUpdateWithoutSkillsDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  Location: LocationUpdateOneWithoutProfileInput
  organizations: OrganizationUpdateManyWithoutMembersInput
  profilePicture: String
  uid: String
  upcomingJobsReceive: JobUpdateManyWithoutRecipientInput
  upcomingJobsServe: JobUpdateManyWithoutProviderInput
}

input ProfileUpdateWithoutUpcomingJobsReceiveDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  Location: LocationUpdateOneWithoutProfileInput
  organizations: OrganizationUpdateManyWithoutMembersInput
  profilePicture: String
  skills: SkillUpdateManyWithoutOwnedByPortfolioInput
  uid: String
  upcomingJobsServe: JobUpdateManyWithoutProviderInput
}

input ProfileUpdateWithoutUpcomingJobsServeDataInput {
  bio: String
  createdAt: DateTime
  displayName: String
  email: String
  firstName: String
  id: Int
  lastName: String
  Location: LocationUpdateOneWithoutProfileInput
  organizations: OrganizationUpdateManyWithoutMembersInput
  profilePicture: String
  skills: SkillUpdateManyWithoutOwnedByPortfolioInput
  uid: String
  upcomingJobsReceive: JobUpdateManyWithoutRecipientInput
}

input ProfileUpdateWithWhereUniqueWithoutLocationInput {
  data: ProfileUpdateWithoutLocationDataInput!
  where: ProfileWhereUniqueInput!
}

input ProfileUpdateWithWhereUniqueWithoutOrganizationsInput {
  data: ProfileUpdateWithoutOrganizationsDataInput!
  where: ProfileWhereUniqueInput!
}

input ProfileUpsertWithoutSkillsInput {
  create: ProfileCreateWithoutSkillsInput!
  update: ProfileUpdateWithoutSkillsDataInput!
}

input ProfileUpsertWithoutUpcomingJobsReceiveInput {
  create: ProfileCreateWithoutUpcomingJobsReceiveInput!
  update: ProfileUpdateWithoutUpcomingJobsReceiveDataInput!
}

input ProfileUpsertWithoutUpcomingJobsServeInput {
  create: ProfileCreateWithoutUpcomingJobsServeInput!
  update: ProfileUpdateWithoutUpcomingJobsServeDataInput!
}

input ProfileUpsertWithWhereUniqueWithoutLocationInput {
  create: ProfileCreateWithoutLocationInput!
  update: ProfileUpdateWithoutLocationDataInput!
  where: ProfileWhereUniqueInput!
}

input ProfileUpsertWithWhereUniqueWithoutOrganizationsInput {
  create: ProfileCreateWithoutOrganizationsInput!
  update: ProfileUpdateWithoutOrganizationsDataInput!
  where: ProfileWhereUniqueInput!
}

input ProfileWhereInput {
  AND: [ProfileWhereInput!]
  bio: NullableStringFilter
  createdAt: DateTimeFilter
  displayName: NullableStringFilter
  email: NullableStringFilter
  firstName: StringFilter
  id: IntFilter
  lastName: StringFilter
  Location: LocationWhereInput
  locationId: NullableIntFilter
  NOT: [ProfileWhereInput!]
  OR: [ProfileWhereInput!]
  organizations: OrganizationFilter
  profilePicture: NullableStringFilter
  skills: SkillFilter
  uid: StringFilter
  upcomingJobsReceive: JobFilter
  upcomingJobsServe: JobFilter
}

input ProfileWhereUniqueInput {
  id: Int
  uid: String
}

type Query {
  AdminWebOnboardingComplete(email: String!, fname: String, groupcode: String, lname: String): AWOC
  availabilities(after: AvailabilityWhereUniqueInput, before: AvailabilityWhereUniqueInput, first: Int, last: Int): [Availability!]!
  availability(where: AvailabilityWhereUniqueInput!): Availability
  communities: [Organization!]
  firebaseUserByUID(uid: String!): String
  InAppAccountIsSet(email: String!): IAAIS
  jobs: [Job!]
  keyword(where: KeywordWhereUniqueInput!): Keyword
  keywordByCategory(category: String!): [Keyword!]
  keywords(after: KeywordWhereUniqueInput, before: KeywordWhereUniqueInput, first: Int, last: Int): [Keyword!]!
  location(where: LocationWhereUniqueInput!): Location
  locations(after: LocationWhereUniqueInput, before: LocationWhereUniqueInput, first: Int, last: Int): [Location!]!
  me: String
  MemberHasBeenInvited(email: String!): MHBI
  organization(where: OrganizationWhereUniqueInput!): Organization
  organizations(after: OrganizationWhereUniqueInput, before: OrganizationWhereUniqueInput, first: Int, last: Int): [Organization!]!
  profile(where: ProfileWhereUniqueInput!): Profile
  profiles(after: ProfileWhereUniqueInput, before: ProfileWhereUniqueInput, first: Int, last: Int): [Profile!]!
  ResetPassword(email: String!): RP
  ResetPasswordConfirmed(email: String!): RPC
  retrieveProfile__initializeIfNeeded(firstName: String!, lastName: String!, photoURL: String, uid: String!): Profile
  SettingUpAdminAccountComplete(email: String!): SUAAC
  skill(where: SkillWhereUniqueInput!): Skill
  skills(after: SkillWhereUniqueInput, before: SkillWhereUniqueInput, first: Int, last: Int): [Skill!]!
  SubscribeUserToMailchimp(email: String!, fname: String, groupcode: String, lname: String): SUTM
}

type RP {
  response: String
}

type RPC {
  response: String
}

type Skill {
  availability: Availability
  availabilityId: Int
  category: String!
  createdAt: DateTime!
  description: String
  id: Int!
  name: String!
  ownedByPortfolio: Profile!
  portfolioId: String!
}

input SkillCreateInput {
  availability: AvailabilityCreateOneWithoutSkillInput
  category: String!
  createdAt: DateTime
  description: String
  Job: JobCreateManyWithoutSkillInput
  name: String!
  ownedByPortfolio: ProfileCreateOneWithoutSkillsInput!
}

input SkillCreateManyWithoutAvailabilityInput {
  connect: [SkillWhereUniqueInput!]
  create: [SkillCreateWithoutAvailabilityInput!]
}

input SkillCreateManyWithoutOwnedByPortfolioInput {
  connect: [SkillWhereUniqueInput!]
  create: [SkillCreateWithoutOwnedByPortfolioInput!]
}

input SkillCreateOneWithoutJobInput {
  connect: SkillWhereUniqueInput
  create: SkillCreateWithoutJobInput
}

input SkillCreateWithoutAvailabilityInput {
  category: String!
  createdAt: DateTime
  description: String
  Job: JobCreateManyWithoutSkillInput
  name: String!
  ownedByPortfolio: ProfileCreateOneWithoutSkillsInput!
}

input SkillCreateWithoutJobInput {
  availability: AvailabilityCreateOneWithoutSkillInput
  category: String!
  createdAt: DateTime
  description: String
  name: String!
  ownedByPortfolio: ProfileCreateOneWithoutSkillsInput!
}

input SkillCreateWithoutOwnedByPortfolioInput {
  availability: AvailabilityCreateOneWithoutSkillInput
  category: String!
  createdAt: DateTime
  description: String
  Job: JobCreateManyWithoutSkillInput
  name: String!
}

input SkillFilter {
  every: SkillWhereInput
  none: SkillWhereInput
  some: SkillWhereInput
}

input SkillScalarWhereInput {
  AND: [SkillScalarWhereInput!]
  availabilityId: NullableIntFilter
  category: StringFilter
  createdAt: DateTimeFilter
  description: NullableStringFilter
  id: IntFilter
  Job: JobFilter
  name: StringFilter
  NOT: [SkillScalarWhereInput!]
  OR: [SkillScalarWhereInput!]
  portfolioId: StringFilter
}

input SkillUpdateInput {
  availability: AvailabilityUpdateOneWithoutSkillInput
  category: String
  createdAt: DateTime
  description: String
  id: Int
  Job: JobUpdateManyWithoutSkillInput
  name: String
  ownedByPortfolio: ProfileUpdateOneRequiredWithoutSkillsInput
}

input SkillUpdateManyDataInput {
  category: String
  createdAt: DateTime
  description: String
  id: Int
  name: String
}

input SkillUpdateManyWithoutOwnedByPortfolioInput {
  connect: [SkillWhereUniqueInput!]
  create: [SkillCreateWithoutOwnedByPortfolioInput!]
  delete: [SkillWhereUniqueInput!]
  deleteMany: [SkillScalarWhereInput!]
  disconnect: [SkillWhereUniqueInput!]
  set: [SkillWhereUniqueInput!]
  update: [SkillUpdateWithWhereUniqueWithoutOwnedByPortfolioInput!]
  updateMany: [SkillUpdateManyWithWhereNestedInput!]
  upsert: [SkillUpsertWithWhereUniqueWithoutOwnedByPortfolioInput!]
}

input SkillUpdateManyWithWhereNestedInput {
  data: SkillUpdateManyDataInput!
  where: SkillScalarWhereInput!
}

input SkillUpdateOneRequiredWithoutJobInput {
  connect: SkillWhereUniqueInput
  create: SkillCreateWithoutJobInput
  update: SkillUpdateWithoutJobDataInput
  upsert: SkillUpsertWithoutJobInput
}

input SkillUpdateWithoutJobDataInput {
  availability: AvailabilityUpdateOneWithoutSkillInput
  category: String
  createdAt: DateTime
  description: String
  id: Int
  name: String
  ownedByPortfolio: ProfileUpdateOneRequiredWithoutSkillsInput
}

input SkillUpdateWithoutOwnedByPortfolioDataInput {
  availability: AvailabilityUpdateOneWithoutSkillInput
  category: String
  createdAt: DateTime
  description: String
  id: Int
  Job: JobUpdateManyWithoutSkillInput
  name: String
}

input SkillUpdateWithWhereUniqueWithoutOwnedByPortfolioInput {
  data: SkillUpdateWithoutOwnedByPortfolioDataInput!
  where: SkillWhereUniqueInput!
}

input SkillUpsertWithoutJobInput {
  create: SkillCreateWithoutJobInput!
  update: SkillUpdateWithoutJobDataInput!
}

input SkillUpsertWithWhereUniqueWithoutOwnedByPortfolioInput {
  create: SkillCreateWithoutOwnedByPortfolioInput!
  update: SkillUpdateWithoutOwnedByPortfolioDataInput!
  where: SkillWhereUniqueInput!
}

input SkillWhereInput {
  AND: [SkillWhereInput!]
  availability: AvailabilityWhereInput
  availabilityId: NullableIntFilter
  category: StringFilter
  createdAt: DateTimeFilter
  description: NullableStringFilter
  id: IntFilter
  Job: JobFilter
  name: StringFilter
  NOT: [SkillWhereInput!]
  OR: [SkillWhereInput!]
  ownedByPortfolio: ProfileWhereInput
  portfolioId: StringFilter
}

input SkillWhereUniqueInput {
  id: Int
}

"""The Job's current status."""
enum Status {
  CANCELED
  COMPLETED
  CONTESTED
  RECIPIENT_HAS_PROPOSED_OFFER
  SCHEDULED
}

input StringFilter {
  contains: String
  endsWith: String
  equals: String
  gt: String
  gte: String
  in: [String!]
  lt: String
  lte: String
  not: String
  notIn: [String!]
  startsWith: String
}

type SUAAC {
  response: String
}

type SUTM {
  response: String
}
  1. This is the invoked query
mutation MATRICULATE_NEW_USER(
  $uid: String!
  $firstName: String!
  $lastName: String!
  $email: String!
  $displayName: String!
) {
  createOneProfile(
    data: {
      firstName: $firstName
      lastName: $lastName
      displayName: $displayName
      email: $email
      uid: $uid
    }
  ) {
    uid
    firstName
    lastName
  }
}
  1. I use these permissions
const isAuthenticated = rule({ cache: 'no_cache' })(
  async (parent, args, ctx, info) => {
    let uid = ctx.token
    console.log('isAuthenticated :: ' + uid)
    return Boolean(uid)
  }
)

const rules = {
  Query: {
    me: isAuthenticated,
    retrieveProfile__initializeIfNeeded: isAuthenticated
  },
  Mutation: {
    recipientOffer: isAuthenticated,
    providerRequest: isAuthenticated
  },
  debug: true
}

export { rules }
  1. This is the error I see
<insert error here>

Expected behavior

{
"error": {
"errors": [
{
"message": "\nInvalid prisma.profile.create() invocation in\n/home/soma/VENTURE/YING/api_v2/node_modules/nexus-plugin-prisma/dist/schema/builder.js:202:93\n\n\n Unique constraint failed on the fields: (uid)",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"createOneProfile"
]
}
],
"data": null
}
}

Actual behaviour

if there is a collison (error of Prisma origin), then
I get the shield response below.

NOTE that if I execute the query correctly then it is Authorized and goes through.

{
"error": {
"errors": [
{
"message": "Not Authorised!",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"createOneProfile"
]
}
],
"data": null
}
}

Additional context

No additional context for now.

Hey @nargetdev 👋,

Thank you for opening an issue. We will get back to you as soon as we can. Also, check out our Open Collective and consider contributing financially.

https://opencollective.com/graphql-shield

PS.: We offer priority support for all financial contributors. Don't forget to add priority label once you start contributing 😄

Hey, this is most certainly a duplicate.
Try checking the debug option and read more about error handling in the docs.