import { getSheetsService } from '../google/sheets.js';
/**
* Create a new spreadsheet
*/
export async function createSpreadsheet(args: {
title: string;
sheets?: string[];
}): Promise<object> {
const service = getSheetsService();
const result = await service.createSpreadsheet(args.title, args.sheets);
return {
success: true,
spreadsheet_id: result.spreadsheetId,
url: result.url,
message: `Created spreadsheet "${args.title}"`,
};
}
/**
* Add a new sheet to an existing spreadsheet
*/
export async function createSheet(args: {
spreadsheet_id: string;
sheet_name: string;
}): Promise<object> {
const service = getSheetsService();
const result = await service.createSheet(args.spreadsheet_id, args.sheet_name);
return {
success: true,
sheet_id: result.sheetId,
sheet_name: args.sheet_name,
message: `Created sheet "${args.sheet_name}"`,
};
}
/**
* Set header row for a sheet
*/
export async function setHeaders(args: {
spreadsheet_id: string;
sheet_name: string;
headers: string[];
dry_run?: boolean;
}): Promise<object> {
const service = getSheetsService();
const result = await service.setHeaders(
args.spreadsheet_id,
args.sheet_name,
args.headers,
args.dry_run ?? false
);
return {
success: result.success,
message: result.message,
headers: args.headers,
dry_run: args.dry_run ?? false,
};
}
/**
* Append rows to a sheet
*/
export async function appendRows(args: {
spreadsheet_id: string;
sheet_name: string;
rows: string[][];
dry_run?: boolean;
}): Promise<object> {
const service = getSheetsService();
const result = await service.appendRows(
args.spreadsheet_id,
args.sheet_name,
args.rows,
args.dry_run ?? false
);
return {
success: result.success,
message: result.message,
rows_added: result.rowsAdded,
dry_run: args.dry_run ?? false,
};
}