#Query nested array

3 messages · Page 1 of 1 (latest)

glossy ferry
#

So a part of my user object looks like this:

      name: 'sites',
      label: 'Seitenrechte',
      saveToJWT: true,
      required: false,
      type: 'array',
      access: {
        // Only admins can create or update a value for this field
        create: isAdminFieldLevel,
        update: isAdminFieldLevel,
      },
      admin: {
        condition: ({ isSystemAdmin }) => !isSystemAdmin,
        description: 'This field sets which sites that this user has access to.',
      },
      fields: [ // required
        {
          name: 'siteId',
          type: 'relationship',
          relationTo: 'sites',
          required: true,
          access: {
            // Only admins can create or update a value for this field
            create: isAdminFieldLevel,
            update: isAdminFieldLevel,
          },
        },
        {
          name: 'role',
          // Save this field to JWT so we can use from `req.user`
          saveToJWT: true,
          type: 'select',
          hasMany: false,
          defaultValue: 'editor',
          access: {
            // Only admins can create or update a value for this field
            create: isAdminFieldLevel,
            update: isAdminFieldLevel,
          },
          required: true,
          options: [
            {
              label: 'Admin',
              value: 'admin',
            },
            {
              label: 'Editor',
              value: 'editor',
            },
            {
              label: 'API',
              value: 'api',
            },
          ],
        },
      ],
    },```
#

As my user sites relationship is an object not an array I don't think that the demo example works for me, but I didn't tried it yet

glossy ferry
#

While trying to understand the query from the access-control-demo, I tried writing a graphql query and encountered a problem

  Users(where:
        {
        sites__site: { in: ["SITEID"] },
        sites__role: {equals: admin}
      }) {
    docs {
      email,
      firstName,
      sites {site{title}}
    }
    totalDocs
  }
}```

I need to know if the user has a configuration for the given SITEID AND has role admin for this page. But how do I query this?