MCPcopy Index your code
hub / github.com/bytebase/bytebase / ListInstanceDatabase

Method ListInstanceDatabase

backend/api/v1/instance_service.go:123–153  ·  view source on GitHub ↗

ListInstanceDatabase list all databases in the instance.

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

Source from the content-addressed store, hash-verified

121
122// ListInstanceDatabase list all databases in the instance.
123func (s *InstanceService) ListInstanceDatabase(ctx context.Context, req *connect.Request[v1pb.ListInstanceDatabaseRequest]) (*connect.Response[v1pb.ListInstanceDatabaseResponse], error) {
124 var instanceMessage *store.InstanceMessage
125
126 if req.Msg.Instance != nil {
127 instanceID, err := common.GetInstanceID(req.Msg.Name)
128 if err != nil {
129 return nil, connect.NewError(connect.CodeInvalidArgument, err)
130 }
131
132 if instanceMessage, err = convertToStoreInstance(instanceID, req.Msg.Instance); err != nil {
133 return nil, connect.NewError(connect.CodeInvalidArgument, err)
134 }
135 } else {
136 instance, err := getInstanceMessage(ctx, s.store, req.Msg.Name)
137 if err != nil {
138 return nil, connect.NewError(connect.CodeInvalidArgument, err)
139 }
140 instanceMessage = instance
141 }
142
143 instanceMeta, err := s.schemaSyncer.GetInstanceMeta(ctx, instanceMessage)
144 if err != nil {
145 return nil, connect.NewError(connect.CodeInternal, err)
146 }
147
148 response := &v1pb.ListInstanceDatabaseResponse{}
149 for _, database := range instanceMeta.Databases {
150 response.Databases = append(response.Databases, database.Name)
151 }
152 return connect.NewResponse(response), nil
153}
154
155// CreateInstance creates an instance.
156func (s *InstanceService) CreateInstance(ctx context.Context, req *connect.Request[v1pb.CreateInstanceRequest]) (*connect.Response[v1pb.Instance], error) {

Callers

nothing calls this directly

Calls 4

GetInstanceIDFunction · 0.92
convertToStoreInstanceFunction · 0.85
getInstanceMessageFunction · 0.85
GetInstanceMetaMethod · 0.80

Tested by

no test coverage detected