Skip to content

Commit cccff9e

Browse files
authored
[client] feat(SCV): add domains management on contract creations (#4266)
1 parent e0d05d9 commit cccff9e

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

pyoaev/contracts/contract_config.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,15 @@ class ContractConfig:
120120
color_light: str
121121

122122

123+
@dataclass
124+
class Domain:
125+
domain_id: str
126+
domain_name: str
127+
domain_color: str
128+
domain_created_at: str
129+
domain_updated_at: str
130+
131+
123132
@dataclass
124133
class Contract:
125134
contract_id: str
@@ -141,6 +150,7 @@ class Contract:
141150
is_atomic_testing: bool = True
142151
platforms: List[str] = field(default_factory=list)
143152
external_id: str = None
153+
domains: List[Domain] = None
144154

145155
def add_attack_pattern(self, var: str):
146156
self.contract_attack_patterns_external_ids.append(var)
@@ -163,6 +173,7 @@ def to_contract_add_input(self, source_id: str):
163173
"contract_content": json.dumps(self, cls=utils.EnhancedJSONEncoder),
164174
"is_atomic_testing": self.is_atomic_testing,
165175
"contract_platforms": self.platforms,
176+
"contract_domains": self.domains,
166177
}
167178

168179
def to_contract_update_input(self):
@@ -174,6 +185,7 @@ def to_contract_update_input(self):
174185
"contract_content": json.dumps(self, cls=utils.EnhancedJSONEncoder),
175186
"is_atomic_testing": self.is_atomic_testing,
176187
"contract_platforms": self.platforms,
188+
"contract_domains": self.domains,
177189
}
178190

179191

@@ -203,6 +215,7 @@ def prepare_contracts(contracts):
203215
"contract_attack_patterns_external_ids": c.contract_attack_patterns_external_ids,
204216
"contract_content": json.dumps(c, cls=utils.EnhancedJSONEncoder),
205217
"contract_platforms": c.platforms,
218+
"contract_domains": c.domains,
206219
},
207220
contracts,
208221
)

pyoaev/security_domain/__init__.py

Whitespace-only changes.

pyoaev/security_domain/types.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from enum import Enum
2+
3+
4+
class SecurityDomains(Enum):
5+
ENDPOINT = {"domain_name": "Endpoint", "domain_color": "#389CFF"}
6+
NETWORK = {"domain_name": "Network", "domain_color": "#009933"}
7+
WEB_APP = {"domain_name": "Web App", "domain_color": "#FF9933"}
8+
EMAIL_INFILTRATION = {
9+
"domain_name": "E-mail Infiltration",
10+
"domain_color": "#FF6666",
11+
}
12+
DATA_EXFILTRATION = {"domain_name": "Data Exfiltration", "domain_color": "#9933CC"}
13+
URL_FILTERING = {"domain_name": "Url Filtering", "domain_color": "#66CCFF"}
14+
CLOUD = {"domain_name": "Cloud", "domain_color": "#9999CC"}
15+
TABLE_TOP = {"domain_name": "Table Top", "domain_color": "#FFCC33"}
16+
TOCLASSIFY = {"domain_name": "To classify", "domain_color": "#FFFFFF"}

0 commit comments

Comments
 (0)