Skip to content

feat(consultingapis):update grade chat group APIs(create,get,merge,sync) #26

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 3 additions & 17 deletions consultingapis/dingtalk/v1/dingtalk.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,20 @@ service DingTalkService {

rpc CreateGradeChatGroup(CreateGradeChatGroupRequest) returns (CreateGradeChatGroupResponse) {
option (google.api.http) = {
post: "/dingtalk/chat/v1/create-grade"
post: "/dingtalk/chat/v1/unit/create"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

Update documentation and regenerate code for the endpoint change

The endpoint change from /dingtalk/chat/v1/create-grade to /dingtalk/chat/v1/unit/create requires attention in the following areas:

  • Update the Swagger documentation in docs/swagger/consultingapis/dingtalk/v1/dingtalk.swagger.json to reflect the new endpoint.
  • Regenerate the gRPC Gateway code in consultingapis/dingtalk/v1/dingtalk.pb.gw.go to use the new endpoint.

Additionally:

  • Manually verify any Python code that might be using the old endpoint, as the search encountered an error for Python files.

No occurrences of the old endpoint were found in other potential client code (Go, JavaScript, TypeScript), which is a good sign. However, ensure all documentation and code generation steps are completed to maintain consistency across the project.

Analysis chain

Verify the impact of the endpoint change.

The HTTP endpoint change for CreateGradeChatGroup is consistent with the overall shift towards a unit-based approach. However, please ensure that:

  • Existing integrations and workflows are updated to use the new endpoint.
  • The API documentation is updated to reflect the new endpoint.

Run the following script to verify the usage of the old endpoint:

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if the old endpoint is used in the codebase.

# Test: Search for the old endpoint usage. Expect: No occurrences.
rg --type go --type proto --type yaml --type json $'/dingtalk/chat/v1/create-grade'

Length of output: 203


Script:

#!/bin/bash
# Description: Verify if the old endpoint is used in the codebase.

# Search for the old endpoint in .proto files
echo "Searching for old endpoint in .proto files:"
rg --type-add 'proto:*.proto' --type proto '/dingtalk/chat/v1/create-grade'

# Search for the old endpoint in Go, YAML, and JSON files
echo "Searching for old endpoint in Go, YAML, and JSON files:"
rg --type go --type yaml --type json '/dingtalk/chat/v1/create-grade'

# Search for potential client code using the old endpoint
echo "Searching for potential client code using the old endpoint:"
rg --type go --type python --type javascript --type typescript 'dingtalk/chat/v1/create-grade'

# Use ast-grep to search for string literals containing the old endpoint in various languages
echo "Searching for string literals containing the old endpoint:"
ast-grep --lang javascript --pattern '"$_/dingtalk/chat/v1/create-grade$_"'
ast-grep --lang python --pattern '"$_/dingtalk/chat/v1/create-grade$_"'
ast-grep --lang go --pattern '`$_/dingtalk/chat/v1/create-grade$_`'

Length of output: 1559

body: "body"
};
}

rpc GetGradeChatGroup(GetGradeChatGroupRequest) returns (GetGradeChatGroupResponse) {
option (google.api.http) = {
get: "/dingtalk/chat/v1/get-grade"
};
}

rpc MergeGradeChatGroup(MergeGradeChatGroupRequest) returns (MergeGradeChatGroupResponse) {
option (google.api.http) = {
get: "/dingtalk/chat/v1/merge-grade"
get: "/dingtalk/chat/v1/unit/get"
};
}

rpc SyncGradeChatGroup(SyncGradeChatGroupRequest) returns (SyncGradeChatGroupResponse) {
option (google.api.http) = {
get: "/dingtalk/chat/v1/sync-grade"
get: "/dingtalk/chat/v1/unit/sync"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

Update generated files and documentation for the endpoint change

The endpoint change for SyncGradeChatGroup has not been fully implemented across the codebase. Please address the following issues:

  • Regenerate the Go files (*.pb.go, *.pb.gw.go) to reflect the new endpoint.
  • Update the Swagger documentation in docs/swagger/consultingapis/dingtalk/v1/dingtalk.swagger.json with the new endpoint.
  • Review and update any other documentation or client code that may reference the old endpoint.

These steps are crucial to ensure consistency across the codebase and prevent potential issues with API consumers.

Analysis chain

Verify the impact of the endpoint change.

The HTTP endpoint change for SyncGradeChatGroup is consistent with the overall shift towards a unit-based approach. However, please ensure that:

  • Existing integrations and workflows are updated to use the new endpoint.
  • The API documentation is updated to reflect the new endpoint.

Run the following script to verify the usage of the old endpoint:

Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if the old endpoint is used in the codebase.

# Test: Search for the old endpoint usage. Expect: No occurrences.
rg --type go --type proto --type yaml --type json $'/dingtalk/chat/v1/sync-grade'

Length of output: 110


Script:

#!/bin/bash
# Description: Verify the impact of the endpoint change for SyncGradeChatGroup

# Search for the old endpoint without relying on file type recognition
echo "Searching for old endpoint '/dingtalk/chat/v1/sync-grade':"
rg '/dingtalk/chat/v1/sync-grade'

# Search for references to SyncGradeChatGroup
echo "Searching for references to 'SyncGradeChatGroup':"
rg 'SyncGradeChatGroup'

Length of output: 9804

};
}
}
Expand Down Expand Up @@ -120,14 +114,6 @@ message CreateGradeChatGroupResponse {
string invite_url = 3;
}

message MergeGradeChatGroupRequest {
string unitId = 1;
string grade = 2;
string openConversationId = 3;
}

message MergeGradeChatGroupResponse {}

message GetGradeChatGroupRequest {
string unitId = 1;
string grade = 2;
Expand Down
Loading