* - Create CosmosDocument as a base class
- Add CT and UT
- Refactor all tables to use the CosmosDocument
* - Add UpsertDocument method to perform updates in a generic way
- Add SetUpdateTime() to update the UT for updates
- Refactor it all
* - Add Performquery method
- Refactor appservice_events_table
* - Update naffka Topics and Messages to use the common pattern
* - Update keyserver to use the common pattern for collection and PK
* - Update mediaapi to use the common pattern for collection and pk
* - Update roomserver to use the common pattern for collectionname and pk
* - Update signingkeyserver to use the common pattern for collectionname and pk
* - Update userapi touse the common pattern for collectionname and pk
* - Update partitionOffset to use the common collectionname and pk
- Remove generic GetPartitionKey() method
Co-authored-by: alexf@example.com <alexf@example.com>
* - Create CosmosDocument as a base class
- Add CT and UT
- Refactor all tables to use the CosmosDocument
* - Add UpsertDocument method to perform updates in a generic way
- Add SetUpdateTime() to update the UT for updates
- Refactor it all
Co-authored-by: alexf@example.com <alexf@example.com>
* Add tenant-id to all docs and cross-tenant queries
* Use TenantName in doc ids too
* Space
* - Rename variables and ensure code compiles
* - Fix error handling for GroupBy query
* - Fix typo
Co-authored-by: Alex Flatow <alexf@criticalarc.com>
- Use the SQLLite as a base for the CosmosDB package(s)
- Update the ConnString to use file: from cosmosdb: so it still works
- Add a yaml file for the config to use CosmosDB
* Rename serverkeyapi to signingkeyserver
We use "api" for public facing stuff and "server" for internal stuff.
As the server key API is internal only, we call it 'signing key server',
which also clarifies the type of key (as opposed to TLS keys, E2E keys, etc)
* Convert docker/scripts to use signing-key-server
* Rename missed bits