* - Make all PartitionKeys include the tablename
- Update specific PKs to be item specific
- Add validation to the PerformQueryXX methods
- Fix queries that fail validation
* - Revert the PK back to CollectionName as it already includes the TableName
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
* - 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>
- Update the Config to use Cosmos for the sync API
- Ensure Cosmos DocId does not contain escape chars
- Create a shared Cosmos PartitionOffet table and refactor to use it
- Hardcode the "nafka" Connstring to use the "file:naffka.db"
- Create seq documents for each of the nextXXXID methods