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

Method Run

internal/cmd/sheets_table.go:216–287  ·  view source on GitHub ↗
(ctx context.Context, flags *RootFlags)

Source from the content-addressed store, hash-verified

214}
215
216func (c *SheetsTableDeleteCmd) Run(ctx context.Context, flags *RootFlags) error {
217 u := ui.FromContext(ctx)
218 spreadsheetID := normalizeGoogleID(strings.TrimSpace(c.SpreadsheetID))
219 in := strings.TrimSpace(c.TableID)
220 if spreadsheetID == "" {
221 return usage("empty spreadsheetId")
222 }
223 if in == "" {
224 return usage("empty tableId")
225 }
226
227 if dryRunErr := dryRunExit(ctx, flags, "sheets.table.delete", map[string]any{
228 "spreadsheet_id": spreadsheetID,
229 "table_id_or_name": in,
230 "discard_data": c.DiscardData,
231 "deletes_table_contents": true,
232 }); dryRunErr != nil {
233 return dryRunErr
234 }
235
236 if !c.DiscardData {
237 return usage("sheets table delete also deletes every cell in the table range; pass --discard-data to confirm intentional data deletion")
238 }
239
240 account, err := requireAccount(flags)
241 if err != nil {
242 return err
243 }
244 svc, err := sheetsService(ctx, account)
245 if err != nil {
246 return err
247 }
248
249 tables, err := fetchSpreadsheetTables(ctx, svc, spreadsheetID)
250 if err != nil {
251 return err
252 }
253 table, found, err := resolveSheetsTable(in, tables)
254 if err != nil {
255 return err
256 }
257 if !found {
258 return usagef("unknown table %q", in)
259 }
260
261 if err := confirmDestructiveChecked(ctx, flagsWithoutDryRun(flags), "delete table "+table.Name); err != nil {
262 return err
263 }
264
265 req := &sheets.BatchUpdateSpreadsheetRequest{
266 Requests: []*sheets.Request{
267 {
268 DeleteTable: &sheets.DeleteTableRequest{TableId: table.TableID},
269 },
270 },
271 }
272 if _, err := svc.Spreadsheets.BatchUpdate(spreadsheetID, req).Do(); err != nil {
273 return err

Callers

nothing calls this directly

Calls 15

FromContextFunction · 0.92
IsJSONFunction · 0.92
WriteJSONFunction · 0.92
normalizeGoogleIDFunction · 0.85
usageFunction · 0.85
dryRunExitFunction · 0.85
requireAccountFunction · 0.85
sheetsServiceFunction · 0.85
fetchSpreadsheetTablesFunction · 0.85
resolveSheetsTableFunction · 0.85
usagefFunction · 0.85

Tested by

no test coverage detected