"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)
- 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
}
- 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
}
}
- 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 }
- 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 addpriority
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.