diff --git a/client/browser/src/integration/github.test.ts b/client/browser/src/integration/github.test.ts index b2843b0ee654..b344caf39401 100644 --- a/client/browser/src/integration/github.test.ts +++ b/client/browser/src/integration/github.test.ts @@ -52,8 +52,8 @@ describe('GitHub', () => { }) testContext.overrideGraphQL({ - ViewerConfiguration: () => ({ - viewerConfiguration: { + ViewerSettings: () => ({ + viewerSettings: { subjects: [], merged: { contents: '', messages: [] }, }, @@ -158,8 +158,8 @@ describe('GitHub', () => { // extensions: extensionSettings, // } // testContext.overrideGraphQL({ - // ViewerConfiguration: () => ({ - // viewerConfiguration: { + // ViewerSettings: () => ({ + // viewerSettings: { // subjects: [ // { // __typename: 'User', @@ -321,8 +321,8 @@ describe('GitHub', () => { extensions: extensionSettings, } testContext.overrideGraphQL({ - ViewerConfiguration: () => ({ - viewerConfiguration: { + ViewerSettings: () => ({ + viewerSettings: { subjects: [ { __typename: 'User', @@ -643,8 +643,8 @@ describe('GitHub', () => { extensions: extensionSettings, } testContext.overrideGraphQL({ - ViewerConfiguration: () => ({ - viewerConfiguration: { + ViewerSettings: () => ({ + viewerSettings: { subjects: [ { __typename: 'User', diff --git a/client/browser/src/integration/gitlab.test.ts b/client/browser/src/integration/gitlab.test.ts index 9fd6bf87a2a0..d0c8c87d9b05 100644 --- a/client/browser/src/integration/gitlab.test.ts +++ b/client/browser/src/integration/gitlab.test.ts @@ -47,8 +47,8 @@ describe('GitLab', () => { }) testContext.overrideGraphQL({ - ViewerConfiguration: () => ({ - viewerConfiguration: { + ViewerSettings: () => ({ + viewerSettings: { subjects: [], merged: { contents: '', messages: [] }, }, @@ -152,8 +152,8 @@ describe('GitLab', () => { extensions: extensionSettings, } testContext.overrideGraphQL({ - ViewerConfiguration: () => ({ - viewerConfiguration: { + ViewerSettings: () => ({ + viewerSettings: { subjects: [ { __typename: 'User', diff --git a/client/browser/src/shared/platform/settings.ts b/client/browser/src/shared/platform/settings.ts index d2fcc1dd4ac3..a2e957bad782 100644 --- a/client/browser/src/shared/platform/settings.ts +++ b/client/browser/src/shared/platform/settings.ts @@ -14,7 +14,7 @@ import { } from '@sourcegraph/shared/src/settings/settings' import { observeStorageKey, storage } from '../../browser-extension/web-extension-api/storage' -import type { ViewerConfigurationResult } from '../../graphql-operations' +import type { ViewerSettingsResult } from '../../graphql-operations' import { isInPage } from '../context' const inPageClientSettingsKey = 'sourcegraphClientSettings' @@ -35,7 +35,8 @@ function observeLocalStorageKey(key: string, defaultValue: string): Observable Observable = () => { - /** Observable of the JSONC string of the settings. + /** + * Observable of the JSONC string of the settings. * * NOTE: We can't use LocalStorageSubject here because the JSONC string is stored raw in localStorage and LocalStorageSubject also does parsing. * This could be changed, but users already have settings stored, so it would need a migration for little benefit. @@ -95,9 +96,8 @@ export function mergeCascades( } } -// This is a fragment on the DEPRECATED GraphQL API type ConfigurationCascade (not SettingsCascade) for backcompat. -const configurationCascadeFragment = gql` - fragment ConfigurationCascadeFields on ConfigurationCascade { +const settingsCascadeFragment = gql` + fragment SettingsCascadeFields on SettingsCascade { subjects { __typename ...OrgSettingFields @@ -167,42 +167,40 @@ const configurationCascadeFragment = gql` /** * Fetches the settings cascade for the viewer. - * - * TODO(sqs): This uses the DEPRECATED GraphQL Query.viewerConfiguration and ConfigurationCascade for backcompat. */ export function fetchViewerSettings(requestGraphQL: PlatformContext['requestGraphQL']): Observable<{ final: string subjects: SettingsSubject[] }> { return from( - requestGraphQL({ + requestGraphQL({ request: gql` - query ViewerConfiguration { - viewerConfiguration { - ...ConfigurationCascadeFields + query ViewerSettings { + viewerSettings { + ...SettingsCascadeFields } } - ${configurationCascadeFragment} + ${settingsCascadeFragment} `, variables: {}, mightContainPrivateInfo: false, }) ).pipe( map(dataOrThrowErrors), - map(({ viewerConfiguration }) => { - if (!viewerConfiguration) { - throw new Error('fetchViewerSettings: empty viewerConfiguration') + map(({ viewerSettings }) => { + if (!viewerSettings) { + throw new Error('fetchViewerSettings: empty viewerSettings') } - for (const subject of viewerConfiguration.subjects) { + for (const subject of viewerSettings.subjects) { // User/org/global settings cannot be edited from the // browser extension (only client settings can). subject.viewerCanAdminister = false } return { - subjects: viewerConfiguration.subjects, - final: viewerConfiguration.merged.contents, + subjects: viewerSettings.subjects, + final: viewerSettings.merged.contents, } }) ) diff --git a/cmd/frontend/graphqlbackend/default_settings.go b/cmd/frontend/graphqlbackend/default_settings.go index b635dbcfc127..3fbb34a60e64 100644 --- a/cmd/frontend/graphqlbackend/default_settings.go +++ b/cmd/frontend/graphqlbackend/default_settings.go @@ -47,5 +47,3 @@ func (r *defaultSettingsResolver) ViewerCanAdminister(_ context.Context) (bool, func (r *defaultSettingsResolver) SettingsCascade() *settingsCascade { return &settingsCascade{db: r.db, subject: &settingsSubjectResolver{defaultSettings: r}} } - -func (r *defaultSettingsResolver) ConfigurationCascade() *settingsCascade { return r.SettingsCascade() } diff --git a/cmd/frontend/graphqlbackend/graphqlbackend.go b/cmd/frontend/graphqlbackend/graphqlbackend.go index 9256df8bc9ab..c4c0a67376d4 100644 --- a/cmd/frontend/graphqlbackend/graphqlbackend.go +++ b/cmd/frontend/graphqlbackend/graphqlbackend.go @@ -283,7 +283,6 @@ var allowedPrometheusFieldNames = map[[2]string]struct{}{ {"Query", "settingsSubject"}: {}, {"Query", "site"}: {}, {"Query", "user"}: {}, - {"Query", "viewerConfiguration"}: {}, {"Query", "viewerSettings"}: {}, {"RegistryExtensionConnection", "nodes"}: {}, {"Repository", "cloneInProgress"}: {}, diff --git a/cmd/frontend/graphqlbackend/org.go b/cmd/frontend/graphqlbackend/org.go index 6b75dc18fb70..f06db1063c8e 100644 --- a/cmd/frontend/graphqlbackend/org.go +++ b/cmd/frontend/graphqlbackend/org.go @@ -258,8 +258,6 @@ func (o *OrgResolver) SettingsCascade() *settingsCascade { return &settingsCascade{db: o.db, subject: &settingsSubjectResolver{org: o}} } -func (o *OrgResolver) ConfigurationCascade() *settingsCascade { return o.SettingsCascade() } - func (o *OrgResolver) ViewerPendingInvitation(ctx context.Context) (*organizationInvitationResolver, error) { if actor := sgactor.FromContext(ctx); actor.IsAuthenticated() { orgInvitation, err := o.db.OrgInvitations().GetPending(ctx, o.org.ID, actor.UID) diff --git a/cmd/frontend/graphqlbackend/schema.graphql b/cmd/frontend/graphqlbackend/schema.graphql index b14becc583fb..e353350fbca5 100755 --- a/cmd/frontend/graphqlbackend/schema.graphql +++ b/cmd/frontend/graphqlbackend/schema.graphql @@ -1750,10 +1750,6 @@ type Query { """ viewerSettings: SettingsCascade! """ - DEPRECATED - """ - viewerConfiguration: ConfigurationCascade! @deprecated(reason: "use viewerSettings instead") - """ The configuration for clients. """ clientConfiguration: ClientConfigurationDetails! @@ -6323,13 +6319,6 @@ type User implements Node & SettingsSubject & Namespace { """ settingsCascade: SettingsCascade! """ - DEPRECATED - """ - configurationCascade: ConfigurationCascade! - @deprecated( - reason: "Use settingsCascade instead. This field is a deprecated alias for it and will be removed in a future release." - ) - """ The organizations that this user is a member of. """ organizations: OrgConnection! @@ -6860,13 +6849,6 @@ type Org implements Node & SettingsSubject & Namespace { settingsCascade: SettingsCascade! """ DEPRECATED - """ - configurationCascade: ConfigurationCascade! - @deprecated( - reason: "Use settingsCascade instead. This field is a deprecated alias for it and will be removed in a future release." - ) - """ - DEPRECATED A pending invitation for the viewer to join this organization, if any. """ viewerPendingInvitation: OrganizationInvitation @@ -7025,13 +7007,6 @@ type DefaultSettings implements SettingsSubject { All viewers can access this field. """ settingsCascade: SettingsCascade! - """ - DEPRECATED - """ - configurationCascade: ConfigurationCascade! - @deprecated( - reason: "Use settingsCascade instead. This field is a deprecated alias for it and will be removed in a future release." - ) } """ @@ -7089,13 +7064,6 @@ type Site implements SettingsSubject { """ settingsCascade: SettingsCascade! """ - DEPRECATED - """ - configurationCascade: ConfigurationCascade! - @deprecated( - reason: "Use settingsCascade instead. This field is a deprecated alias for it and will be removed in a future release." - ) - """ The URL to the site's settings. """ settingsURL: String @@ -7682,13 +7650,6 @@ interface SettingsSubject { that were merged to produce the final merged settings. """ settingsCascade: SettingsCascade! - """ - DEPRECATED - """ - configurationCascade: ConfigurationCascade! - @deprecated( - reason: "Use settingsCascade instead. This field is a deprecated alias for it and will be removed in a future release." - ) } """ @@ -7712,20 +7673,6 @@ type SettingsCascade { merged: Configuration! @deprecated(reason: "use final instead") } -""" -DEPRECATED: Renamed to SettingsCascade. -""" -type ConfigurationCascade { - """ - DEPRECATED - """ - subjects: [SettingsSubject!]! @deprecated(reason: "use SettingsCascade.subjects instead") - """ - DEPRECATED - """ - merged: Configuration! @deprecated(reason: "use SettingsCascade.final instead") -} - """ Settings is a version of a configuration settings file. """ diff --git a/cmd/frontend/graphqlbackend/settings_cascade.go b/cmd/frontend/graphqlbackend/settings_cascade.go index 0aaabc15649a..f15b93699985 100644 --- a/cmd/frontend/graphqlbackend/settings_cascade.go +++ b/cmd/frontend/graphqlbackend/settings_cascade.go @@ -11,7 +11,7 @@ import ( "github.com/sourcegraph/sourcegraph/internal/trace" ) -// settingsCascade implements the GraphQL type SettingsCascade (and the deprecated type ConfigurationCascade). +// settingsCascade implements the GraphQL type SettingsCascade. // // It resolves settings from multiple sources. When there is overlap between values, they will be // merged in the following cascading order (first is lowest precedence): @@ -66,8 +66,3 @@ func (r *schemaResolver) ViewerSettings(ctx context.Context) (*settingsCascade, } return &settingsCascade{db: r.db, subject: &settingsSubjectResolver{user: user}}, nil } - -// Deprecated: in the GraphQL API -func (r *schemaResolver) ViewerConfiguration(ctx context.Context) (*settingsCascade, error) { - return newSchemaResolver(r.db, r.gitserverClient).ViewerSettings(ctx) -} diff --git a/cmd/frontend/graphqlbackend/settings_subject.go b/cmd/frontend/graphqlbackend/settings_subject.go index 7ffdd28650fc..b7c15520a151 100644 --- a/cmd/frontend/graphqlbackend/settings_subject.go +++ b/cmd/frontend/graphqlbackend/settings_subject.go @@ -200,7 +200,3 @@ func (s *settingsSubjectResolver) SettingsCascade() (*settingsCascade, error) { return nil, errUnknownSettingsSubject } } - -func (s *settingsSubjectResolver) ConfigurationCascade() (*settingsCascade, error) { - return s.SettingsCascade() -} diff --git a/cmd/frontend/graphqlbackend/site.go b/cmd/frontend/graphqlbackend/site.go index 6f1cf94a5b47..e0e13e8865f7 100644 --- a/cmd/frontend/graphqlbackend/site.go +++ b/cmd/frontend/graphqlbackend/site.go @@ -163,8 +163,6 @@ func (r *siteResolver) SettingsCascade() *settingsCascade { return &settingsCascade{db: r.db, subject: &settingsSubjectResolver{site: r}} } -func (r *siteResolver) ConfigurationCascade() *settingsCascade { return r.SettingsCascade() } - func (r *siteResolver) SettingsURL() *string { return strptr("/site-admin/global-settings") } func (r *siteResolver) CanReloadSite(ctx context.Context) bool { diff --git a/cmd/frontend/graphqlbackend/user.go b/cmd/frontend/graphqlbackend/user.go index c18e3cf9e066..a16145de149b 100644 --- a/cmd/frontend/graphqlbackend/user.go +++ b/cmd/frontend/graphqlbackend/user.go @@ -400,8 +400,6 @@ func (r *UserResolver) SettingsCascade() *settingsCascade { return &settingsCascade{db: r.db, subject: &settingsSubjectResolver{user: r}} } -func (r *UserResolver) ConfigurationCascade() *settingsCascade { return r.SettingsCascade() } - func (r *UserResolver) SiteAdmin() (bool, error) { // 🚨 SECURITY: Only the user and admins are allowed to determine if the user is a site admin. if err := auth.CheckSiteAdminOrSameUserFromActor(r.actor, r.db, r.user.ID); err != nil {