Merge pull request #5768 from FinnStutzenstein/updateDSInterface
Update Datastore interface
This commit is contained in:
commit
b825fb2a35
@ -72,7 +72,7 @@ Interface WriteRequest {
|
|||||||
locked_fields: {
|
locked_fields: {
|
||||||
<fqid>: Position;
|
<fqid>: Position;
|
||||||
<fqfield>: Position;
|
<fqfield>: Position;
|
||||||
<CollectionField>: Position;
|
<CollectionField>: Position | CollectionFieldLock;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,6 +104,15 @@ Interface DeleteEvent {
|
|||||||
fqid: Fqid;
|
fqid: Fqid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Collection fields can not only be locked to a specific position, but also filtered
|
||||||
|
// first, e.g. when selecting all models from a specific meeting. WARNING: the filter
|
||||||
|
// should always contain an equals check with the meeting_id, since this will be
|
||||||
|
// indexed. Other filters can lead to long query times.
|
||||||
|
Interface CollectionFieldLock {
|
||||||
|
position: Position;
|
||||||
|
filter: Filter;
|
||||||
|
}
|
||||||
|
|
||||||
// Note: The modified fqfields include:
|
// Note: The modified fqfields include:
|
||||||
// - all updated fqfields
|
// - all updated fqfields
|
||||||
// - all deleted fqfields
|
// - all deleted fqfields
|
||||||
@ -213,16 +222,22 @@ get_all(collection: Collection, mapped_fields?: Field[], get_deleted_models?: De
|
|||||||
*/
|
*/
|
||||||
get_everything(get_deleted_models?: DeletedModelsBehaviour): Map<Collection, Model[]>;
|
get_everything(get_deleted_models?: DeletedModelsBehaviour): Map<Collection, Model[]>;
|
||||||
|
|
||||||
|
interface FilterResponse {
|
||||||
|
position: Position;
|
||||||
|
data: Map<Id, Partial<Model>>;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns all models of one collection that satisfy the filter condition.
|
* Returns all models of one collection that satisfy the filter condition.
|
||||||
* Url: POST to /internal/datastore/reader/filter
|
* Url: POST to /internal/datastore/reader/filter
|
||||||
*
|
*
|
||||||
|
* The global max position of the datastore is returned next the the filtered data.
|
||||||
* This method does not take a position and can not be used when browsing the history.
|
* This method does not take a position and can not be used when browsing the history.
|
||||||
*
|
*
|
||||||
* @returns see get_many
|
* @returns see get_many
|
||||||
* @throws InvalidFormat
|
* @throws InvalidFormat
|
||||||
*/
|
*/
|
||||||
filter(collection: Collection, filter: Filter, mapped_fields?: Field[]): Map<Id, Partial<Model>>
|
filter(collection: Collection, filter: Filter, mapped_fields?: Field[]): FilterResponse
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Url: POST to /internal/datastore/reader/exists
|
* Url: POST to /internal/datastore/reader/exists
|
||||||
|
Loading…
Reference in New Issue
Block a user