Skip to content

Commit 2ba6c75

Browse files
author
Jens Kürten
committed
feat: Add new events for document and part checks
1 parent bff46c8 commit 2ba6c75

File tree

5 files changed

+74
-0
lines changed

5 files changed

+74
-0
lines changed

csfunctions/events/base.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ class EventNames(str, Enum):
1313
ENGINEERING_CHANGE_RELEASE_CHECK = "engineering_change_release_check"
1414
FIELD_VALUE_CALCULATION = "field_value_calculation"
1515
WORKFLOW_TASK_TRIGGER = "workflow_task_trigger"
16+
DOCUMENT_CREATE_CHECK = "document_create_check"
17+
DOCUMENT_MODIFY_CHECK = "document_modify_check"
18+
PART_CREATE_CHECK = "part_create_check"
19+
PART_MODIFY_CHECK = "part_modify_check"
1620

1721

1822
class BaseEvent(BaseModel):
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import Literal
2+
3+
from pydantic import BaseModel, Field
4+
5+
from csfunctions.objects import Document, Part
6+
7+
from .base import BaseEvent, EventNames
8+
9+
10+
class DocumentCreateCheckData(BaseModel):
11+
documents: list[Document] = Field(..., description="List of documents that are about to be created")
12+
attached_parts: list[Part] = Field(..., description="List of parts that belong to the documents")
13+
attached_documents: list[Document] = Field(
14+
..., description="Contains the original document(s) if a document is a copy"
15+
)
16+
17+
18+
class DocumentCreateCheckEvent(BaseEvent):
19+
name: Literal[EventNames.DOCUMENT_CREATE_CHECK] = EventNames.DOCUMENT_CREATE_CHECK
20+
data: DocumentCreateCheckData
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from typing import Literal
2+
3+
from pydantic import BaseModel, Field
4+
5+
from csfunctions.objects import Document, Part
6+
7+
from .base import BaseEvent, EventNames
8+
9+
10+
class DocumentModifyCheckData(BaseModel):
11+
documents: list[Document] = Field(..., description="List of documents that are about to be modified")
12+
attached_parts: list[Part] = Field(..., description="List of parts that belong to the documents")
13+
14+
15+
class DocumentModifyCheckEvent(BaseEvent):
16+
name: Literal[EventNames.DOCUMENT_MODIFY_CHECK] = EventNames.DOCUMENT_MODIFY_CHECK
17+
data: DocumentModifyCheckData
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from typing import Literal
2+
3+
from pydantic import BaseModel, Field
4+
5+
from csfunctions.objects import Document, Part
6+
7+
from .base import BaseEvent, EventNames
8+
9+
10+
class PartCreateCheckData(BaseModel):
11+
parts: list[Part] = Field(..., description="List of parts that are about to be created")
12+
attached_documents: list[Document] = Field(..., description="Contains the original part(s) if a part is a copy")
13+
14+
15+
class PartCreateCheckEvent(BaseEvent):
16+
name: Literal[EventNames.PART_CREATE_CHECK] = EventNames.PART_CREATE_CHECK
17+
data: PartCreateCheckData
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from typing import Literal
2+
3+
from pydantic import BaseModel, Field
4+
5+
from csfunctions.objects import Part
6+
7+
from .base import BaseEvent, EventNames
8+
9+
10+
class PartModifyCheckData(BaseModel):
11+
parts: list[Part] = Field(..., description="List of parts that are about to be modified")
12+
13+
14+
class PartModifyCheckEvent(BaseEvent):
15+
name: Literal[EventNames.PART_MODIFY_CHECK] = EventNames.PART_MODIFY_CHECK
16+
data: PartModifyCheckData

0 commit comments

Comments
 (0)