Skip to content

Commit 91c4f58

Browse files
Add missing yepcodeApi endpoints
1 parent 4a02faf commit 91c4f58

3 files changed

Lines changed: 372 additions & 72 deletions

File tree

yepcode_run/api/types.py

Lines changed: 230 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from dataclasses import dataclass
2-
from typing import Optional, Dict, Any, List, Union
2+
from typing import Optional, Dict, Any, List
33
from enum import Enum
44
from datetime import datetime
55

@@ -32,13 +32,38 @@ class YepCodeApiConfig:
3232

3333
@dataclass
3434
class ProcessWebhook:
35-
url: str
36-
secret: Optional[str] = None
35+
enabled: Optional[bool] = None
36+
username: Optional[str] = None
37+
password: Optional[str] = None
38+
39+
40+
@dataclass
41+
class ProcessFormsConfig:
42+
enabled: Optional[bool] = None
43+
44+
45+
@dataclass
46+
class ProcessPublicationConfig:
47+
enabled: Optional[bool] = None
48+
token: Optional[str] = None
49+
50+
51+
@dataclass
52+
class DependenciesConfig:
53+
scoped_to_process: Optional[bool] = None
54+
auto_detect: Optional[bool] = None
3755

3856

3957
@dataclass
4058
class ProcessSettings:
41-
dependencies: Dict[str, Any]
59+
forms_config: Optional[ProcessFormsConfig] = None
60+
public_config: Optional[ProcessPublicationConfig] = None
61+
dependencies: Optional[DependenciesConfig] = None
62+
63+
64+
@dataclass
65+
class ProcessManifest:
66+
dependencies: Optional[Dict[str, str]] = None
4267

4368

4469
@dataclass
@@ -48,7 +73,7 @@ class Process:
4873
slug: str
4974
description: Optional[str] = None
5075
readme: Optional[str] = None
51-
manifest: Optional[Dict[str, Any]] = None
76+
manifest: Optional[ProcessManifest] = None
5277
created_by: Optional[str] = None
5378
created_at: Optional[datetime] = None
5479
updated_by: Optional[str] = None
@@ -68,30 +93,47 @@ class Log:
6893
message: str
6994

7095

71-
@dataclass
72-
class ExecutionError:
73-
message: Optional[str] = None
74-
75-
7696
@dataclass
7797
class TimelineEvent:
7898
status: ExecutionStatus
7999
timestamp: str
80100
explanation: Optional[str] = None
81101

82102

103+
@dataclass
104+
class ExecutionTimeline:
105+
explanation: Optional[str] = None
106+
events: Optional[List[TimelineEvent]] = None
107+
108+
109+
@dataclass
110+
class ExecutionSettings:
111+
timeout: Optional[int] = None
112+
agent_pool_slug: Optional[str] = None
113+
114+
83115
@dataclass
84116
class Execution:
85117
id: str
86-
execution_id: str
87-
logs: List[Log]
88-
process_id: Optional[str] = None
89-
status: Optional[ExecutionStatus] = None
118+
process_id: str
119+
status: ExecutionStatus
120+
execution_id: Optional[str] = None
121+
scheduled_id: Optional[str] = None
122+
timeline: Optional[ExecutionTimeline] = None
123+
parameters: Optional[Dict[str, Dict[str, Any]]] = None
124+
comment: Optional[str] = None
90125
return_value: Optional[Any] = None
126+
settings: Optional[ExecutionSettings] = None
127+
created_by: Optional[str] = None
128+
created_at: Optional[datetime] = None
129+
updated_by: Optional[str] = None
130+
updated_at: Optional[datetime] = None
91131
error: Optional[str] = None
92-
timeline: Optional[List[TimelineEvent]] = None
93-
parameters: Optional[Dict[str, Any]] = None
94-
comment: Optional[str] = None
132+
133+
134+
@dataclass
135+
class ExecutionId:
136+
execution_id: str
95137

96138

97139
@dataclass
@@ -119,12 +161,6 @@ class CreateTeamVariableInput:
119161
is_sensitive: Optional[bool] = None
120162

121163

122-
@dataclass
123-
class DependenciesConfig:
124-
scoped_to_process: Optional[bool] = None
125-
auto_detect: Optional[bool] = None
126-
127-
128164
@dataclass
129165
class DependenciesConfigInput:
130166
scoped_to_process: Optional[bool] = None
@@ -150,27 +186,11 @@ class FormsConfigInput:
150186
enabled: Optional[bool] = None
151187

152188

153-
@dataclass
154-
class ProcessFormsConfig:
155-
enabled: Optional[bool] = None
156-
157-
158-
@dataclass
159-
class ProcessManifest:
160-
dependencies: Optional[Dict[str, str]] = None
161-
162-
163189
@dataclass
164190
class ProcessManifestInput:
165191
dependencies: Optional[Dict[str, str]] = None
166192

167193

168-
@dataclass
169-
class ProcessPublicationConfig:
170-
enabled: Optional[bool] = None
171-
token: Optional[str] = None
172-
173-
174194
@dataclass
175195
class PublicationConfigInput:
176196
enabled: Optional[bool] = None
@@ -216,6 +236,14 @@ class TeamVariable:
216236
is_sensitive: Optional[bool] = None
217237
created_by: Optional[str] = None
218238
created_at: Optional[datetime] = None
239+
updated_by: Optional[str] = None
240+
updated_at: Optional[datetime] = None
241+
242+
243+
@dataclass
244+
class UpdateTeamVariableInput:
245+
key: str
246+
value: Optional[str] = None
219247

