MCPcopy Create free account
hub / github.com/openclaw/gogcli / replaceImageFile

Method replaceImageFile

internal/cmd/docs_replace_image.go:169–198  ·  view source on GitHub ↗
(
	ctx context.Context,
	docsSvc *docs.Service,
	driveSvc *drive.Service,
	docID string,
	target docsReplaceImageTarget,
	source docsInsertImageSource,
)

Source from the content-addressed store, hash-verified

167}
168
169func (c *DocsReplaceImageCmd) replaceImageFile(
170 ctx context.Context,
171 docsSvc *docs.Service,
172 driveSvc *drive.Service,
173 docID string,
174 target docsReplaceImageTarget,
175 source docsInsertImageSource,
176) (result docsReplaceImageResult, err error) {
177 uploaded, err := uploadDocsInlineImage(ctx, driveSvc, source.localPath, source.name, source.mimeType, strings.TrimSpace(c.Parent))
178 if err != nil {
179 return result, err
180 }
181 result.uploadedFileID = uploaded.Id
182 result.uploadedFileName = uploaded.Name
183
184 permission, err := shareDocsImagePublicly(ctx, driveSvc, uploaded.Id)
185 if err != nil {
186 return result, fmt.Errorf("share uploaded image publicly: %w", err)
187 }
188 result.permissionID = permission.Id
189 defer func() {
190 result.revoked, err = finishDocsImagePublicShare(ctx, driveSvc, uploaded.Id, permission.Id, err)
191 }()
192
193 result, err = c.replaceImageURL(ctx, docsSvc, docID, target, driveImageDownloadURL(uploaded.Id))
194 result.uploadedFileID = uploaded.Id
195 result.uploadedFileName = uploaded.Name
196 result.permissionID = permission.Id
197 return result, err
198}
199
200func (c *DocsReplaceImageCmd) replaceImageURL(
201 ctx context.Context,

Callers 1

RunMethod · 0.95

Calls 6

replaceImageURLMethod · 0.95
uploadDocsInlineImageFunction · 0.85
shareDocsImagePubliclyFunction · 0.85
driveImageDownloadURLFunction · 0.85
ErrorfMethod · 0.80

Tested by

no test coverage detected