Add level position to people

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-05-25 14:47:19 -07:00
parent 20cb74675c
commit 9d07d54a4f
12 changed files with 175 additions and 16 deletions

View File

@@ -79,6 +79,7 @@ function NewPeopleViewContent() {
primaryEmailAddress: "", primaryEmailAddress: "",
additionalEmailAddresses: [] as string[], additionalEmailAddresses: [] as string[],
kind: "EMPLOYEE" as "EMPLOYEE" | "CONTRACTOR" | "SERVICE_ACCOUNT", kind: "EMPLOYEE" as "EMPLOYEE" | "CONTRACTOR" | "SERVICE_ACCOUNT",
position: "",
contractStartDate: "", contractStartDate: "",
contractEndDate: "", contractEndDate: "",
}); });
@@ -133,6 +134,7 @@ function NewPeopleViewContent() {
primaryEmailAddress: formData.primaryEmailAddress, primaryEmailAddress: formData.primaryEmailAddress,
additionalEmailAddresses: formData.additionalEmailAddresses, additionalEmailAddresses: formData.additionalEmailAddresses,
kind: formData.kind, kind: formData.kind,
position: formData.position,
contractStartDate: formData.contractStartDate ? new Date(formData.contractStartDate).toISOString() : null, contractStartDate: formData.contractStartDate ? new Date(formData.contractStartDate).toISOString() : null,
contractEndDate: formData.contractEndDate ? new Date(formData.contractEndDate).toISOString() : null, contractEndDate: formData.contractEndDate ? new Date(formData.contractEndDate).toISOString() : null,
}, },
@@ -294,6 +296,13 @@ function NewPeopleViewContent() {
</div> </div>
</div> </div>
<EditableField
label="Position"
value={formData.position}
type="text"
onChange={(value) => handleFieldChange("position", value)}
/>
<EditableField <EditableField
label="Contract Start Date" label="Contract Start Date"
value={formData.contractStartDate} value={formData.contractStartDate}

View File

@@ -35,6 +35,7 @@ const peopleViewQuery = graphql`
primaryEmailAddress primaryEmailAddress
additionalEmailAddresses additionalEmailAddresses
kind kind
position
contractStartDate contractStartDate
contractEndDate contractEndDate
createdAt createdAt
@@ -53,6 +54,7 @@ const updatePeopleMutation = graphql`
primaryEmailAddress primaryEmailAddress
additionalEmailAddresses additionalEmailAddresses
kind kind
position
contractStartDate contractStartDate
contractEndDate contractEndDate
updatedAt updatedAt
@@ -104,6 +106,7 @@ function PeopleViewContent({
primaryEmailAddress: data.node.primaryEmailAddress || "", primaryEmailAddress: data.node.primaryEmailAddress || "",
additionalEmailAddresses: data.node.additionalEmailAddresses || [], additionalEmailAddresses: data.node.additionalEmailAddresses || [],
kind: data.node.kind, kind: data.node.kind,
position: data.node.position || "",
contractStartDate: data.node.contractStartDate contractStartDate: data.node.contractStartDate
? new Date(data.node.contractStartDate).toISOString().split('T')[0] ? new Date(data.node.contractStartDate).toISOString().split('T')[0]
: "", : "",
@@ -119,6 +122,7 @@ function PeopleViewContent({
const handleSave = useCallback(() => { const handleSave = useCallback(() => {
const formattedData = { const formattedData = {
...formData, ...formData,
position: formData.position,
contractStartDate: formData.contractStartDate contractStartDate: formData.contractStartDate
? new Date(formData.contractStartDate).toISOString() ? new Date(formData.contractStartDate).toISOString()
: null, : null,
@@ -184,6 +188,7 @@ function PeopleViewContent({
primaryEmailAddress: data.node.primaryEmailAddress || "", primaryEmailAddress: data.node.primaryEmailAddress || "",
additionalEmailAddresses: data.node.additionalEmailAddresses || [], additionalEmailAddresses: data.node.additionalEmailAddresses || [],
kind: data.node.kind, kind: data.node.kind,
position: data.node.position || "",
contractStartDate: data.node.contractStartDate contractStartDate: data.node.contractStartDate
? new Date(data.node.contractStartDate).toISOString().split('T')[0] ? new Date(data.node.contractStartDate).toISOString().split('T')[0]
: "", : "",
@@ -289,6 +294,12 @@ function PeopleViewContent({
</SelectContent> </SelectContent>
</Select> </Select>
</div> </div>
<EditableField
label="Position"
value={formData.position}
type="text"
onChange={(value) => handleFieldChange("position", value)}
/>
<EditableField <EditableField
label="Contract Start Date" label="Contract Start Date"
value={formData.contractStartDate || ""} value={formData.contractStartDate || ""}

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<ca6b9dbed6835dd4a9705fe3a90c4b19>> * @generated SignedSource<<b40eaab1027be24a4646edc68e88ad55>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -17,6 +17,7 @@ export type CreatePeopleInput = {
fullName: string; fullName: string;
kind: PeopleKind; kind: PeopleKind;
organizationId: string; organizationId: string;
position?: string | null | undefined;
primaryEmailAddress: string; primaryEmailAddress: string;
}; };
export type NewPeopleViewCreatePeopleMutation$variables = { export type NewPeopleViewCreatePeopleMutation$variables = {

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<891422de01f5f1b88dc80d294c116c24>> * @generated SignedSource<<37efdd3db937745faa9302820895d0d6>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -22,6 +22,7 @@ export type PeopleViewQuery$data = {
readonly fullName?: string; readonly fullName?: string;
readonly id?: string; readonly id?: string;
readonly kind?: PeopleKind; readonly kind?: PeopleKind;
readonly position?: string | null | undefined;
readonly primaryEmailAddress?: string; readonly primaryEmailAddress?: string;
readonly updatedAt?: string; readonly updatedAt?: string;
}; };
@@ -85,24 +86,31 @@ v7 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "contractStartDate", "name": "position",
"storageKey": null "storageKey": null
}, },
v8 = { v8 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "contractEndDate", "name": "contractStartDate",
"storageKey": null "storageKey": null
}, },
v9 = { v9 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "createdAt", "name": "contractEndDate",
"storageKey": null "storageKey": null
}, },
v10 = { v10 = {
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "createdAt",
"storageKey": null
},
v11 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
@@ -135,7 +143,8 @@ return {
(v7/*: any*/), (v7/*: any*/),
(v8/*: any*/), (v8/*: any*/),
(v9/*: any*/), (v9/*: any*/),
(v10/*: any*/) (v10/*: any*/),
(v11/*: any*/)
], ],
"type": "People", "type": "People",
"abstractKey": null "abstractKey": null
@@ -179,7 +188,8 @@ return {
(v7/*: any*/), (v7/*: any*/),
(v8/*: any*/), (v8/*: any*/),
(v9/*: any*/), (v9/*: any*/),
(v10/*: any*/) (v10/*: any*/),
(v11/*: any*/)
], ],
"type": "People", "type": "People",
"abstractKey": null "abstractKey": null
@@ -190,16 +200,16 @@ return {
] ]
}, },
"params": { "params": {
"cacheID": "1a6ca0fa62d60fd18c26a5e3c868f41f", "cacheID": "1ded40b8c43eb2a616f68f73e57d8e9f",
"id": null, "id": null,
"metadata": {}, "metadata": {},
"name": "PeopleViewQuery", "name": "PeopleViewQuery",
"operationKind": "query", "operationKind": "query",
"text": "query PeopleViewQuery(\n $peopleId: ID!\n) {\n node(id: $peopleId) {\n __typename\n ... on People {\n id\n fullName\n primaryEmailAddress\n additionalEmailAddresses\n kind\n contractStartDate\n contractEndDate\n createdAt\n updatedAt\n }\n id\n }\n}\n" "text": "query PeopleViewQuery(\n $peopleId: ID!\n) {\n node(id: $peopleId) {\n __typename\n ... on People {\n id\n fullName\n primaryEmailAddress\n additionalEmailAddresses\n kind\n position\n contractStartDate\n contractEndDate\n createdAt\n updatedAt\n }\n id\n }\n}\n"
} }
}; };
})(); })();
(node as any).hash = "473792157216aa14cc6e4e3e0393090b"; (node as any).hash = "406c23468d2624429d4174a37ff4abc1";
export default node; export default node;

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<86a82de5c4344cc14a120155388e4a6f>> * @generated SignedSource<<ca7c481401202c2276b4212dfffd54d4>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -17,6 +17,7 @@ export type UpdatePeopleInput = {
fullName?: string | null | undefined; fullName?: string | null | undefined;
id: string; id: string;
kind?: PeopleKind | null | undefined; kind?: PeopleKind | null | undefined;
position?: string | null | undefined;
primaryEmailAddress?: string | null | undefined; primaryEmailAddress?: string | null | undefined;
}; };
export type PeopleViewUpdatePeopleMutation$variables = { export type PeopleViewUpdatePeopleMutation$variables = {
@@ -31,6 +32,7 @@ export type PeopleViewUpdatePeopleMutation$data = {
readonly fullName: string; readonly fullName: string;
readonly id: string; readonly id: string;
readonly kind: PeopleKind; readonly kind: PeopleKind;
readonly position: string | null | undefined;
readonly primaryEmailAddress: string; readonly primaryEmailAddress: string;
readonly updatedAt: string; readonly updatedAt: string;
}; };
@@ -107,6 +109,13 @@ v1 = [
"name": "kind", "name": "kind",
"storageKey": null "storageKey": null
}, },
{
"alias": null,
"args": null,
"kind": "ScalarField",
"name": "position",
"storageKey": null
},
{ {
"alias": null, "alias": null,
"args": null, "args": null,
@@ -153,16 +162,16 @@ return {
"selections": (v1/*: any*/) "selections": (v1/*: any*/)
}, },
"params": { "params": {
"cacheID": "398ebbc7659400cbc5d0a750ee7e66b5", "cacheID": "d3bc10093e65e1a612f22687ee2fffed",
"id": null, "id": null,
"metadata": {}, "metadata": {},
"name": "PeopleViewUpdatePeopleMutation", "name": "PeopleViewUpdatePeopleMutation",
"operationKind": "mutation", "operationKind": "mutation",
"text": "mutation PeopleViewUpdatePeopleMutation(\n $input: UpdatePeopleInput!\n) {\n updatePeople(input: $input) {\n people {\n id\n fullName\n primaryEmailAddress\n additionalEmailAddresses\n kind\n contractStartDate\n contractEndDate\n updatedAt\n }\n }\n}\n" "text": "mutation PeopleViewUpdatePeopleMutation(\n $input: UpdatePeopleInput!\n) {\n updatePeople(input: $input) {\n people {\n id\n fullName\n primaryEmailAddress\n additionalEmailAddresses\n kind\n position\n contractStartDate\n contractEndDate\n updatedAt\n }\n }\n}\n"
} }
}; };
})(); })();
(node as any).hash = "686c8546329ae29bd2880b0b1da9f20c"; (node as any).hash = "af9cd62a7e73738d72e3ab9ad5ecdc10";
export default node; export default node;

