How to get records collection

  • To get all the records for one entity you need to send a search request. The result will be a list of records and their EtalonID. Request name: SearchActions.search. Located: POST v1/search. Schema:

    // Search entity records
    def records = SearchActions.search(token, """{\"payload\":{\"org.unidata.mdm.rest.v1.data\":{\"entity\":\"${entityName}\",\"searchDataType\":\"RECORD\",\"fetchAll\":false,\"countOnly\":false,\"start\":0,\"count\":1000,\"asOf\":null,
        \"formFields\":[
            {\"name\":\"main\",\"value\":null,\"searchType\":\"EXIST\",\"concatType\":\"OR\",\"type\":\"String\",\"inverted\":false}],
        \"returnFields\":[\"main\"],\"sortFields\":[],\"formGroups\":[],\"searchFields\":[]}}}""")
            .data.payload.'org.unidata.mdm.rest.v1.data'
    
  • If you need to get records for all entities / lookup entities, create a cycle of requests for all entities / lookup entities. You may get a list of entities / lookup entities via request GET v1/meta/register-entities and / or GET v1/meta/lookup-entities. Request name: DataActions.getRecord. Located: GET v1/data/records/${name}/${id}. Schema:

    // Get entity records
    for (def i = 0; i < records.hits.size(); i++)
        DataActions.getRecord(token, entityName, records.hits[i].id.substring(0, 36))