From 8a70bdc8bca1062dae5b306b390037cdf8749521 Mon Sep 17 00:00:00 2001 From: Ha Phan Date: Tue, 21 Aug 2018 22:53:35 +0800 Subject: [PATCH] Added update method to ObjectStorage --- src/ObjectStore/v1/Models/StorageObject.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/ObjectStore/v1/Models/StorageObject.php b/src/ObjectStore/v1/Models/StorageObject.php index cd406189..b6359148 100644 --- a/src/ObjectStore/v1/Models/StorageObject.php +++ b/src/ObjectStore/v1/Models/StorageObject.php @@ -173,7 +173,24 @@ public function copy(array $options) } /** - * {@inheritdoc} + * Update object system metadata and custom metadata. + * + * @param array $options {@see \OpenStack\ObjectStore\v1\Api::postObject} + * + */ + public function update(array $options) + { + $options += ['name' => $this->name, 'containerName' => $this->containerName]; + $options['metadata'] = array_merge($options['metadata'] ?? [] , $this->getMetadata()); + + $response = $this->execute($this->api->postObject(), $options); + $this->metadata = $this->parseMetadata($response); + } + + /** + * Update object only custom metadata. + * + * @param array $metadata */ public function mergeMetadata(array $metadata) {