View File

@@ -36,6 +36,7 @@ type (
FullName string `db:"full_name"` FullName string `db:"full_name"`
PrimaryEmailAddress string `db:"primary_email_address"` PrimaryEmailAddress string `db:"primary_email_address"`
AdditionalEmailAddresses []string `db:"additional_email_addresses"` AdditionalEmailAddresses []string `db:"additional_email_addresses"`
Position *string `db:"position"`
ContractStartDate *time.Time `db:"contract_start_date"` ContractStartDate *time.Time `db:"contract_start_date"`
ContractEndDate *time.Time `db:"contract_end_date"` ContractEndDate *time.Time `db:"contract_end_date"`
CreatedAt time.Time `db:"created_at"` CreatedAt time.Time `db:"created_at"`
@@ -79,6 +80,7 @@ SELECT
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,
@@ -126,6 +128,7 @@ func (p *People) LoadByEmail(
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,
@@ -177,6 +180,7 @@ SELECT
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,
@@ -229,6 +233,7 @@ INSERT INTO
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,
@@ -243,6 +248,7 @@ VALUES (
@full_name, @full_name,
@primary_email_address, @primary_email_address,
@additional_email_addresses, @additional_email_addresses,
@position,
@contract_start_date, @contract_start_date,
@contract_end_date, @contract_end_date,
@created_at, @created_at,
@@ -259,6 +265,7 @@ VALUES (
"full_name": p.FullName, "full_name": p.FullName,
"primary_email_address": p.PrimaryEmailAddress, "primary_email_address": p.PrimaryEmailAddress,
"additional_email_addresses": p.AdditionalEmailAddresses, "additional_email_addresses": p.AdditionalEmailAddresses,
"position": p.Position,
"contract_start_date": p.ContractStartDate, "contract_start_date": p.ContractStartDate,
"contract_end_date": p.ContractEndDate, "contract_end_date": p.ContractEndDate,
"created_at": p.CreatedAt, "created_at": p.CreatedAt,
@@ -302,6 +309,7 @@ SELECT
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,
@@ -347,6 +355,7 @@ UPDATE peoples SET
primary_email_address = @primary_email_address, primary_email_address = @primary_email_address,
additional_email_addresses = @additional_email_addresses, additional_email_addresses = @additional_email_addresses,
kind = @kind, kind = @kind,
position = @position,
contract_start_date = @contract_start_date, contract_start_date = @contract_start_date,
contract_end_date = @contract_end_date, contract_end_date = @contract_end_date,
updated_at = @updated_at updated_at = @updated_at
@@ -362,6 +371,7 @@ WHERE %s
"primary_email_address": p.PrimaryEmailAddress, "primary_email_address": p.PrimaryEmailAddress,
"additional_email_addresses": p.AdditionalEmailAddresses, "additional_email_addresses": p.AdditionalEmailAddresses,
"kind": p.Kind, "kind": p.Kind,
"position": p.Position,
"contract_start_date": p.ContractStartDate, "contract_start_date": p.ContractStartDate,
"contract_end_date": p.ContractEndDate, "contract_end_date": p.ContractEndDate,
"updated_at": p.UpdatedAt, "updated_at": p.UpdatedAt,
@@ -401,6 +411,7 @@ SELECT
full_name, full_name,
primary_email_address, primary_email_address,
additional_email_addresses, additional_email_addresses,
position,
contract_start_date, contract_start_date,
contract_end_date, contract_end_date,
created_at, created_at,

View File

@@ -37,6 +37,7 @@ type (
FullName *string FullName *string
PrimaryEmailAddress *string PrimaryEmailAddress *string
AdditionalEmailAddresses *[]string AdditionalEmailAddresses *[]string
Position **string
ContractStartDate **time.Time ContractStartDate **time.Time
ContractEndDate **time.Time ContractEndDate **time.Time
} }
@@ -48,6 +49,7 @@ type (
PrimaryEmailAddress string PrimaryEmailAddress string
AdditionalEmailAddresses []string AdditionalEmailAddresses []string
Kind coredata.PeopleKind Kind coredata.PeopleKind
Position *string
ContractStartDate *time.Time ContractStartDate *time.Time
ContractEndDate *time.Time ContractEndDate *time.Time
} }
@@ -153,6 +155,10 @@ func (s PeopleService) Update(
people.AdditionalEmailAddresses = *req.AdditionalEmailAddresses people.AdditionalEmailAddresses = *req.AdditionalEmailAddresses
} }
if req.Position != nil {
people.Position = *req.Position
}
if req.ContractStartDate != nil { if req.ContractStartDate != nil {
people.ContractStartDate = *req.ContractStartDate people.ContractStartDate = *req.ContractStartDate
} }
@@ -200,6 +206,7 @@ func (s PeopleService) Create(
PrimaryEmailAddress: req.PrimaryEmailAddress, PrimaryEmailAddress: req.PrimaryEmailAddress,
AdditionalEmailAddresses: req.AdditionalEmailAddresses, AdditionalEmailAddresses: req.AdditionalEmailAddresses,
UserID: req.UserID, UserID: req.UserID,
Position: req.Position,
ContractStartDate: req.ContractStartDate, ContractStartDate: req.ContractStartDate,
ContractEndDate: req.ContractEndDate, ContractEndDate: req.ContractEndDate,
CreatedAt: now, CreatedAt: now,

View File

@@ -529,6 +529,7 @@ type People implements Node {
primaryEmailAddress: String! primaryEmailAddress: String!
additionalEmailAddresses: [String!]! additionalEmailAddresses: [String!]!
kind: PeopleKind! kind: PeopleKind!
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
createdAt: Datetime! createdAt: Datetime!
@@ -1154,6 +1155,7 @@ input CreatePeopleInput {
primaryEmailAddress: String! primaryEmailAddress: String!
additionalEmailAddresses: [String!] additionalEmailAddresses: [String!]
kind: PeopleKind! kind: PeopleKind!
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
} }
@@ -1164,6 +1166,7 @@ input UpdatePeopleInput {
primaryEmailAddress: String primaryEmailAddress: String
additionalEmailAddresses: [String!] additionalEmailAddresses: [String!]
kind: PeopleKind kind: PeopleKind
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
} }

View File

@@ -425,6 +425,7 @@ type ComplexityRoot struct {
FullName func(childComplexity int) int FullName func(childComplexity int) int
ID func(childComplexity int) int ID func(childComplexity int) int
Kind func(childComplexity int) int Kind func(childComplexity int) int
Position func(childComplexity int) int
PrimaryEmailAddress func(childComplexity int) int PrimaryEmailAddress func(childComplexity int) int
UpdatedAt func(childComplexity int) int UpdatedAt func(childComplexity int) int
} }
@@ -2595,6 +2596,13 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin
return e.complexity.People.Kind(childComplexity), true return e.complexity.People.Kind(childComplexity), true
case "People.position":
if e.complexity.People.Position == nil {
break
}
return e.complexity.People.Position(childComplexity), true
case "People.primaryEmailAddress": case "People.primaryEmailAddress":
if e.complexity.People.PrimaryEmailAddress == nil { if e.complexity.People.PrimaryEmailAddress == nil {
break break
@@ -4580,6 +4588,7 @@ type People implements Node {
primaryEmailAddress: String! primaryEmailAddress: String!
additionalEmailAddresses: [String!]! additionalEmailAddresses: [String!]!
kind: PeopleKind! kind: PeopleKind!
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
createdAt: Datetime! createdAt: Datetime!
@@ -5205,6 +5214,7 @@ input CreatePeopleInput {
primaryEmailAddress: String! primaryEmailAddress: String!
additionalEmailAddresses: [String!] additionalEmailAddresses: [String!]
kind: PeopleKind! kind: PeopleKind!
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
} }
@@ -5215,6 +5225,7 @@ input UpdatePeopleInput {
primaryEmailAddress: String primaryEmailAddress: String
additionalEmailAddresses: [String!] additionalEmailAddresses: [String!]
kind: PeopleKind kind: PeopleKind
position: String
contractStartDate: Datetime contractStartDate: Datetime
contractEndDate: Datetime contractEndDate: Datetime
} }
@@ -19540,6 +19551,47 @@ func (ec *executionContext) fieldContext_People_kind(_ context.Context, field gr
return fc, nil return fc, nil
} }
func (ec *executionContext) _People_position(ctx context.Context, field graphql.CollectedField, obj *types.People) (ret graphql.Marshaler) {
fc, err := ec.fieldContext_People_position(ctx, field)
if err != nil {
return graphql.Null
}
ctx = graphql.WithFieldContext(ctx, fc)
defer func() {
if r := recover(); r != nil {
ec.Error(ctx, ec.Recover(ctx, r))
ret = graphql.Null
}
}()
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) {
ctx = rctx // use context from middleware stack in children
return obj.Position, nil
})
if err != nil {
ec.Error(ctx, err)
return graphql.Null
}
if resTmp == nil {
return graphql.Null
}
res := resTmp.(*string)
fc.Result = res
return ec.marshalOString2ᚖstring(ctx, field.Selections, res)
}
func (ec *executionContext) fieldContext_People_position(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) {
fc = &graphql.FieldContext{
Object: "People",
Field: field,
IsMethod: false,
IsResolver: false,
Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) {
return nil, errors.New("field of type String does not have child fields")
},
}
return fc, nil
}
func (ec *executionContext) _People_contractStartDate(ctx context.Context, field graphql.CollectedField, obj *types.People) (ret graphql.Marshaler) { func (ec *executionContext) _People_contractStartDate(ctx context.Context, field graphql.CollectedField, obj *types.People) (ret graphql.Marshaler) {
fc, err := ec.fieldContext_People_contractStartDate(ctx, field) fc, err := ec.fieldContext_People_contractStartDate(ctx, field)
if err != nil { if err != nil {
@@ -19907,6 +19959,8 @@ func (ec *executionContext) fieldContext_PeopleEdge_node(_ context.Context, fiel
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -20144,6 +20198,8 @@ func (ec *executionContext) fieldContext_Policy_owner(_ context.Context, field g
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -21050,6 +21106,8 @@ func (ec *executionContext) fieldContext_PolicyVersion_publishedBy(_ context.Con
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -21615,6 +21673,8 @@ func (ec *executionContext) fieldContext_PolicyVersionSignature_signedBy(_ conte
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -21764,6 +21824,8 @@ func (ec *executionContext) fieldContext_PolicyVersionSignature_requestedBy(_ co
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -23169,6 +23231,8 @@ func (ec *executionContext) fieldContext_Risk_owner(_ context.Context, field gra
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -24156,6 +24220,8 @@ func (ec *executionContext) fieldContext_Task_assignedTo(_ context.Context, fiel
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -24994,6 +25060,8 @@ func (ec *executionContext) fieldContext_UpdatePeoplePayload_people(_ context.Co
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -25799,6 +25867,8 @@ func (ec *executionContext) fieldContext_User_people(ctx context.Context, field
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -26402,6 +26472,8 @@ func (ec *executionContext) fieldContext_Vendor_businessOwner(_ context.Context,
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -26463,6 +26535,8 @@ func (ec *executionContext) fieldContext_Vendor_securityOwner(_ context.Context,
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -28130,6 +28204,8 @@ func (ec *executionContext) fieldContext_VendorRiskAssessment_assessedBy(_ conte
return ec.fieldContext_People_additionalEmailAddresses(ctx, field) return ec.fieldContext_People_additionalEmailAddresses(ctx, field)
case "kind": case "kind":
return ec.fieldContext_People_kind(ctx, field) return ec.fieldContext_People_kind(ctx, field)
case "position":
return ec.fieldContext_People_position(ctx, field)
case "contractStartDate": case "contractStartDate":
return ec.fieldContext_People_contractStartDate(ctx, field) return ec.fieldContext_People_contractStartDate(ctx, field)
case "contractEndDate": case "contractEndDate":
@@ -31143,7 +31219,7 @@ func (ec *executionContext) unmarshalInputCreatePeopleInput(ctx context.Context,
asMap[k] = v asMap[k] = v
} }
fieldsInOrder := [...]string{"organizationId", "fullName", "primaryEmailAddress", "additionalEmailAddresses", "kind", "contractStartDate", "contractEndDate"} fieldsInOrder := [...]string{"organizationId", "fullName", "primaryEmailAddress", "additionalEmailAddresses", "kind", "position", "contractStartDate", "contractEndDate"}
for _, k := range fieldsInOrder { for _, k := range fieldsInOrder {
v, ok := asMap[k] v, ok := asMap[k]
if !ok { if !ok {
@@ -31185,6 +31261,13 @@ func (ec *executionContext) unmarshalInputCreatePeopleInput(ctx context.Context,
return it, err return it, err
} }
it.Kind = data it.Kind = data
case "position":
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("position"))
data, err := ec.unmarshalOString2ᚖstring(ctx, v)
if err != nil {
return it, err
}
it.Position = data
case "contractStartDate": case "contractStartDate":
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("contractStartDate")) ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("contractStartDate"))
data, err := ec.unmarshalODatetime2ᚖtimeᚐTime(ctx, v) data, err := ec.unmarshalODatetime2ᚖtimeᚐTime(ctx, v)
@@ -32979,7 +33062,7 @@ func (ec *executionContext) unmarshalInputUpdatePeopleInput(ctx context.Context,
asMap[k] = v asMap[k] = v
} }
fieldsInOrder := [...]string{"id", "fullName", "primaryEmailAddress", "additionalEmailAddresses", "kind", "contractStartDate", "contractEndDate"} fieldsInOrder := [...]string{"id", "fullName", "primaryEmailAddress", "additionalEmailAddresses", "kind", "position", "contractStartDate", "contractEndDate"}
for _, k := range fieldsInOrder { for _, k := range fieldsInOrder {
v, ok := asMap[k] v, ok := asMap[k]
if !ok { if !ok {
@@ -33021,6 +33104,13 @@ func (ec *executionContext) unmarshalInputUpdatePeopleInput(ctx context.Context,
return it, err return it, err
} }
it.Kind = data it.Kind = data
case "position":
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("position"))
data, err := ec.unmarshalOString2ᚖstring(ctx, v)
if err != nil {
return it, err
}
it.Position = data
case "contractStartDate": case "contractStartDate":
ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("contractStartDate")) ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("contractStartDate"))
data, err := ec.unmarshalODatetime2ᚖtimeᚐTime(ctx, v) data, err := ec.unmarshalODatetime2ᚖtimeᚐTime(ctx, v)
@@ -37445,6 +37535,8 @@ func (ec *executionContext) _People(ctx context.Context, sel ast.SelectionSet, o
if out.Values[i] == graphql.Null { if out.Values[i] == graphql.Null {
out.Invalids++ out.Invalids++
} }
case "position":
out.Values[i] = ec._People_position(ctx, field, obj)
case "contractStartDate": case "contractStartDate":
out.Values[i] = ec._People_contractStartDate(ctx, field, obj) out.Values[i] = ec._People_contractStartDate(ctx, field, obj)
case "contractEndDate": case "contractEndDate":

View File

@@ -50,6 +50,7 @@ func NewPeople(p *coredata.People) *People {
PrimaryEmailAddress: p.PrimaryEmailAddress, PrimaryEmailAddress: p.PrimaryEmailAddress,
AdditionalEmailAddresses: p.AdditionalEmailAddresses, AdditionalEmailAddresses: p.AdditionalEmailAddresses,
Kind: p.Kind, Kind: p.Kind,
Position: p.Position,
ContractStartDate: p.ContractStartDate, ContractStartDate: p.ContractStartDate,
ContractEndDate: p.ContractEndDate, ContractEndDate: p.ContractEndDate,
CreatedAt: p.CreatedAt, CreatedAt: p.CreatedAt,

View File

@@ -164,6 +164,7 @@ type CreatePeopleInput struct {
PrimaryEmailAddress string `json:"primaryEmailAddress"` PrimaryEmailAddress string `json:"primaryEmailAddress"`
AdditionalEmailAddresses []string `json:"additionalEmailAddresses,omitempty"` AdditionalEmailAddresses []string `json:"additionalEmailAddresses,omitempty"`
Kind coredata.PeopleKind `json:"kind"` Kind coredata.PeopleKind `json:"kind"`
Position *string `json:"position,omitempty"`
ContractStartDate *time.Time `json:"contractStartDate,omitempty"` ContractStartDate *time.Time `json:"contractStartDate,omitempty"`
ContractEndDate *time.Time `json:"contractEndDate,omitempty"` ContractEndDate *time.Time `json:"contractEndDate,omitempty"`
} }
@@ -569,6 +570,7 @@ type People struct {
PrimaryEmailAddress string `json:"primaryEmailAddress"` PrimaryEmailAddress string `json:"primaryEmailAddress"`
AdditionalEmailAddresses []string `json:"additionalEmailAddresses"` AdditionalEmailAddresses []string `json:"additionalEmailAddresses"`
Kind coredata.PeopleKind `json:"kind"` Kind coredata.PeopleKind `json:"kind"`
Position *string `json:"position,omitempty"`
ContractStartDate *time.Time `json:"contractStartDate,omitempty"` ContractStartDate *time.Time `json:"contractStartDate,omitempty"`
ContractEndDate *time.Time `json:"contractEndDate,omitempty"` ContractEndDate *time.Time `json:"contractEndDate,omitempty"`
CreatedAt time.Time `json:"createdAt"` CreatedAt time.Time `json:"createdAt"`
@@ -837,6 +839,7 @@ type UpdatePeopleInput struct {
PrimaryEmailAddress *string `json:"primaryEmailAddress,omitempty"` PrimaryEmailAddress *string `json:"primaryEmailAddress,omitempty"`
AdditionalEmailAddresses []string `json:"additionalEmailAddresses,omitempty"` AdditionalEmailAddresses []string `json:"additionalEmailAddresses,omitempty"`
Kind *coredata.PeopleKind `json:"kind,omitempty"` Kind *coredata.PeopleKind `json:"kind,omitempty"`
Position *string `json:"position,omitempty"`
ContractStartDate *time.Time `json:"contractStartDate,omitempty"` ContractStartDate *time.Time `json:"contractStartDate,omitempty"`
ContractEndDate *time.Time `json:"contractEndDate,omitempty"` ContractEndDate *time.Time `json:"contractEndDate,omitempty"`
} }

View File

@@ -424,6 +424,7 @@ func (r *mutationResolver) CreatePeople(ctx context.Context, input types.CreateP
PrimaryEmailAddress: input.PrimaryEmailAddress, PrimaryEmailAddress: input.PrimaryEmailAddress,
AdditionalEmailAddresses: []string{}, AdditionalEmailAddresses: []string{},
Kind: input.Kind, Kind: input.Kind,
Position: input.Position,
ContractStartDate: input.ContractStartDate, ContractStartDate: input.ContractStartDate,
ContractEndDate: input.ContractEndDate, ContractEndDate: input.ContractEndDate,
}) })
@@ -447,6 +448,7 @@ func (r *mutationResolver) UpdatePeople(ctx context.Context, input types.UpdateP
PrimaryEmailAddress: input.PrimaryEmailAddress, PrimaryEmailAddress: input.PrimaryEmailAddress,
AdditionalEmailAddresses: &input.AdditionalEmailAddresses, AdditionalEmailAddresses: &input.AdditionalEmailAddresses,
Kind: input.Kind, Kind: input.Kind,
Position: &input.Position,
ContractStartDate: &input.ContractStartDate, ContractStartDate: &input.ContractStartDate,
ContractEndDate: &input.ContractEndDate, ContractEndDate: &input.ContractEndDate,
}) })