Skip to content

Commit 2c95945

Browse files
committed
Merge branch 'develop'
2 parents c6662d0 + 114eb2c commit 2c95945

File tree

13 files changed

+1081
-344
lines changed

13 files changed

+1081
-344
lines changed

ayon_api/__init__.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
set_client_version,
3131
get_default_settings_variant,
3232
set_default_settings_variant,
33+
get_sender,
34+
set_sender,
3335

3436
get_base_url,
3537
get_rest_url,
@@ -92,6 +94,7 @@
9294
get_users,
9395

9496
get_attributes_for_type,
97+
get_attributes_fields_for_type,
9598
get_default_fields_for_type,
9699

97100
get_project_anatomy_preset,
@@ -110,6 +113,11 @@
110113
get_addons_project_settings,
111114
get_addons_settings,
112115

116+
get_secrets,
117+
get_secret,
118+
save_secret,
119+
delete_secret,
120+
113121
get_project_names,
114122
get_projects,
115123
get_project,
@@ -124,6 +132,8 @@
124132
get_folders_hierarchy,
125133

126134
get_tasks,
135+
get_task_by_id,
136+
get_task_by_name,
127137

128138
get_folder_ids_with_products,
129139
get_product_by_id,
@@ -154,6 +164,7 @@
154164
get_workfile_info,
155165
get_workfile_info_by_id,
156166

167+
get_thumbnail_by_id,
157168
get_thumbnail,
158169
get_folder_thumbnail,
159170
get_version_thumbnail,
@@ -216,6 +227,8 @@
216227
"set_client_version",
217228
"get_default_settings_variant",
218229
"set_default_settings_variant",
230+
"get_sender",
231+
"set_sender",
219232

220233
"get_base_url",
221234
"get_rest_url",
@@ -278,6 +291,7 @@
278291
"get_users",
279292

280293
"get_attributes_for_type",
294+
"get_attributes_fields_for_type",
281295
"get_default_fields_for_type",
282296

283297
"get_project_anatomy_preset",
@@ -295,6 +309,11 @@
295309
"get_addons_project_settings",
296310
"get_addons_settings",
297311

312+
"get_secrets",
313+
"get_secret",
314+
"save_secret",
315+
"delete_secret",
316+
298317
"get_project_names",
299318
"get_projects",
300319
"get_project",
@@ -308,6 +327,8 @@
308327
"get_folders",
309328

310329
"get_tasks",
330+
"get_task_by_id",
331+
"get_task_by_name",
311332

312333
"get_folder_ids_with_products",
313334
"get_product_by_id",
@@ -338,6 +359,7 @@
338359
"get_workfile_info",
339360
"get_workfile_info_by_id",
340361

362+
"get_thumbnail_by_id",
341363
"get_thumbnail",
342364
"get_folder_thumbnail",
343365
"get_version_thumbnail",

ayon_api/_api.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,28 @@ def set_default_settings_variant(variant):
392392
return con.set_default_settings_variant(variant)
393393

394394

395+
def get_sender():
396+
"""Sender used to send requests.
397+
398+
Returns:
399+
Union[str, None]: Sender name or None.
400+
"""
401+
402+
con = get_server_api_connection()
403+
return con.get_sender()
404+
405+
406+
def set_sender(sender):
407+
"""Change sender used for requests.
408+
409+
Args:
410+
sender (Union[str, None]): Sender name or None.
411+
"""
412+
413+
con = get_server_api_connection()
414+
return con.set_sender(sender)
415+
416+
395417
def get_base_url():
396418
con = get_server_api_connection()
397419
return con.get_base_url()
@@ -704,6 +726,26 @@ def get_addons_settings(*args, **kwargs):
704726
return con.get_addons_settings(*args, **kwargs)
705727

706728

