prisma-nestjs-graphql icon indicating copy to clipboard operation
prisma-nestjs-graphql copied to clipboard

Role Level Auth on InputType

Open SOG-web opened this issue 5 months ago • 0 comments

how to I add a role base level auth to this input type and arg type

let say i want my users to only be able to fetch where with only userId

@ArgsType()
export class FindUniqueOrderArgs {
  @Field(() => OrderWhereUniqueInput, { nullable: false })
  @Type(() => OrderWhereUniqueInput)
  where!: Prisma.AtLeast<OrderWhereUniqueInput, 'id'>;
}

@InputType()
export class OrderWhereUniqueInput {

    @HideField()
    id?: string;

    @Field(() => [OrderWhereInput], {nullable:true})
    AND?: Array<OrderWhereInput>;

    @Field(() => [OrderWhereInput], {nullable:true})
    OR?: Array<OrderWhereInput>;

    @Field(() => [OrderWhereInput], {nullable:true})
    NOT?: Array<OrderWhereInput>;

    @Field(() => StringFilter, {nullable:true})
    name?: StringFilter;

    @Field(() => StringNullableFilter, {nullable:true})
    userId?: StringNullableFilter;

    @Field(() => JsonFilter, {nullable:true})
    extras?: JsonFilter;

    @Field(() => EnumOrderStatusFilter, {nullable:true})
    status?: EnumOrderStatusFilter;

    @Field(() => FloatFilter, {nullable:true})
    charges?: FloatFilter;

    @Field(() => FloatFilter, {nullable:true})
    subTotal?: FloatFilter;

    @Field(() => FloatFilter, {nullable:true})
    total?: FloatFilter;

    @Field(() => EnumOrderTypeFilter, {nullable:true})
    orderType?: EnumOrderTypeFilter;

    @Field(() => EnumPaymentMethodNullableFilter, {nullable:true})
    paymentMethod?: EnumPaymentMethodNullableFilter;

    @Field(() => IntFilter, {nullable:true})
    quantity?: IntFilter;

    @Field(() => StringNullableFilter, {nullable:true})
    addressId?: StringNullableFilter;

    @HideField()
    createdAt?: DateTimeFilter;

    @HideField()
    updatedAt?: DateTimeFilter;

    @Field(() => UserNullableRelationFilter, {nullable:true})
    user?: UserNullableRelationFilter;

    @Field(() => MenuListRelationFilter, {nullable:true})
    Menus?: MenuListRelationFilter;

    @Field(() => AddressNullableRelationFilter, {nullable:true})
    Address?: AddressNullableRelationFilter;

    @Field(() => TransactionListRelationFilter, {nullable:true})
    Transaction?: TransactionListRelationFilter;
}

SOG-web avatar Aug 31 '24 09:08 SOG-web