Skip to content

Commit a6fee2f

Browse files
vinokurigclaude
andauthored
refactor: remove user profile API and rename Profile store to Name (#1587)
Remove unused user profile backend endpoints and rename User.Profile store to User.Name to reflect that it only manages the username. Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent c88c858 commit a6fee2f

37 files changed

Lines changed: 151 additions & 515 deletions

File tree

.deps/prod.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@
133133
| `get-intrinsic@1.3.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/get-intrinsic/1.3.1) |
134134
| `get-proto@1.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/get-proto/1.0.1) |
135135
| `gopd@1.2.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/gopd/1.2.0) |
136-
| `gravatar-url@4.0.1` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/gravatar-url/4.0.1) |
137136
| `has-symbols@1.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/has-symbols/1.1.0) |
138137
| `hash-base@3.1.0` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hash-base/3.1.0) |
139138
| `hasown@2.0.2` | MIT | [clearlydefined](https://clearlydefined.io/definitions/npm/npmjs/-/hasown/2.0.2) |

packages/common/src/dto/api/index.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,6 @@ export interface IPluginRegistry {
208208
openVSXURL?: string;
209209
}
210210

211-
export interface IUserProfile {
212-
email: string;
213-
username: string;
214-
}
215211
export interface IWorkspacePreferences {
216212
'skip-authorisation': GitProvider[];
217213
'trusted-sources'?: TrustedSources;

packages/dashboard-backend/src/__tests__/route-registration.spec.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,6 @@ describe('Route Registration Integration Tests', () => {
182182
expect(res.statusCode).toBeLessThan(500);
183183
});
184184

185-
it('should not break existing user-profile route', async () => {
186-
const res = await app.inject().get(`${baseApiPath}/userprofile/${namespace}`);
187-
188-
expect(res.statusCode).not.toBe(404);
189-
});
190-
191185
it('should preserve existing devworkspaces routes', async () => {
192186
const routes = app.printRoutes();
193187

packages/dashboard-backend/src/app.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import { registerPodmanLoginRoute } from '@/routes/api/podmanLogin';
4747
import { registerPodsRoutes } from '@/routes/api/pods';
4848
import { registerServerConfigRoute } from '@/routes/api/serverConfig';
4949
import { registerSShKeysRoutes } from '@/routes/api/sshKeys';
50-
import { registerUserProfileRoute } from '@/routes/api/userProfile';
5150
import { registerWebsocket } from '@/routes/api/websocket';
5251
import { registerWorkspacePreferencesRoute } from '@/routes/api/workspacePreferences';
5352
import { registerFactoryAcceptanceRedirect } from '@/routes/factoryAcceptanceRedirect';
@@ -122,8 +121,6 @@ export default async function buildApp(server: FastifyInstance): Promise<unknown
122121

123122
registerServerConfigRoute(server),
124123

125-
registerUserProfileRoute(server),
126-
127124
registerGitBranchesRoute(server),
128125

129126
registerDataResolverRoute(server),

packages/dashboard-backend/src/devworkspaceClient/__mocks__/index.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import {
2929
IPodApi,
3030
IServerConfigApi,
3131
IShhKeysApi,
32-
IUserProfileApi,
3332
IWorkspacePreferencesApi,
3433
} from '@/devworkspaceClient/types';
3534

@@ -54,9 +53,6 @@ export class DevWorkspaceClient implements IDevWorkspaceClient {
5453
get kubeConfigApi(): IKubeConfigApi {
5554
throw new Error('Method not implemented.');
5655
}
57-
get userProfileApi(): IUserProfileApi {
58-
throw new Error('Method not implemented.');
59-
}
6056
get logsApi(): ILogsApi {
6157
throw new Error('Method not implemented.');
6258
}

packages/dashboard-backend/src/devworkspaceClient/__tests__/index.spec.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import { LogsApiService } from '@/devworkspaceClient/services/logsApi';
2626
import { PodApiService } from '@/devworkspaceClient/services/podApi';
2727
import { ServerConfigApiService } from '@/devworkspaceClient/services/serverConfigApi';
2828
import { SshKeysService } from '@/devworkspaceClient/services/sshKeysApi';
29-
import { UserProfileApiService } from '@/devworkspaceClient/services/userProfileApi';
3029

3130
jest.mock('@/devworkspaceClient/services/devWorkspaceApi.ts');
3231

@@ -54,7 +53,6 @@ describe('DevWorkspace client', () => {
5453
expect(client.logsApi).toBeInstanceOf(LogsApiService);
5554
expect(client.podApi).toBeInstanceOf(PodApiService);
5655
expect(client.serverConfigApi).toBeInstanceOf(ServerConfigApiService);
57-
expect(client.userProfileApi).toBeInstanceOf(UserProfileApiService);
5856
expect(client.gitConfigApi).toBeInstanceOf(GitConfigApiService);
5957
expect(client.gettingStartedSampleApi).toBeInstanceOf(GettingStartedSamplesApiService);
6058
expect(client.sshKeysApi).toBeInstanceOf(SshKeysService);

packages/dashboard-backend/src/devworkspaceClient/index.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import { PodApiService } from '@/devworkspaceClient/services/podApi';
3030
import { PodmanApiService } from '@/devworkspaceClient/services/podmanApi';
3131
import { ServerConfigApiService } from '@/devworkspaceClient/services/serverConfigApi';
3232
import { SshKeysService } from '@/devworkspaceClient/services/sshKeysApi';
33-
import { UserProfileApiService } from '@/devworkspaceClient/services/userProfileApi';
3433
import { WorkspacePreferencesApiService } from '@/devworkspaceClient/services/workspacePreferencesApi';
3534
import {
3635
IAiProviderKeyApi,
@@ -52,7 +51,6 @@ import {
5251
IPodmanApi,
5352
IServerConfigApi,
5453
IShhKeysApi,
55-
IUserProfileApi,
5654
IWorkspacePreferencesApi,
5755
} from '@/devworkspaceClient/types';
5856

@@ -97,10 +95,6 @@ export class DevWorkspaceClient implements IDevWorkspaceClient {
9795
return new PodmanApiService(this.kubeConfig);
9896
}
9997

100-
get userProfileApi(): IUserProfileApi {
101-
return new UserProfileApiService(this.kubeConfig);
102-
}
103-
10498
get logsApi(): ILogsApi {
10599
return new LogsApiService(this.kubeConfig);
106100
}

packages/dashboard-backend/src/devworkspaceClient/services/__tests__/userProfileApi.spec.ts

Lines changed: 0 additions & 64 deletions
This file was deleted.

packages/dashboard-backend/src/devworkspaceClient/services/userProfileApi.ts

Lines changed: 0 additions & 51 deletions
This file was deleted.

packages/dashboard-backend/src/devworkspaceClient/types/index.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -449,13 +449,6 @@ export interface IPodmanApi {
449449
podmanLogin(namespace: string, devworkspaceId: string): Promise<void>;
450450
}
451451

452-
export interface IUserProfileApi {
453-
/**
454-
* Returns user profile object that contains username and email.
455-
*/
456-
getUserProfile(namespace: string): Promise<api.IUserProfile | undefined>;
457-
}
458-
459452
export interface IWorkspacePreferencesApi {
460453
/**
461454
* Returns workspace preferences object that contains skip-authorisation info.
@@ -522,7 +515,6 @@ export interface IDevWorkspaceClient {
522515
personalAccessTokenApi: IPersonalAccessTokenApi;
523516
podApi: IPodApi;
524517
serverConfigApi: IServerConfigApi;
525-
userProfileApi: IUserProfileApi;
526518
gitConfigApi: IGitConfigApi;
527519
gettingStartedSampleApi: IGettingStartedSampleApi;
528520
airGapSampleApi: IAirGapSampleApi;

0 commit comments

Comments
 (0)