GridSourceStatus
org.sagebionetworks.repo.model.grid.GridSourceStatus
Reports whether the source RecordSet of a grid session has importable changes that the grid has not picked up yet: changes that would alter the rows a PULL loads into the grid or how those rows are validated. Clients use this to decide whether to prompt the user to synchronize (PULL). A new source version is not by itself an importable change; compare sessionSourceVersionNumber with currentSourceVersionNumber to detect one. This compares the metadata of two RecordSet revisions rather than diffing their rows, so neither answer predicts exactly what a PULL would do. When changes is not empty, a PULL may still change nothing: for example a CSV that was re-saved with different bytes but the same rows is reported as a DATA change. When changes is empty, no difference was detected between the two revisions' metadata or the bound schema. A PULL can still change the grid, for example by re-adding a column the user removed, and it always re-validates rows against the currently bound JSON schema (see JSON_SCHEMA).
| Field | Type | Description |
|---|---|---|
| gridSessionId | STRING | The sessionId of the grid session this status was computed for. |
| sourceEntityId | STRING | The synId of the source RecordSet this grid session was created from. |
| sessionSourceVersionNumber | INTEGER | The version of the source RecordSet the grid was last synchronized to. Null when the grid has never been synchronized to a specific version (see NO_BASELINE). |
| currentSourceVersionNumber | INTEGER | The current version of the source RecordSet. |
| changes | ARRAY<GridSourceChangeType> | Each importable way in which the source RecordSet differs from the revision the grid was last synchronized to. Empty when there are no changes. |