MCPcopy Create free account
hub / github.com/bytebase/bytebase / GetDatabase

Method GetDatabase

backend/api/v1/database_service.go:53–75  ·  view source on GitHub ↗

GetDatabase gets a database.

(ctx context.Context, req *connect.Request[v1pb.GetDatabaseRequest])

Source from the content-addressed store, hash-verified

51
52// GetDatabase gets a database.
53func (s *DatabaseService) GetDatabase(ctx context.Context, req *connect.Request[v1pb.GetDatabaseRequest]) (*connect.Response[v1pb.Database], error) {
54 instanceID, databaseName, err := common.GetInstanceDatabaseID(req.Msg.Name)
55 if err != nil {
56 return nil, connect.NewError(connect.CodeInvalidArgument, errors.Wrapf(err, "failed to parse %q", req.Msg.Name))
57 }
58 databaseMessage, err := s.store.GetDatabase(ctx, &store.FindDatabaseMessage{
59 Workspace: common.GetWorkspaceIDFromContext(ctx),
60 InstanceID: &instanceID,
61 DatabaseName: &databaseName,
62 ShowDeleted: true,
63 })
64 if err != nil {
65 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to get database"))
66 }
67 if databaseMessage == nil {
68 return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("database %q not found", req.Msg.Name))
69 }
70 database, err := s.convertToDatabase(ctx, databaseMessage)
71 if err != nil {
72 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to convert database"))
73 }
74 return connect.NewResponse(database), nil
75}
76
77func (s *DatabaseService) BatchGetDatabases(ctx context.Context, req *connect.Request[v1pb.BatchGetDatabasesRequest]) (*connect.Response[v1pb.BatchGetDatabasesResponse], error) {
78 user, ok := GetUserFromContext(ctx)

Callers

nothing calls this directly

Calls 5

convertToDatabaseMethod · 0.95
GetInstanceDatabaseIDFunction · 0.92
ErrorfMethod · 0.80
GetDatabaseMethod · 0.65

Tested by

no test coverage detected