Implement search in namespace context
Implemented search in custom namespaces with x-collaboration header. The code is feature flagged with collaborations-enabled flag
curl --location 'localhost:8092/api/search/v2/query' \
--header 'Content-Type: application/json' \
--header 'data-partition-id: osdu' \
--header 'x-collaboration: id=96d5550e-2b5e-4b84-825c-646339ee5fc7,application=pws' \
--header 'Authorization: ••••••' \
--data '{
"kind":"osdu:search1717500302132:test-data--Integration:1.0.6"
}
When we send request with x-collaboration will be add part to request to ElasticSearch:
"bool": {
"must": [{
"bool": {
"must": [{
"bool": {
"must": [{
"exists": {
"field": "x-collaboration"
}
},{
"term": {
"x-collaboration": "id=96d5550e-2b5e-4b84-825c-646339ee5fc7,application=pws"
}
}]
}
}]
}
}]
}
If we will send request without x-collaboration header:
curl --location 'localhost:8092/api/search/v2/query' \
--header 'Content-Type: application/json' \
--header 'data-partition-id: osdu' \
--header 'Authorization: ••••••' \
--data '{
"kind": "osdu:wks:master-data--CollaborationProject:1.0.0",
"query": "id:\"osdu:master-data--CollaborationProject:275f1abfc7c44f35b5173e7c987638e8\""
}
To request will be added:
"bool": {
"must_not": {
"exists": {
"field": "x-collaboration"
}
}
}
Type of change
-
Bug Fix -
Feature
Please provide link to gitlab issue or ADR(Architecture Decision Record)
Does this introduce a change in the core logic?
- [YES]
Does this introduce a change in the cloud provider implementation, if so which cloud?
-
AWS -
Azure -
Google Cloud -
IBM
Does this introduce a breaking change?
- [NO]
What is the current behavior?
We can't searching in different custom namespaces
What is the new/expected behavior?
We can searching in different custom namespaces
Have you added/updated Unit Tests and Integration Tests?
Added Unit and Integration tests
Any other useful information
Before merging this MR we should merge MRs with constants before, according to comment !653 (comment 316947)
Edited by Pavel Barzou