BatchSyncInstances syncs multiple instances.
(ctx context.Context, req *connect.Request[v1pb.BatchSyncInstancesRequest])
| 763 | |
| 764 | // BatchSyncInstances syncs multiple instances. |
| 765 | func (s *InstanceService) BatchSyncInstances(ctx context.Context, req *connect.Request[v1pb.BatchSyncInstancesRequest]) (*connect.Response[v1pb.BatchSyncInstancesResponse], error) { |
| 766 | for _, r := range req.Msg.Requests { |
| 767 | instance, err := getInstanceMessage(ctx, s.store, r.Name) |
| 768 | if err != nil { |
| 769 | return nil, err |
| 770 | } |
| 771 | if instance.Deleted { |
| 772 | return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("instance %q has been deleted", r.Name)) |
| 773 | } |
| 774 | |
| 775 | updatedInstance, _, newDatabases, err := s.schemaSyncer.SyncInstance(ctx, instance) |
| 776 | if err != nil { |
| 777 | return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to sync instance")) |
| 778 | } |
| 779 | if r.EnableFullSync { |
| 780 | // Sync all databases in the instance asynchronously. |
| 781 | s.schemaSyncer.SyncAllDatabases(ctx, updatedInstance) |
| 782 | } else { |
| 783 | s.schemaSyncer.SyncDatabasesAsync(newDatabases) |
| 784 | } |
| 785 | } |
| 786 | |
| 787 | return connect.NewResponse(&v1pb.BatchSyncInstancesResponse{}), nil |
| 788 | } |
| 789 | |
| 790 | // BatchUpdateInstances update multiple instances. |
| 791 | func (s *InstanceService) BatchUpdateInstances(ctx context.Context, req *connect.Request[v1pb.BatchUpdateInstancesRequest]) (*connect.Response[v1pb.BatchUpdateInstancesResponse], error) { |
nothing calls this directly
no test coverage detected