I'm trying to insert a record via the Indicium Universal OData API. I'm getting stuck on a read only field. Consider the following data model as example:
I have the tables project and project_vrs (having a reference between them). Please note that ‘project_id’ is read-only in the table project_vrs, and there is no identity used.
If you generate the model you'll see the following screen:
The user can open/add a ‘Project’ and via the details he can access ‘project_vrs’. It also allows him to add a project_vrs.
My question is, how can I reproduce the Windows GUI behaviour via the OData API?
Doing a POST call via Postman inserts the project:
The project_id ‘TEST’ is created. When I try to add project_vrs I get an http 403 error:
The Indicium log shows the following interesting line:
dbug: Indicium.Controllers.TableControllers0]
Cannot change the value of the property 'project_id' of 'project_vrs'.The application model prohibits editing this property.
This is probably caused by having the project_id set as read only. But without changing the model, how am I able to reproduce the ‘gui’ behaviour? I did take a look at resource staging, and tried, but got a similar debug message when calling a patch on project_id.