MCPcopy Create free account
hub / github.com/bytebase/bytebase / convertToAPIWorksheetMessage

Function convertToAPIWorksheetMessage

backend/api/v1/worksheet_service.go:495–526  ·  view source on GitHub ↗
(worksheet *store.WorkSheetMessage)

Source from the content-addressed store, hash-verified

493}
494
495func convertToAPIWorksheetMessage(worksheet *store.WorkSheetMessage) *v1pb.Worksheet {
496 databaseParent := ""
497 if worksheet.InstanceID != nil && worksheet.DatabaseName != nil {
498 databaseParent = common.FormatDatabase(*worksheet.InstanceID, *worksheet.DatabaseName)
499 }
500
501 visibility := v1pb.Worksheet_VISIBILITY_UNSPECIFIED
502 switch worksheet.Visibility {
503 case store.ProjectReadWorkSheet:
504 visibility = v1pb.Worksheet_PROJECT_READ
505 case store.ProjectWriteWorkSheet:
506 visibility = v1pb.Worksheet_PROJECT_WRITE
507 case store.PrivateWorkSheet:
508 visibility = v1pb.Worksheet_PRIVATE
509 default:
510 // Keep VISIBILITY_UNSPECIFIED
511 }
512 return &v1pb.Worksheet{
513 Name: common.FormatWorksheet(worksheet.ProjectID, worksheet.ResourceID),
514 Project: common.FormatProject(worksheet.ProjectID),
515 Database: databaseParent,
516 Title: worksheet.Title,
517 Creator: fmt.Sprintf("users/%s", worksheet.Creator),
518 CreateTime: timestamppb.New(worksheet.CreatedAt),
519 UpdateTime: timestamppb.New(worksheet.UpdatedAt),
520 Content: []byte(worksheet.Statement),
521 ContentSize: worksheet.Size,
522 Visibility: visibility,
523 Starred: worksheet.Starred,
524 Folders: worksheet.Folders,
525 }
526}
527
528func convertToStoreWorksheetMessage(project *store.ProjectMessage, database *store.DatabaseMessage, creator string, worksheet *v1pb.Worksheet) (*store.WorkSheetMessage, error) {
529 visibility, err := convertToStoreWorksheetVisibility(worksheet.Visibility)

Callers 4

CreateWorksheetMethod · 0.85
GetWorksheetMethod · 0.85
SearchWorksheetsMethod · 0.85
UpdateWorksheetMethod · 0.85

Calls 3

FormatDatabaseFunction · 0.92
FormatWorksheetFunction · 0.92
FormatProjectFunction · 0.92

Tested by

no test coverage detected