diff --git a/apps/console/src/pages/CreatePeoplePage.tsx b/apps/console/src/pages/CreatePeoplePage.tsx
index d75b6021b..1080a975a 100644
--- a/apps/console/src/pages/CreatePeoplePage.tsx
+++ b/apps/console/src/pages/CreatePeoplePage.tsx
@@ -75,7 +75,7 @@ function CreatePeoplePageContent() {
fullName: "",
primaryEmailAddress: "",
additionalEmailAddresses: [] as string[],
- kind: "EMPLOYEE" as "EMPLOYEE" | "CONTRACTOR",
+ kind: "EMPLOYEE" as "EMPLOYEE" | "CONTRACTOR" | "SERVICE_ACCOUNT",
});
const handleFieldChange = (field: keyof typeof formData, value: unknown) => {
@@ -255,6 +255,20 @@ function CreatePeoplePageContent() {
>
Contractor
+
diff --git a/apps/console/src/pages/PeopleListPage.tsx b/apps/console/src/pages/PeopleListPage.tsx
index 7c5b78fb2..ccb2f6611 100644
--- a/apps/console/src/pages/PeopleListPage.tsx
+++ b/apps/console/src/pages/PeopleListPage.tsx
@@ -227,6 +227,8 @@ function PeopleListContent({
? "Employee"
: person?.kind === "CONTRACTOR"
? "Contractor"
+ : person?.kind === "SERVICE_ACCOUNT"
+ ? "Service Account"
: "Vendor"}
+
@@ -305,7 +318,7 @@ function PeopleOverviewPageFallback() {
export default function PeopleOverviewPage() {
const { peopleId } = useParams();
const [queryRef, loadQuery] = useQueryLoader(
- peopleOverviewPageQuery,
+ peopleOverviewPageQuery
);
useEffect(() => {
diff --git a/apps/console/src/pages/__generated__/CreatePeoplePageCreatePeopleMutation.graphql.ts b/apps/console/src/pages/__generated__/CreatePeoplePageCreatePeopleMutation.graphql.ts
index 28ebebcf6..c25300424 100644
--- a/apps/console/src/pages/__generated__/CreatePeoplePageCreatePeopleMutation.graphql.ts
+++ b/apps/console/src/pages/__generated__/CreatePeoplePageCreatePeopleMutation.graphql.ts
@@ -1,5 +1,5 @@
/**
- * @generated SignedSource<>
+ * @generated SignedSource<<6c8122e298c594879d1cd54bf297c11b>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -9,7 +9,7 @@
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
-export type PeopleKind = "CONTRACTOR" | "EMPLOYEE";
+export type PeopleKind = "CONTRACTOR" | "EMPLOYEE" | "SERVICE_ACCOUNT";
export type CreatePeopleInput = {
additionalEmailAddresses?: ReadonlyArray | null | undefined;
fullName: string;
diff --git a/apps/console/src/pages/__generated__/PeopleListPage_peoples.graphql.ts b/apps/console/src/pages/__generated__/PeopleListPage_peoples.graphql.ts
index 63cc8b67f..b2bdbdaf4 100644
--- a/apps/console/src/pages/__generated__/PeopleListPage_peoples.graphql.ts
+++ b/apps/console/src/pages/__generated__/PeopleListPage_peoples.graphql.ts
@@ -1,5 +1,5 @@
/**
- * @generated SignedSource<>
+ * @generated SignedSource<<876cec536b2a9c33f73956901b0b5b1b>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -9,7 +9,7 @@
// @ts-nocheck
import { ReaderFragment } from 'relay-runtime';
-export type PeopleKind = "CONTRACTOR" | "EMPLOYEE";
+export type PeopleKind = "CONTRACTOR" | "EMPLOYEE" | "SERVICE_ACCOUNT";
import { FragmentRefs } from "relay-runtime";
export type PeopleListPage_peoples$data = {
readonly id: string;
diff --git a/apps/console/src/pages/__generated__/PeopleOverviewPageQuery.graphql.ts b/apps/console/src/pages/__generated__/PeopleOverviewPageQuery.graphql.ts
index 459344921..4722bdc9d 100644
--- a/apps/console/src/pages/__generated__/PeopleOverviewPageQuery.graphql.ts
+++ b/apps/console/src/pages/__generated__/PeopleOverviewPageQuery.graphql.ts
@@ -1,5 +1,5 @@
/**
- * @generated SignedSource<<12b9bffcb7d1b32602592f77810dd9cb>>
+ * @generated SignedSource<<4ff94d3e8f2e4c6c0d8c3ad43abee2d6>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -9,7 +9,7 @@
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
-export type PeopleKind = "CONTRACTOR" | "EMPLOYEE";
+export type PeopleKind = "CONTRACTOR" | "EMPLOYEE" | "SERVICE_ACCOUNT";
export type PeopleOverviewPageQuery$variables = {
peopleId: string;
};
diff --git a/apps/console/src/pages/__generated__/PeopleOverviewPageUpdatePeopleMutation.graphql.ts b/apps/console/src/pages/__generated__/PeopleOverviewPageUpdatePeopleMutation.graphql.ts
index ceee20e88..d058abb88 100644
--- a/apps/console/src/pages/__generated__/PeopleOverviewPageUpdatePeopleMutation.graphql.ts
+++ b/apps/console/src/pages/__generated__/PeopleOverviewPageUpdatePeopleMutation.graphql.ts
@@ -1,5 +1,5 @@
/**
- * @generated SignedSource<<6ab9b7473f7ac19f7ed988d416de4ccd>>
+ * @generated SignedSource<<4da12585c00c981fc6f2a6f74d5d3ef6>>
* @lightSyntaxTransform
* @nogrep
*/
@@ -9,7 +9,7 @@
// @ts-nocheck
import { ConcreteRequest } from 'relay-runtime';
-export type PeopleKind = "CONTRACTOR" | "EMPLOYEE";
+export type PeopleKind = "CONTRACTOR" | "EMPLOYEE" | "SERVICE_ACCOUNT";
export type UpdatePeopleInput = {
additionalEmailAddresses?: ReadonlyArray | null | undefined;
expectedVersion: number;
diff --git a/pkg/coredata/migrations/20250316T183600Z.sql b/pkg/coredata/migrations/20250316T183600Z.sql
new file mode 100644
index 000000000..ee7bd88a8
--- /dev/null
+++ b/pkg/coredata/migrations/20250316T183600Z.sql
@@ -0,0 +1 @@
+ALTER TYPE people_kind ADD VALUE 'SERVICE_ACCOUNT';
\ No newline at end of file
diff --git a/pkg/coredata/people_kind.go b/pkg/coredata/people_kind.go
index 40f289173..c9fd54c84 100644
--- a/pkg/coredata/people_kind.go
+++ b/pkg/coredata/people_kind.go
@@ -26,6 +26,7 @@ type (
const (
PeopleKindEmployee PeopleKind = iota
PeopleKindContractor
+ PeopleKindServiceAccount
)
func (ps PeopleKind) MarshalText() ([]byte, error) {
@@ -40,6 +41,8 @@ func (ps *PeopleKind) UnmarshalText(data []byte) error {
*ps = PeopleKindEmployee
case PeopleKindContractor.String():
*ps = PeopleKindContractor
+ case PeopleKindServiceAccount.String():
+ *ps = PeopleKindServiceAccount
default:
return fmt.Errorf("invalid PeopleKind value: %q", val)
}
@@ -55,6 +58,8 @@ func (ts PeopleKind) String() string {
val = "EMPLOYEE"
case PeopleKindContractor:
val = "CONTRACTOR"
+ case PeopleKindServiceAccount:
+ val = "SERVICE_ACCOUNT"
}
return val
diff --git a/pkg/server/api/console/v1/schema.graphql b/pkg/server/api/console/v1/schema.graphql
index acb92daf5..13337c4d8 100644
--- a/pkg/server/api/console/v1/schema.graphql
+++ b/pkg/server/api/console/v1/schema.graphql
@@ -69,6 +69,10 @@ enum PeopleKind
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.PeopleKindContractor"
)
+ SERVICE_ACCOUNT
+ @goEnum(
+ value: "github.com/getprobo/probo/pkg/coredata.PeopleKindServiceAccount"
+ )
}
enum ControlImportance
diff --git a/pkg/server/api/console/v1/schema/schema.go b/pkg/server/api/console/v1/schema/schema.go
index 0cbd3a6de..311fba689 100644
--- a/pkg/server/api/console/v1/schema/schema.go
+++ b/pkg/server/api/console/v1/schema/schema.go
@@ -2151,6 +2151,10 @@ enum PeopleKind
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.PeopleKindContractor"
)
+ SERVICE_ACCOUNT
+ @goEnum(
+ value: "github.com/getprobo/probo/pkg/coredata.PeopleKindServiceAccount"
+ )
}
enum ControlImportance
@@ -19793,12 +19797,14 @@ func (ec *executionContext) marshalNPeopleKind2githubᚗcomᚋgetproboᚋprobo
var (
unmarshalNPeopleKind2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐPeopleKind = map[string]coredata.PeopleKind{
- "EMPLOYEE": coredata.PeopleKindEmployee,
- "CONTRACTOR": coredata.PeopleKindContractor,
+ "EMPLOYEE": coredata.PeopleKindEmployee,
+ "CONTRACTOR": coredata.PeopleKindContractor,
+ "SERVICE_ACCOUNT": coredata.PeopleKindServiceAccount,
}
marshalNPeopleKind2githubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐPeopleKind = map[coredata.PeopleKind]string{
- coredata.PeopleKindEmployee: "EMPLOYEE",
- coredata.PeopleKindContractor: "CONTRACTOR",
+ coredata.PeopleKindEmployee: "EMPLOYEE",
+ coredata.PeopleKindContractor: "CONTRACTOR",
+ coredata.PeopleKindServiceAccount: "SERVICE_ACCOUNT",
}
)
@@ -20891,12 +20897,14 @@ func (ec *executionContext) marshalOPeopleKind2ᚖgithubᚗcomᚋgetproboᚋprob
var (
unmarshalOPeopleKind2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐPeopleKind = map[string]coredata.PeopleKind{
- "EMPLOYEE": coredata.PeopleKindEmployee,
- "CONTRACTOR": coredata.PeopleKindContractor,
+ "EMPLOYEE": coredata.PeopleKindEmployee,
+ "CONTRACTOR": coredata.PeopleKindContractor,
+ "SERVICE_ACCOUNT": coredata.PeopleKindServiceAccount,
}
marshalOPeopleKind2ᚖgithubᚗcomᚋgetproboᚋproboᚋpkgᚋcoredataᚐPeopleKind = map[coredata.PeopleKind]string{
- coredata.PeopleKindEmployee: "EMPLOYEE",
- coredata.PeopleKindContractor: "CONTRACTOR",
+ coredata.PeopleKindEmployee: "EMPLOYEE",
+ coredata.PeopleKindContractor: "CONTRACTOR",
+ coredata.PeopleKindServiceAccount: "SERVICE_ACCOUNT",
}
)