Commit 33774c2
authored
Skip writing the HTTP actions to config file and log warning when REST Methods are configured for tables/views (#1607)
## Why make this change?
- Closes #1571 #1570
- At the moment, CLI writes out all the 5 HTTP methods to the config
file when adding an entity backed by table/view.

- However, for tables/views, the `Methods` property does not play any
role and can be skipped writing to the config file.
## What is this change?
- `EntityRestOptions`: `Methods` property is made nullable. References
where it was initialized with an empty array is updated to `null`.
Appropriate `null` checks are added.
- `EntityRestOptionsConverter`: Serialization logic is updated to write
to the config file only when the `Methods` within REST element is not
empty
- `RuntimeConfigValidator.ValidatePresenceOfExtraRestProperties()`:
Helper method to log a warning message when `Methods` property is added
manually to an entity backed by table/view.
- HTTP Actions are removed from the snapshot files.
- `dab-config.*` files - `Methods` property is removed from the
reference config files
## How was this tested?
- [x] Integration Tests
- [x] Unit Tests
- [x] Manual Tests
## Sample Request(s)
- CLI: REST actions are not written to the config file
`dab add books --source books --permissions "anonymous:*"`
Config Json created:
```json
"entities": {
"books": {
"source": {
"object": "books",
"type": "table"
},
"graphql": {
"enabled": true,
"type": {
"singular": "books",
"plural": "books"
}
},
"rest": {
"enabled": true
},
"permissions": [
{
"role": "anonymous",
"actions": [
{
"action": "*"
}
]
}
]
}
}
```
- When the config file is hand-edited to add `methods` property to a
table/view, engine logs a warning message during start-up
Config:
```json
"Book": {
"source": {
"object": "books",
"type": "table"
},
"rest": {
"enabled": true,
"methods": [
"get",
"post"
]
},
"graphql": {
"enabled": true,
"type": {
"singular": "book",
"plural": "books"
}
},
```
Warning Logged:
1 parent 927fd21 commit 33774c2
39 files changed
Lines changed: 278 additions & 515 deletions
File tree
- src
- Cli.Tests
- Snapshots
- Cli
- Config
- Converters
- ObjectModel
- Core
- Authorization
- Configurations
- Services
- OpenAPI
- Service.Tests
- Authorization
- Configuration
- GraphQLBuilder
- Sql
- Snapshots
- SqlTests/GraphQLQueryTests
- Unittests
Lines changed: 0 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
70 | 63 | | |
71 | 64 | | |
72 | 65 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | 66 | | |
81 | 67 | | |
82 | 68 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
Lines changed: 0 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 37 | | |
45 | 38 | | |
46 | 39 | | |
| |||
70 | 63 | | |
71 | 64 | | |
72 | 65 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | 66 | | |
81 | 67 | | |
82 | 68 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | 46 | | |
54 | 47 | | |
55 | 48 | | |
| |||
Lines changed: 0 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | 43 | | |
51 | 44 | | |
52 | 45 | | |
| |||
Lines changed: 1 addition & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
| 44 | + | |
49 | 45 | | |
50 | 46 | | |
51 | 47 | | |
| |||
Lines changed: 1 addition & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 39 | + | |
44 | 40 | | |
45 | 41 | | |
46 | 42 | | |
| |||
0 commit comments