( ctx context.Context, docsSvc *docs.Service, driveSvc *drive.Service, docID string, target docsReplaceImageTarget, source docsInsertImageSource, )
| 167 | } |
| 168 | |
| 169 | func (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 | |
| 200 | func (c *DocsReplaceImageCmd) replaceImageURL( |
| 201 | ctx context.Context, |
no test coverage detected