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

Method convertToDatabase

backend/api/v1/database_service.go:985–1019  ·  view source on GitHub ↗
(ctx context.Context, database *store.DatabaseMessage)

Source from the content-addressed store, hash-verified

983}
984
985func (s *DatabaseService) convertToDatabase(ctx context.Context, database *store.DatabaseMessage) (*v1pb.Database, error) {
986 instance, err := s.store.GetInstance(ctx, &store.FindInstanceMessage{
987 Workspace: common.GetWorkspaceIDFromContext(ctx),
988 ResourceID: &database.InstanceID,
989 })
990 if err != nil {
991 return nil, errors.Wrap(err, "failed to find instance")
992 }
993
994 var environment, effectiveEnvironment *string
995 if database.EnvironmentID != nil && *database.EnvironmentID != "" {
996 environment = new(common.FormatEnvironment(*database.EnvironmentID))
997 }
998 if database.EffectiveEnvironmentID != nil && *database.EffectiveEnvironmentID != "" {
999 effectiveEnvironment = new(common.FormatEnvironment(*database.EffectiveEnvironmentID))
1000 }
1001 instanceResource := convertToV1InstanceResource(
1002 instance,
1003 s.licenseService.IsInstanceEffectivelyActivated(ctx, common.GetWorkspaceIDFromContext(ctx), instance),
1004 )
1005 return &v1pb.Database{
1006 Name: common.FormatDatabase(database.InstanceID, database.DatabaseName),
1007 State: convertDeletedToState(database.Deleted),
1008 SuccessfulSyncTime: database.Metadata.GetLastSyncTime(),
1009 Project: common.FormatProject(database.ProjectID),
1010 Environment: environment,
1011 EffectiveEnvironment: effectiveEnvironment,
1012 Release: database.Metadata.GetRelease(),
1013 Labels: database.Metadata.Labels,
1014 InstanceResource: instanceResource,
1015 BackupAvailable: database.Metadata.GetBackupAvailable(),
1016 SyncStatus: convertSyncStatus(database.Metadata.GetSyncStatus()),
1017 SyncError: database.Metadata.GetSyncError(),
1018 }, nil
1019}
1020
1021func convertSyncStatus(status storepb.SyncStatus) v1pb.SyncStatus {
1022 switch status {

Callers 4

GetDatabaseMethod · 0.95
BatchGetDatabasesMethod · 0.95
ListDatabasesMethod · 0.95
UpdateDatabaseMethod · 0.95

Calls 13

FormatDatabaseFunction · 0.92
FormatProjectFunction · 0.92
convertDeletedToStateFunction · 0.85
convertSyncStatusFunction · 0.85
GetInstanceMethod · 0.65
GetReleaseMethod · 0.65
GetLastSyncTimeMethod · 0.45
GetBackupAvailableMethod · 0.45
GetSyncStatusMethod · 0.45

Tested by

no test coverage detected