You are not logged in.
Hi and thanks for the great work.
I have the following Json REST Spec https://testdrive.polarion.com/polarion … nrest.json.
The mopenapi generator creates.
function TPolarionClient.GetAllDocuments(const Fields: TPolarionSparseFields;
PageSize: integer; PageNumber: integer; const Include: RawUtf8;
const Query: RawUtf8; const Sort: RawUtf8;
const Revision: RawUtf8): TPolarionDocumentsListGetResponse;
begin
fClient.Request('GET', '/all/documents', [], [
'page[size]', PageSize,
'page[number]', PageNumber,
'fields', Fields,
'include', Include,
'query', Query,
'sort', Sort,
'revision', Revision], [],
result, TypeInfo(TPolarionDocumentsListGetResponse));
end; The compiler says we are not allowed to put a (packed) record into an array constructor ![]()
polarion.client.pas(7835,15) Error: Wrong type "TPolarionSparseFields" in array constructor
Thanks so much for having a look into it.
Offline
I think there is an additional deduplication error.
"usersSingleGetResponse" in JSON has data.attributes.name. But in the DTO.pas file data "points" to a different attributes record, that has no "name" property (i guess it is pagesSingleGetResponse.data in json and not usersSingleGetResponse.data ) .
Offline
So this is not correct?
TDtoApi2761 = packed record
_Type: TEnumApi8;
Id: RawUtf8;
Revision: RawUtf8;
Attributes: TDtoApi2764;
Relationships: TDtoApi2779;
Links: TDtoApi995;
Meta: TDtoApi1354;
end;
// from #/components/schemas/usersSingleGetResponse
TUsersSingleGetResponse = packed record
Data: TDtoApi2761;
// Related entities might be returned, see <a href="https://docs.sw.siemens.com/en-US/doc/230235217/PL20250606201928474.polarion_help_sc.xid2134849/xid2134871"
// target="_blank">REST API User Guide</a>.
Included: variant;
Links: TDtoApi995;
end;
PUsersSingleGetResponse = ^TUsersSingleGetResponse;Offline
Anyway, please try with
https://github.com/synopse/mORMot2/commit/fe1370e77
It should now at least compile.
Maybe there are still some issues.
Offline