Skip to content

Work with DAO

GET

count (Only for pagination: default, nextAndPreviousWithCount)

Operation /row-meta /row-meta-new /row-meta/id /data/ /count
Open Screen
no records
Create
Save
Delete
no records
Click ..
Open Assoc,
Popup
Open Form Popup
Force Active

Other

Operation POST
/row-meta/id
PUT
/data/id
DELETE
/data/id
Open Screen
Create
Save
Delete
Click ..
Open Assoc,
Popup
Open Form Popup
Force Active

Opening Screen

Live Sample ·

/row-meta/id

For the list, the id of the first record is taken because the cursor is set on the first record in the backend, and operations are available for it, which require rowMeta.

/row-meta/

If there are no records, the method is called without an ID.

/count/

Only invoked when Pagination modes are: nextAndPreviousWithCount or Default

sequenceDiagram
    Frontend->>Backend: GET /api/v1/data/ 
    Frontend->>Backend: GET /api/v1/row-meta (only if no records)
    Frontend->>Backend: GET /api/v1/row-meta/id
    Frontend->>Backend: GET /api/v1/count (Only for pagination: default, nextAndPreviousWithCount)

API -> DAO

open_screen_backend.png

CRUD Operations

Create

User actions: Create

Process:

sequenceDiagram
    Frontend->>Backend: GET /api/v1/row-meta-new 

Used methods:

  • getId() (using FirstLevelCache)
  • setId() (using FirstLevelCache)

Recommendation: Use standard CXBOX mechanism for record storage and calling external systems.

API -> DAO

createactiondev.png

Save

User actions: Save

Process:

sequenceDiagram
    Frontend->>Backend: PUT /api/v1/data/id
    Frontend->>Backend: GET /api/v1/row-meta/id

Used methods:

Frontend->>Backend: PUT /api/v1/data/id

  • getId() (using FirstLevelCache)
  • setId() (using FirstLevelCache)
  • getId() (using FirstLevelCache)
  • create()
  • update()

Frontend->>Backend: GET /api/v1/row-meta/id

  • getByIdIgnoringFirstLevelCache()
API -> DAO

saveaftercreateactiondev.png

saveactiondev.png

Delete

User actions: Delete

Process:

sequenceDiagram
    Frontend->>Backend: DELETE /api/v1/data/id
    Frontend->>Backend: GET /api/v1/data/
    Frontend->>Backend: GET /api/v1/row-meta (only if no records)
    Frontend->>Backend: GET /api/v1/row-meta/id

Used methods:

Frontend->>Backend: DELETE /api/v1/data/id

  • delete()
  • getList()
  • getByIdIgnoringFirstLevelCache()
API -> DAO

deleteactiondev.png