(ctx context.Context, database *store.DatabaseMessage)
| 983 | } |
| 984 | |
| 985 | func (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 | |
| 1021 | func convertSyncStatus(status storepb.SyncStatus) v1pb.SyncStatus { |
| 1022 | switch status { |
no test coverage detected