GetDatabase gets a database.
(ctx context.Context, req *connect.Request[v1pb.GetDatabaseRequest])
| 51 | |
| 52 | // GetDatabase gets a database. |
| 53 | func (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 | |
| 77 | func (s *DatabaseService) BatchGetDatabases(ctx context.Context, req *connect.Request[v1pb.BatchGetDatabasesRequest]) (*connect.Response[v1pb.BatchGetDatabasesResponse], error) { |
| 78 | user, ok := GetUserFromContext(ctx) |
nothing calls this directly
no test coverage detected