diff --git a/lib/table-storage/azure-table.repository.ts b/lib/table-storage/azure-table.repository.ts index 05cce565..8feb8f0f 100644 --- a/lib/table-storage/azure-table.repository.ts +++ b/lib/table-storage/azure-table.repository.ts @@ -123,7 +123,7 @@ export class AzureTableStorageRepository implements Repository { entity = AzureEntityMapper.createEntity(entity, rowKey); - const result = await this.manager.replaceEntity(this.tableName, entity); + const result = await this.manager.mergeEntity(this.tableName, entity); logger.debug(`Entity updated successfuly`); // tslint:disable-next-line: no-console diff --git a/lib/table-storage/azure-table.service.ts b/lib/table-storage/azure-table.service.ts index 2e7b1ebb..d44081ce 100644 --- a/lib/table-storage/azure-table.service.ts +++ b/lib/table-storage/azure-table.service.ts @@ -260,20 +260,16 @@ export class AzureTableStorageService implements azure.TableService { }); }); } - - mergeEntity( - table: string, - entityDescriptor: T, - options: azure.common.RequestOptions, - callback: azure.ErrorOrResult, - ): void; - mergeEntity( - table: string, - entityDescriptor: T, - callback: azure.ErrorOrResult, - ): void; - mergeEntity(table: any, entityDescriptor: any, options: any, callback?: any) { - throw new Error('Method not implemented.'); + mergeEntity(table: string, entityDescriptor: T, options?: any): Promise { + return new Promise((resolve, reject) => { + this.tableServiceInstance.mergeEntity(table, entityDescriptor, options, (error, result) => { + if (error) { + this.printError(error); + reject(error); + } + resolve(result); + }); + }); } insertOrMergeEntity( table: string,