Skip to content

Commit 1999e05

Browse files
committed
Add level position to people
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
1 parent 20cb746 commit 1999e05

File tree

12 files changed

+200
-30
lines changed

12 files changed

+200
-30
lines changed

apps/console/src/pages/organizations/people/NewPeopleView.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ function NewPeopleViewContent() {
7979
primaryEmailAddress: "",
8080
additionalEmailAddresses: [] as string[],
8181
kind: "EMPLOYEE" as "EMPLOYEE" | "CONTRACTOR" | "SERVICE_ACCOUNT",
82+
position: "",
8283
contractStartDate: "",
8384
contractEndDate: "",
8485
});
@@ -133,6 +134,7 @@ function NewPeopleViewContent() {
133134
primaryEmailAddress: formData.primaryEmailAddress,
134135
additionalEmailAddresses: formData.additionalEmailAddresses,
135136
kind: formData.kind,
137+
position: formData.position,
136138
contractStartDate: formData.contractStartDate ? new Date(formData.contractStartDate).toISOString() : null,
137139
contractEndDate: formData.contractEndDate ? new Date(formData.contractEndDate).toISOString() : null,
138140
},
@@ -294,6 +296,13 @@ function NewPeopleViewContent() {
294296
</div>
295297
</div>
296298

299+
<EditableField
300+
label="Position"
301+
value={formData.position}
302+
type="text"
303+
onChange={(value) => handleFieldChange("position", value)}
304+
/>
305+
297306
<EditableField
298307
label="Contract Start Date"
299308
value={formData.contractStartDate}

apps/console/src/pages/organizations/people/PeopleView.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const peopleViewQuery = graphql`
3535
primaryEmailAddress
3636
additionalEmailAddresses
3737
kind
38+
position
3839
contractStartDate
3940
contractEndDate
4041
createdAt
@@ -53,6 +54,7 @@ const updatePeopleMutation = graphql`
5354
primaryEmailAddress
5455
additionalEmailAddresses
5556
kind
57+
position
5658
contractStartDate
5759
contractEndDate
5860
updatedAt
@@ -104,6 +106,7 @@ function PeopleViewContent({
104106
primaryEmailAddress: data.node.primaryEmailAddress || "",
105107
additionalEmailAddresses: data.node.additionalEmailAddresses || [],
106108
kind: data.node.kind,
109+
position: data.node.position || "",
107110
contractStartDate: data.node.contractStartDate
108111
? new Date(data.node.contractStartDate).toISOString().split('T')[0]
109112
: "",
@@ -119,6 +122,7 @@ function PeopleViewContent({
119122
const handleSave = useCallback(() => {
120123
const formattedData = {
121124
...formData,
125+
position: formData.position,
122126
contractStartDate: formData.contractStartDate
123127
? new Date(formData.contractStartDate).toISOString()
124128
: null,
@@ -184,6 +188,7 @@ function PeopleViewContent({
184188
primaryEmailAddress: data.node.primaryEmailAddress || "",
185189
additionalEmailAddresses: data.node.additionalEmailAddresses || [],
186190
kind: data.node.kind,
191+
position: data.node.position || "",
187192
contractStartDate: data.node.contractStartDate
188193
? new Date(data.node.contractStartDate).toISOString().split('T')[0]
189194
: "",
@@ -289,6 +294,12 @@ function PeopleViewContent({
289294
</SelectContent>
290295
</Select>
291296
</div>
297+
<EditableField
298+
label="Position"
299+
value={formData.position}
300+
type="text"
301+
onChange={(value) => handleFieldChange("position", value)}
302+
/>
292303
<EditableField
293304
label="Contract Start Date"
294305
value={formData.contractStartDate || ""}

apps/console/src/pages/organizations/people/__generated__/NewPeopleViewCreatePeopleMutation.graphql.ts

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/console/src/pages/organizations/people/__generated__/PeopleViewQuery.graphql.ts

Lines changed: 19 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/console/src/pages/organizations/people/__generated__/PeopleViewUpdatePeopleMutation.graphql.ts

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/coredata/people.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ type (
3636
FullName string `db:"full_name"`
3737
PrimaryEmailAddress string `db:"primary_email_address"`
3838
AdditionalEmailAddresses []string `db:"additional_email_addresses"`
39+
Position *string `db:"position"`
3940
ContractStartDate *time.Time `db:"contract_start_date"`
4041
ContractEndDate *time.Time `db:"contract_end_date"`
4142
CreatedAt time.Time `db:"created_at"`
@@ -79,6 +80,7 @@ SELECT
7980
full_name,
8081
primary_email_address,
8182
additional_email_addresses,
83+
position,
8284
contract_start_date,
8385
contract_end_date,
8486
created_at,
@@ -126,6 +128,7 @@ func (p *People) LoadByEmail(
126128
full_name,
127129
primary_email_address,
128130
additional_email_addresses,
131+
position,
129132
contract_start_date,
130133
contract_end_date,
131134
created_at,
@@ -177,6 +180,7 @@ SELECT
177180
full_name,
178181
primary_email_address,
179182
additional_email_addresses,
183+
position,
180184
contract_start_date,
181185
contract_end_date,
182186
created_at,
@@ -229,6 +233,7 @@ INSERT INTO
229233
full_name,
230234
primary_email_address,
231235
additional_email_addresses,
236+
position,
232237
contract_start_date,
233238
contract_end_date,
234239
created_at,
@@ -243,6 +248,7 @@ VALUES (
243248
@full_name,
244249
@primary_email_address,
245250
@additional_email_addresses,
251+
@position,
246252
@contract_start_date,
247253
@contract_end_date,
248254
@created_at,
@@ -259,6 +265,7 @@ VALUES (
259265
"full_name": p.FullName,
260266
"primary_email_address": p.PrimaryEmailAddress,
261267
"additional_email_addresses": p.AdditionalEmailAddresses,
268+
"position": p.Position,
262269
"contract_start_date": p.ContractStartDate,
263270
"contract_end_date": p.ContractEndDate,
264271
"created_at": p.CreatedAt,
@@ -302,6 +309,7 @@ SELECT
302309
full_name,
303310
primary_email_address,
304311
additional_email_addresses,
312+
position,
305313
contract_start_date,
306314
contract_end_date,
307315
created_at,
@@ -347,6 +355,7 @@ UPDATE peoples SET
347355
primary_email_address = @primary_email_address,
348356
additional_email_addresses = @additional_email_addresses,
349357
kind = @kind,
358+
position = @position,
350359
contract_start_date = @contract_start_date,
351360
contract_end_date = @contract_end_date,
352361
updated_at = @updated_at
@@ -362,6 +371,7 @@ WHERE %s
362371
"primary_email_address": p.PrimaryEmailAddress,
363372
"additional_email_addresses": p.AdditionalEmailAddresses,
364373
"kind": p.Kind,
374+
"position": p.Position,
365375
"contract_start_date": p.ContractStartDate,
366376
"contract_end_date": p.ContractEndDate,
367377
"updated_at": p.UpdatedAt,
@@ -401,6 +411,7 @@ SELECT
401411
full_name,
402412
primary_email_address,
403413
additional_email_addresses,
414+
position,
404415
contract_start_date,
405416
contract_end_date,
406417
created_at,

pkg/probo/people_service.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ type (
3737
FullName *string
3838
PrimaryEmailAddress *string
3939
AdditionalEmailAddresses *[]string
40+
Position **string
4041
ContractStartDate **time.Time
4142
ContractEndDate **time.Time
4243
}
@@ -48,6 +49,7 @@ type (
4849
PrimaryEmailAddress string
4950
AdditionalEmailAddresses []string
5051
Kind coredata.PeopleKind
52+
Position *string
5153
ContractStartDate *time.Time
5254
ContractEndDate *time.Time
5355
}
@@ -153,6 +155,10 @@ func (s PeopleService) Update(
153155
people.AdditionalEmailAddresses = *req.AdditionalEmailAddresses
154156
}
155157

158+
if req.Position != nil {
159+
people.Position = *req.Position
160+
}
161+
156162
if req.ContractStartDate != nil {
157163
people.ContractStartDate = *req.ContractStartDate
158164
}
@@ -200,6 +206,7 @@ func (s PeopleService) Create(
200206
PrimaryEmailAddress: req.PrimaryEmailAddress,
201207
AdditionalEmailAddresses: req.AdditionalEmailAddresses,
202208
UserID: req.UserID,
209+
Position: req.Position,
203210
ContractStartDate: req.ContractStartDate,
204211
ContractEndDate: req.ContractEndDate,
205212
CreatedAt: now,

pkg/server/api/console/v1/schema.graphql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,7 @@ type People implements Node {
529529
primaryEmailAddress: String!
530530
additionalEmailAddresses: [String!]!
531531
kind: PeopleKind!
532+
position: String
532533
contractStartDate: Datetime
533534
contractEndDate: Datetime
534535
createdAt: Datetime!
@@ -1154,6 +1155,7 @@ input CreatePeopleInput {
11541155
primaryEmailAddress: String!
11551156
additionalEmailAddresses: [String!]
11561157
kind: PeopleKind!
1158+
position: String @goField(name: "Position", omittable: true)
11571159
contractStartDate: Datetime
11581160
contractEndDate: Datetime
11591161
}
@@ -1164,6 +1166,7 @@ input UpdatePeopleInput {
11641166
primaryEmailAddress: String
11651167
additionalEmailAddresses: [String!]
11661168
kind: PeopleKind
1169+
position: String @goField(name: "Position", omittable: true)
11671170
contractStartDate: Datetime
11681171
contractEndDate: Datetime
11691172
}

0 commit comments

Comments
 (0)