Skip to content

Commit 5ffcb68

Browse files
jens-kuertenJens Kürten
andauthored
add person object (#23)
Co-authored-by: Jens Kürten <[email protected]>
1 parent e98712d commit 5ffcb68

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

csfunctions/objects/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .engineering_change import EngineeringChange
1010
from .file import File
1111
from .part import BOMItem, Material, Part
12+
from .person import Person
1213
from .workflow import Workflow
1314

1415
Object = Annotated[
@@ -23,6 +24,7 @@
2324
ObjectPropertyValue,
2425
Briefcase,
2526
Workflow,
27+
Person,
2628
],
2729
Field(discriminator="object_type"),
2830
]
@@ -40,4 +42,5 @@
4042
"Briefcase",
4143
"Workflow",
4244
"BaseObject",
45+
"Person",
4346
]

csfunctions/objects/base.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class ObjectType(str, Enum):
1818
OBJECT_PROPERTY_VALUE = "object_property_value"
1919
WORKFLOW = "workflow"
2020
BRIEFCASE = "briefcase"
21+
PERSON = "person"
2122

2223

2324
class BaseObject(BaseModel):

csfunctions/objects/person.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from typing import Literal
2+
3+
from pydantic import Field
4+
5+
from csfunctions.objects.base import BaseObject, ObjectType
6+
7+
8+
class Person(BaseObject):
9+
object_type: Literal[ObjectType.PERSON] = ObjectType.PERSON
10+
11+
personalnummer: str = Field(..., description="Personal Number")
12+
name: str = Field(..., description="System-Name")
13+
firstname: str | None = Field(None, description="First Name")
14+
lastname: str | None = Field(None, description="Last Name")
15+
gender: str | None = Field(None, description="Gender")
16+
title: str | None = Field(None, description="Title")
17+
initials: str | None = Field(None, description="Initials")
18+
active_account: bool | None = Field(None, description="Active Account")
19+
org_id: str | None = Field(None, description="Organization ID")
20+
abt_nummer: str | None = Field(None, description="Department Number")
21+
e_mail: str | None = Field(None, description="Email")
22+
telefon: str | None = Field(None, description="Phone")

0 commit comments

Comments
 (0)