graphql-engine/v3/crates/engine
Daniel Harvey 0b69370cc9 add support for argument presets in models (#348)
<!-- Thank you for submitting this PR! :) -->

## Description

Following on https://github.com/hasura/v3-engine/pull/340 (and stacked
on top of it, as such) - this adds preset arguments for models, allowing
hard coded values for different roles.

```yaml
kind: ModelPermissions
version: v1
definition:
  modelName: ActorsByMovie
  permissions:
  - role: admin
    select:
      filter:
      argumentPresets:
      - argument: movie_id
        value:
          literal: 3
```

<!--
  Questions to consider answering:
  1. What user-facing changes are being made?
2. What are issues related to this PR? (Consider adding `(close
#<issue-no>)` to the PR title)
  3. What is the conceptual design behind this PR?
  4. How can this PR be tested/verified?
  5. Does the PR have limitations?
  6. Does the PR introduce breaking changes?
-->

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [X] community-edition
- [X] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [X] enhancement
- [ ] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

Allow setting preset values for arguments on models, based on user's
role.

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: 7dd23bf78e92980384cb2b2e109305cdb42d1c0b
2024-03-20 08:42:02 +00:00
..
benches Move all crates into a folder (#355) 2024-03-19 18:07:14 +00:00
bin/engine Move all crates into a folder (#355) 2024-03-19 18:07:14 +00:00
src add support for argument presets in models (#348) 2024-03-20 08:42:02 +00:00
tests add support for argument presets in models (#348) 2024-03-20 08:42:02 +00:00
build.rs Move all crates into a folder (#355) 2024-03-19 18:07:14 +00:00
Cargo.toml Move all crates into a folder (#355) 2024-03-19 18:07:14 +00:00