Skip to content

Commit a8bf7d0

Browse files
committed
codegen: generate SYSTEM_USER
1 parent 96ebeb6 commit a8bf7d0

File tree

12 files changed

+25
-16
lines changed

12 files changed

+25
-16
lines changed

components/server/src/api/user.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ import {
2525
} from "@gitpod/public-api/lib/gitpod/experimental/v1/user_pb";
2626
import { UserAuthentication } from "../user/user-authentication";
2727
import { WorkspaceService } from "../workspace/workspace-service";
28-
import { SYSTEM_USER } from "../authorization/authorizer";
2928
import { validate } from "uuid";
3029
import { log } from "@gitpod/gitpod-protocol/lib/util/logging";
3130
import { StopWorkspacePolicy } from "@gitpod/ws-manager/lib";
31+
import { SYSTEM_USER } from "../authorization/definitions";
3232

3333
@injectable()
3434
export class APIUserService implements ServiceImpl<typeof UserServiceInterface> {

components/server/src/authorization/authorizer.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
ProjectPermission,
1919
Relation,
2020
ResourceType,
21+
SYSTEM_USER,
2122
UserPermission,
2223
WorkspacePermission,
2324
rel,
@@ -48,12 +49,6 @@ export function createInitializingAuthorizer(spiceDbAuthorizer: SpiceDBAuthorize
4849
});
4950
}
5051

51-
/**
52-
* We need to call our internal API with system permissions in some cases.
53-
* As we don't have other ways to represent that (e.g. ServiceAccounts), we use this magic constant to designated it.
54-
*/
55-
export const SYSTEM_USER = "SYSTEM_USER";
56-
5752
export class Authorizer {
5853
constructor(private authorizer: SpiceDBAuthorizer) {}
5954

components/server/src/authorization/caching-spicedb-authorizer.spec.db.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import * as chai from "chai";
1111
import { Container } from "inversify";
1212
import "mocha";
1313
import { createTestContainer } from "../test/service-testing-container-module";
14-
import { Authorizer, SYSTEM_USER } from "./authorizer";
14+
import { Authorizer } from "./authorizer";
1515
import { OrganizationService } from "../orgs/organization-service";
1616
import { WorkspaceService } from "../workspace/workspace-service";
1717
import { UserService } from "../user/user-service";
1818
import { ZedTokenCache } from "./caching-spicedb-authorizer";
1919
import { log } from "@gitpod/gitpod-protocol/lib/util/logging";
2020
import { ConfigProvider } from "../workspace/config-provider";
2121
import { runWithContext } from "../util/log-context";
22+
import { SYSTEM_USER } from "./definitions";
2223

2324
const expect = chai.expect;
2425

components/server/src/authorization/definitions.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ import { v1 } from "@authzed/authzed-node";
1010

1111
export const InstallationID = "1";
1212

13+
/**
14+
* We need to call our internal API with system permissions in some cases.
15+
* As we don't have other ways to represent that (e.g. ServiceAccounts), we use this magic constant to designated it.
16+
*/
17+
export const SYSTEM_USER = "SYSTEM_USER";
18+
1319
export type ResourceType =
1420
| UserResourceType
1521
| InstallationResourceType

components/server/src/iam/iam-session-app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { ApplicationError } from "@gitpod/gitpod-protocol/lib/messaging/error";
1717
import { OrganizationService } from "../orgs/organization-service";
1818
import { UserService } from "../user/user-service";
1919
import { BUILTIN_INSTLLATION_ADMIN_USER_ID, TeamDB, UserDB } from "@gitpod/gitpod-db/lib";
20-
import { SYSTEM_USER } from "../authorization/authorizer";
20+
import { SYSTEM_USER } from "../authorization/definitions";
2121

2222
@injectable()
2323
export class IamSessionApp {

components/server/src/jobs/workspace-gc.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { TraceContext } from "@gitpod/gitpod-protocol/lib/util/tracing";
1818
import { Config } from "../config";
1919
import { Job } from "./runner";
2020
import { WorkspaceService } from "../workspace/workspace-service";
21-
import { SYSTEM_USER } from "../authorization/authorizer";
2221
import { StorageClient } from "../storage/storage-client";
22+
import { SYSTEM_USER } from "../authorization/definitions";
2323

2424
/**
2525
* The WorkspaceGarbageCollector has two tasks:

components/server/src/prebuilds/github-app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import { RepoURL } from "../repohost";
4141
import { ApplicationError, ErrorCode } from "@gitpod/gitpod-protocol/lib/messaging/error";
4242
import { UserService } from "../user/user-service";
4343
import { ProjectsService } from "../projects/projects-service";
44-
import { SYSTEM_USER } from "../authorization/authorizer";
44+
import { SYSTEM_USER } from "../authorization/definitions";
4545

4646
/**
4747
* GitHub app urls:

components/server/src/prebuilds/github-enterprise-app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { RepoURL } from "../repohost";
2222
import { UserService } from "../user/user-service";
2323
import { ApplicationError, ErrorCodes } from "@gitpod/gitpod-protocol/lib/messaging/error";
2424
import { ProjectsService } from "../projects/projects-service";
25-
import { SYSTEM_USER } from "../authorization/authorizer";
25+
import { SYSTEM_USER } from "../authorization/definitions";
2626

2727
@injectable()
2828
export class GitHubEnterpriseApp {

components/server/src/projects/projects-service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ import {
2727
import { IAnalyticsWriter } from "@gitpod/gitpod-protocol/lib/analytics";
2828
import { ErrorCodes, ApplicationError } from "@gitpod/gitpod-protocol/lib/messaging/error";
2929
import { URL } from "url";
30-
import { Authorizer, SYSTEM_USER } from "../authorization/authorizer";
30+
import { Authorizer } from "../authorization/authorizer";
3131
import { TransactionalContext } from "@gitpod/gitpod-db/lib/typeorm/transactional-db-impl";
3232
import { ScmService } from "./scm-service";
3333
import { daysBefore, isDateSmaller } from "@gitpod/gitpod-protocol/lib/util/timeutil";
34+
import { SYSTEM_USER } from "../authorization/definitions";
3435

3536
@injectable()
3637
export class ProjectsService {

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ import {
160160
} from "@gitpod/usage-api/lib/usage/v1/billing.pb";
161161
import { ClientError } from "nice-grpc-common";
162162
import { BillingModes } from "../billing/billing-mode";
163-
import { Authorizer, SYSTEM_USER, isFgaChecksEnabled } from "../authorization/authorizer";
163+
import { Authorizer, isFgaChecksEnabled } from "../authorization/authorizer";
164164
import { OrganizationService } from "../orgs/organization-service";
165165
import { RedisSubscriber } from "../messaging/redis-subscriber";
166166
import { UsageService } from "../orgs/usage-service";
@@ -178,7 +178,7 @@ import {
178178
suggestionFromUserRepo,
179179
} from "./suggested-repos-sorter";
180180
import { TrustedValue } from "@gitpod/gitpod-protocol/lib/util/scrubbing";
181-
import { rel } from "../authorization/definitions";
181+
import { rel, SYSTEM_USER } from "../authorization/definitions";
182182

183183
// shortcut
184184
export const traceWI = (ctx: TraceContext, wi: Omit<LogContext, "userId">) => TraceContext.setOWI(ctx, wi); // userId is already taken care of in WebsocketConnectionManager

0 commit comments

Comments
 (0)