DeleteWorksheet deletes a worksheet.
( ctx context.Context, req *connect.Request[v1pb.DeleteWorksheetRequest], )
| 283 | |
| 284 | // DeleteWorksheet deletes a worksheet. |
| 285 | func (s *WorksheetService) DeleteWorksheet( |
| 286 | ctx context.Context, |
| 287 | req *connect.Request[v1pb.DeleteWorksheetRequest], |
| 288 | ) (*connect.Response[emptypb.Empty], error) { |
| 289 | projectID, worksheetID, err := common.GetProjectIDWorksheetID(req.Msg.Name) |
| 290 | if err != nil { |
| 291 | return nil, connect.NewError(connect.CodeInvalidArgument, err) |
| 292 | } |
| 293 | |
| 294 | worksheet, err := s.findWorksheet(ctx, projectID, worksheetID, false /* loadFull */) |
| 295 | if err != nil { |
| 296 | return nil, err |
| 297 | } |
| 298 | ok, err := s.canWriteWorksheet(ctx, worksheet) |
| 299 | if err != nil { |
| 300 | return nil, connect.NewError(connect.CodeInternal, errors.Errorf("failed to check access with error: %v", err)) |
| 301 | } |
| 302 | if !ok { |
| 303 | return nil, connect.NewError(connect.CodePermissionDenied, errors.Errorf("cannot write worksheet %s", worksheet.Title)) |
| 304 | } |
| 305 | |
| 306 | if err := s.store.DeleteWorkSheet(ctx, worksheet.ResourceID); err != nil { |
| 307 | return nil, connect.NewError(connect.CodeInternal, errors.Errorf("failed to delete worksheet: %v", err)) |
| 308 | } |
| 309 | |
| 310 | return connect.NewResponse(&emptypb.Empty{}), nil |
| 311 | } |
| 312 | |
| 313 | // UpdateWorksheetOrganizer upsert the worksheet organizer. |
| 314 | func (s *WorksheetService) UpdateWorksheetOrganizer( |
nothing calls this directly
no test coverage detected