729+
def get_secrets(*args, **kwargs):
730+
con = get_server_api_connection()
731+
return con.get_secrets(*args, **kwargs)
732+
733+
734+
def get_secret(*args, **kwargs):
735+
con = get_server_api_connection()
736+
return con.delete_secret(*args, **kwargs)
737+
738+
739+
def save_secret(*args, **kwargs):
740+
con = get_server_api_connection()
741+
return con.delete_secret(*args, **kwargs)
742+
743+
744+
def delete_secret(*args, **kwargs):
745+
con = get_server_api_connection()
746+
return con.delete_secret(*args, **kwargs)
747+
748+
707749
def get_project_names(*args, **kwargs):
708750
con = get_server_api_connection()
709751
return con.get_project_names(*args, **kwargs)
@@ -734,6 +776,16 @@ def get_tasks(*args, **kwargs):
734776
return con.get_tasks(*args, **kwargs)
735777

736778

779+
def get_task_by_id(*args, **kwargs):
780+
con = get_server_api_connection()
781+
return con.get_task_by_id(*args, **kwargs)
782+
783+
784+
def get_task_by_name(*args, **kwargs):
785+
con = get_server_api_connection()
786+
return con.get_task_by_name(*args, **kwargs)
787+
788+
737789
def get_folder_by_id(*args, **kwargs):
738790
con = get_server_api_connection()
739791
return con.get_folder_by_id(*args, **kwargs)
@@ -904,6 +956,11 @@ def delete_project(project_name):
904956
return con.delete_project(project_name)
905957

906958

959+
def get_thumbnail_by_id(project_name, thumbnail_id):
960+
con = get_server_api_connection()
961+
con.get_thumbnail_by_id(project_name, thumbnail_id)
962+
963+
907964
def get_thumbnail(project_name, entity_type, entity_id, thumbnail_id=None):
908965
con = get_server_api_connection()
909966
con.get_thumbnail(project_name, entity_type, entity_id, thumbnail_id)
@@ -934,6 +991,11 @@ def update_thumbnail(project_name, thumbnail_id, src_filepath):
934991
return con.update_thumbnail(project_name, thumbnail_id, src_filepath)
935992

936993

994+
def get_attributes_fields_for_type(entity_type):
995+
con = get_server_api_connection()
996+
return con.get_attributes_fields_for_type(entity_type)
997+
998+
937999
def get_default_fields_for_type(entity_type):
9381000
con = get_server_api_connection()
9391001
return con.get_default_fields_for_type(entity_type)

ayon_api/constants.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,25 @@
44
# Backwards compatibility
55
SERVER_TOKEN_ENV_KEY = SERVER_API_ENV_KEY
66

7+
# --- User ---
8+
DEFAULT_USER_FIELDS = {
9+
"roles",
10+
"name",
11+
"isService",
12+
"isManager",
13+
"isGuest",
14+
"isAdmin",
15+
"defaultRoles",
16+
"createdAt",
17+
"active",
18+
"hasPassword",
19+
"updatedAt",
20+
"apiKeyPreview",
21+
"attrib.avatarUrl",
22+
"attrib.email",
23+
"attrib.fullName",
24+
}
25+
726
# --- Product types ---
827
DEFAULT_PRODUCT_TYPE_FIELDS = {
928
"name",

ayon_api/graphql_queries.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,3 +462,28 @@ def events_graphql_query(fields):
462462
for k, v in value.items():
463463
query_queue.append((k, v, field))
464464
return query
465+
466+
467+
def users_graphql_query(fields):
468+
query = GraphQlQuery("Users")
469+
names_var = query.add_variable("userNames", "[String!]")
470+
471+
users_field = query.add_field_with_edges("users")
472+
users_field.set_filter("names", names_var)
473+
474+
nested_fields = fields_to_dict(set(fields))
475+
476+
query_queue = collections.deque()
477+
for key, value in nested_fields.items():
478+
query_queue.append((key, value, users_field))
479+
480+
while query_queue:
481+
item = query_queue.popleft()
482+
key, value, parent = item
483+
field = parent.add_field(key)
484+
if value is FIELD_VALUE:
485+
continue
486+
487+
for k, v in value.items():
488+
query_queue.append((k, v, field))
489+
return query

0 commit comments

Comments
 (0)