220248

221249
@dataclass
@@ -249,3 +277,166 @@ class SettingsInput:
249277
forms_config: Optional[FormsConfigInput] = None
250278
public_config: Optional[PublicationConfigInput] = None
251279
dependencies: Optional[DependenciesConfigInput] = None
280+
281+
282+
# Pagination result types
283+
@dataclass
284+
class PaginatedResult:
285+
has_next_page: Optional[bool] = None
286+
page: Optional[int] = None
287+
limit: Optional[int] = None
288+
total: Optional[int] = None
289+
290+
291+
@dataclass
292+
class ProcessesPaginatedResult(PaginatedResult):
293+
data: Optional[List[Process]] = None
294+
295+
296+
@dataclass
297+
class ExecutionsPaginatedResult(PaginatedResult):
298+
data: Optional[List[Execution]] = None
299+
300+
301+
@dataclass
302+
class ExecutionLogsPaginatedResult(PaginatedResult):
303+
data: Optional[List[Log]] = None
304+
305+
306+
@dataclass
307+
class SchedulesPaginatedResult(PaginatedResult):
308+
data: Optional[List[Schedule]] = None
309+
310+
311+
@dataclass
312+
class TeamVariablesPaginatedResult(PaginatedResult):
313+
data: Optional[List[TeamVariable]] = None
314+
315+
316+
# Versioned process types
317+
@dataclass
318+
class VersionedProcess:
319+
id: str
320+
programming_language: ProgrammingLanguage
321+
source_code: str
322+
parameters_schema: str
323+
readme: str
324+
comment: Optional[str] = None
325+
created_by: Optional[str] = None
326+
created_at: Optional[datetime] = None
327+
updated_by: Optional[str] = None
328+
updated_at: Optional[datetime] = None
329+
330+
331+
@dataclass
332+
class PublishProcessInput:
333+
tag: str
334+
comment: Optional[str] = None
335+
336+
337+
@dataclass
338+
class VersionedProcessesPaginatedResult(PaginatedResult):
339+
data: Optional[List[VersionedProcess]] = None
340+
341+
342+
@dataclass
343+
class VersionedProcessAlias:
344+
id: str
345+
name: str
346+
version_id: str
347+
created_by: Optional[str] = None
348+
created_at: Optional[datetime] = None
349+
updated_by: Optional[str] = None
350+
updated_at: Optional[datetime] = None
351+
352+
353+
@dataclass
354+
class VersionedProcessAliasInput:
355+
name: str
356+
version_id: str
357+
358+
359+
@dataclass
360+
class VersionedProcessAliasesPaginatedResult(PaginatedResult):
361+
data: Optional[List[VersionedProcessAlias]] = None
362+
363+
364+
# Module types
365+
@dataclass
366+
class Module:
367+
id: str
368+
name: str
369+
programming_language: Optional[ProgrammingLanguage] = None
370+
source_code: Optional[str] = None
371+
created_by: Optional[str] = None
372+
created_at: Optional[datetime] = None
373+
updated_by: Optional[str] = None
374+
updated_at: Optional[datetime] = None
375+
376+
377+
@dataclass
378+
class CreateModuleScriptInput:
379+
programming_language: Optional[str] = None
380+
source_code: Optional[str] = None
381+
382+
383+
@dataclass
384+
class CreateModuleInput:
385+
name: str
386+
script: Optional[CreateModuleScriptInput] = None
387+
388+
389+
@dataclass
390+
class UpdateModuleInput:
391+
name: Optional[str] = None
392+
script: Optional[CreateModuleScriptInput] = None
393+
394+
395+
@dataclass
396+
class ModulesPaginatedResult(PaginatedResult):
397+
data: Optional[List[Module]] = None
398+
399+
400+
@dataclass
401+
class VersionedModule:
402+
id: str
403+
programming_language: ProgrammingLanguage
404+
source_code: str
405+
comment: Optional[str] = None
406+
created_by: Optional[str] = None
407+
created_at: Optional[datetime] = None
408+
updated_by: Optional[str] = None
409+
updated_at: Optional[datetime] = None
410+
411+
412+
@dataclass
413+
class PublishModuleInput:
414+
tag: str
415+
comment: Optional[str] = None
416+
417+
418+
@dataclass
419+
class VersionedModulesPaginatedResult(PaginatedResult):
420+
data: Optional[List[VersionedModule]] = None
421+
422+
423+
@dataclass
424+
class VersionedModuleAlias:
425+
id: str
426+
name: str
427+
version_id: str
428+
created_by: Optional[str] = None
429+
created_at: Optional[datetime] = None
430+
updated_by: Optional[str] = None
431+
updated_at: Optional[datetime] = None
432+
433+
434+
@dataclass
435+
class VersionedModuleAliasInput:
436+
name: str
437+
version_id: str
438+
439+
440+
@dataclass
441+
class VersionedModuleAliasesPaginatedResult(PaginatedResult):
442+
data: Optional[List[VersionedModuleAlias]] = None

0 commit comments

Comments
 (0)