(ctx context.Context, dag *dagql.Server, resultID uint64, _ *dagql.ResultCall, payload json.RawMessage)
| 133 | } |
| 134 | |
| 135 | func (*ClientFilesyncMirror) DecodePersistedObject(ctx context.Context, dag *dagql.Server, resultID uint64, _ *dagql.ResultCall, payload json.RawMessage) (dagql.Typed, error) { |
| 136 | var persisted persistedClientFilesyncMirrorPayload |
| 137 | if err := json.Unmarshal(payload, &persisted); err != nil { |
| 138 | return nil, fmt.Errorf("decode persisted client filesync mirror payload: %w", err) |
| 139 | } |
| 140 | mirror := &ClientFilesyncMirror{ |
| 141 | StableClientID: persisted.StableClientID, |
| 142 | Drive: persisted.Drive, |
| 143 | } |
| 144 | if resultID == 0 { |
| 145 | return mirror, nil |
| 146 | } |
| 147 | |
| 148 | link, err := loadPersistedSnapshotLinkByResultID(ctx, dag, resultID, "client filesync mirror", "snapshot") |
| 149 | if err != nil { |
| 150 | return nil, err |
| 151 | } |
| 152 | query, err := persistedDecodeQuery(dag) |
| 153 | if err != nil { |
| 154 | return nil, err |
| 155 | } |
| 156 | ref, err := query.SnapshotManager().GetMutableBySnapshotID(ctx, link.RefKey, bkcache.NoUpdateLastUsed) |
| 157 | if err != nil { |
| 158 | return nil, fmt.Errorf("reopen persisted client filesync mirror snapshot %q: %w", link.RefKey, err) |
| 159 | } |
| 160 | mirror.snapshot = ref |
| 161 | return mirror, nil |
| 162 | } |
| 163 | |
| 164 | func (m *ClientFilesyncMirror) OnRelease(ctx context.Context) error { |
| 165 | if m == nil { |
nothing calls this directly
no test coverage detected