Closed hackerwins closed 2 weeks ago
The changes include updates and enhancements to the Yorkie project, optimizing API documentation and adding features such as a Bulk GET REST API for retrieving multiple documents. Several formatting corrections in YAML files were made, new methods were introduced in admin.proto
and corresponding Go files, and new functionalities were created for handling projects and documents within server files.
File(s) | Change Summary |
---|---|
api/docs/yorkie/v1/resources.openapi.yaml |
Minor formatting, quotation changes, and URL updates. |
api/docs/yorkie/v1/yorkie.openapi.yaml |
Description updates and URLs for server modifications. |
api/yorkie/v1/admin.proto |
Added GetDocuments RPC method along with corresponding request and response message types. |
api/yorkie/v1/v1connect/admin.connect.go |
Introduced GetDocuments method to AdminServiceClient and associated handling mechanisms. |
server/documents/documents.go |
Added GetDocumentSummaries function to return a list of document summaries. |
server/rpc/admin_server.go |
Added GetDocuments function to interact with project and document entities to retrieve documents based on specified keys. |
server/server.go |
Modified DeactivateClient method to use DefaultProject , added DefaultProject and CreateProject methods for handling projects. |
test/helper/helper.go |
Updated TestDocKey function to accept an additional variadic parameter prefix ...int . |
test/integration/restapi_test.go |
Added test functions for REST API interactions related to document retrieval including single, bulk, and listing documents. |
sequenceDiagram
actor User
user ->> AdminService: GetBulkDocumentsRequest
AdminService ->> ProjectManager: RetrieveProject(projectName)
ProjectManager -->> AdminService: Project
AdminService ->> DocumentStore: FetchDocuments(project, documentKeys)
DocumentStore -->> AdminService: List of Documents
AdminService -->> user: GetBulkDocumentsResponse
Objective (Issue #823) | Addressed | Explanation |
---|---|---|
Introduce Bulk GET REST API for retrieving multiple documents (#823) | ✅ | |
Optimize the process of retrieving document information | ✅ | |
Ensure reduced number of API calls | ✅ | |
Implement the described request and response formats | ✅ |
In code where data dances swift, We send requests, responses drift. Bulk documents gather in a line, Streamlined access, so divine! Yorkie's APIs now, robust and clean, In the world of bytes, they reign supreme.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Attention: Patch coverage is 0%
with 31 lines
in your changes missing coverage. Please review.
Project coverage is 50.57%. Comparing base (
4226417
) to head (5a1d1fd
).
Files | Patch % | Lines |
---|---|---|
server/rpc/admin_server.go | 0.00% | 22 Missing :warning: |
server/server.go | 0.00% | 9 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
What this PR does / why we need it:
Add GetDocuments API returning document summaries
Which issue(s) this PR fixes:
Fixes #823
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Additional documentation:
Checklist:
Summary by CodeRabbit
New Features
GetDocuments
RPC method inAdminService
to retrieve multiple documents based on project name and document keys.GetDocumentSummaries
to return a list of document summaries.Bug Fixes
DeactivateClient
method by utilizing the newDefaultProject
method.Refactor
TestDocKey
function signature to accept an additional variadic parameter for enhanced testing flexibility.Tests
restapi_test.go
file.