You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(storage): implement Object Contexts with advanced filtering and validation (#9122)
* insert and get contexts perform
* Unit Test Cases
* Unit Test Cases
* Resolve comments
* Follow the checklist and resolved comments
* Follow the checklist and resolved comments
* Follow the checklist and resolved comments
* Fixed gemini related comments
* Fixed gemini related comments
* Style code
* Style code
* Personal Review code
* Style set
* Style set
* Required Changes
* Required Changes
* Required Changes
* As per new comments changes
* Changes
* Remove old test method
* Handled System Test cases
* Gemini review and style check
* Style Check
* Style Check
* Pending scenario covers
* Pending scenario covers
* Pending scenario covers
* Pending scenario covers
* Pending scenario covers
* Remove unwanted delete code
* Remove unwanted delete code
* Add FIle const
* Handle more scenario and resolved comments
* Add more scenarios and also recheck with document
* Make a trait for validateContext and use in both bucket and storageObject file
* Changed code as per gemini review
* Changed code as per gemini review
* Changed code as per gemini review
* Changes code as per comments
* Style check issue
* Style check issue
* Style check issue
* Review Manage Test
* Overall Completed the Test case only filter in system test is pending
* Add New cases and scenarios
* Updated code
* Updated code
* Updated code
* Updated code
* Updated code
* Updated code
* Updated code
* Updated Code
* Fixer
* CHanges as per gemini review
* CS Fixer
* gemini review
* gemini review
* Changed according to feedback
* Final changes code
* Final changes code
* Final changes code
* Final change and push
* Final change and push
* FInal Code
* Final Code
* Polish code
* Apply suggestion from @nidhiii-27
Co-authored-by: Nidhi <nidhiii@google.com>
* Jetski review
* Fixed Style check
* Fixed JSON
* Removed White space
---------
Co-authored-by: Nidhi <nidhiii@google.com>
Copy file name to clipboardExpand all lines: Storage/src/Connection/ServiceDefinition/storage-v1.json
+40Lines changed: 40 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1561,6 +1561,41 @@
1561
1561
"type": "string",
1562
1562
"description": "The modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration.",
1563
1563
"format": "date-time"
1564
+
},
1565
+
"contexts" : {
1566
+
"type": "object",
1567
+
"description": "User-defined or system-defined object contexts. Represented as key-payload pairs, where the key identifies the context and the payload contains the associated value and additional metadata.",
1568
+
"properties" : {
1569
+
"custom" : {
1570
+
"type": "object",
1571
+
"description": "User-provided object contexts where each entry consists of a unique key and a corresponding payload.",
1572
+
"additionalProperties": {
1573
+
"$ref": "ObjectCustomContextPayload",
1574
+
"description": "A single user-defined object context."
1575
+
}
1576
+
}
1577
+
}
1578
+
}
1579
+
}
1580
+
},
1581
+
"ObjectCustomContextPayload": {
1582
+
"id": "ObjectCustomContextPayload",
1583
+
"type": "object",
1584
+
"description": "The payload associated with a user-defined context key.",
1585
+
"properties": {
1586
+
"value": {
1587
+
"type": "string",
1588
+
"description": "The value of the object contexts."
1589
+
},
1590
+
"createTime": {
1591
+
"type": "string",
1592
+
"format": "date-time",
1593
+
"description": "The time at which the object contexts was created in RFC 3339 format."
1594
+
},
1595
+
"updateTime": {
1596
+
"type": "string",
1597
+
"format": "date-time",
1598
+
"description": "The time at which the object context was last updated in RFC 3339 format."
1564
1599
}
1565
1600
}
1566
1601
},
@@ -4865,6 +4900,11 @@
4865
4900
"required": true,
4866
4901
"location": "path"
4867
4902
},
4903
+
"filter": {
4904
+
"type": "string",
4905
+
"description": "Filter results to include only objects to which the specified context is attached. You can filter by the presence, absence, or specific value of context keys.",
4906
+
"location": "query"
4907
+
},
4868
4908
"delimiter": {
4869
4909
"type": "string",
4870
4910
"description": "Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted.",
0 commit comments