22
33from .constants .errors import ERRORS
44from .file import File
5+ from .models .CopyFileRequestOptions import CopyFileRequestOptions
6+ from .models .CopyFolderRequestOptions import CopyFolderRequestOptions
7+ from .models .CreateCustomMetadataFieldsRequestOptions import (
8+ CreateCustomMetadataFieldsRequestOptions ,
9+ )
10+ from .models .CreateFolderRequestOptions import CreateFolderRequestOptions
11+ from .models .DeleteFolderRequestOptions import DeleteFolderRequestOptions
12+ from .models .ListAndSearchFileRequestOptions import ListAndSearchFileRequestOptions
13+ from .models .MoveFileRequestOptions import MoveFileRequestOptions
14+ from .models .MoveFolderRequestOptions import MoveFolderRequestOptions
15+ from .models .RenameFileRequestOptions import RenameFileRequestOptions
16+ from .models .UpdateCustomMetadataFieldsRequestOptions import (
17+ UpdateCustomMetadataFieldsRequestOptions ,
18+ )
19+ from .models .UpdateFileRequestOptions import UpdateFileRequestOptions
20+ from .models .UploadFileRequestOptions import UploadFileRequestOptions
21+ from .models .results .BulkDeleteFileResult import BulkDeleteFileResult
22+ from .models .results .CustomMetadataFieldsResultWithResponseMetadata import (
23+ CustomMetadataFieldsResultWithResponseMetadata ,
24+ )
25+ from .models .results .FileResultWithResponseMetadata import (
26+ FileResultWithResponseMetadata ,
27+ )
28+ from .models .results .FolderResult import FolderResult
29+ from .models .results .GetBulkJobStatusResult import GetBulkJobStatusResult
30+ from .models .results .GetMetadataResult import GetMetadataResult
31+ from .models .results .ListCustomMetadataFieldsResult import (
32+ ListCustomMetadataFieldsResult ,
33+ )
34+ from .models .results .ListFileResult import ListFileResult
35+ from .models .results .PurgeCacheResult import PurgeCacheResult
36+ from .models .results .PurgeCacheStatusResult import PurgeCacheStatusResult
37+ from .models .results .RenameFileResult import RenameFileResult
38+ from .models .results .ResponseMetadataResult import ResponseMetadataResult
39+ from .models .results .TagsResult import TagsResult
40+ from .models .results .UploadFileResult import UploadFileResult
541from .resource import ImageKitRequest
642from .url import Url
743from .utils .calculation import get_authenticated_params , hamming_distance
@@ -27,96 +63,190 @@ def __init__(
2763 self .file = File (self .ik_request )
2864 self .url_obj = Url (self .ik_request )
2965
30- def upload (self , file = None , file_name = None , options = None ) -> Dict [str , Any ]:
31- """Provides upload functionality
32- """
66+ def upload (self , file = None , file_name = None , options = None ) -> UploadFileResult :
67+ """Provides upload functionality"""
3368 return self .file .upload (file , file_name , options )
3469
35- def upload_file (self , file = None , file_name = None , options = None ) -> Dict [str , Any ]:
36- """Provides upload functionality
37- """
38- return self .file .upload (file , file_name , options )
70+ def upload_file (
71+ self , file = None , file_name = None , options : UploadFileRequestOptions = None
72+ ) -> UploadFileResult :
73+ """Provides upload functionality"""
74+ return self .file .upload (
75+ file , file_name , options if options is not None else None
76+ )
3977
40- def list_files (self , options : Dict ) -> Dict :
41- """Get list(filtered if given param) of images of client
42- """
78+ def list_files (
79+ self , options : ListAndSearchFileRequestOptions = None
80+ ) -> ListFileResult :
81+ """Get list(filtered if given param) of images of client"""
4382 return self .file .list (options )
4483
45- def get_file_details (self , file_identifier : str = None ) -> Dict :
46- """Get file_detail by file_id or file_url
47- """
48- return self .file .details (file_identifier )
84+ def get_file_details (self , file_id : str = None ) -> FileResultWithResponseMetadata :
85+ """Get file_detail by file_id or file_url"""
86+ return self .file .details (file_id )
87+
88+ def get_file_versions (self , file_id : str = None ) -> ListFileResult :
89+ """Get file_version by file_id or file_url"""
90+ return self .file .get_file_versions (file_id )
4991
50- def update_file_details (self , file_id : str , options : dict = None ) -> Dict :
51- """Update file detail by file id and options
52- """
92+ def get_file_version_details (
93+ self , file_id : str = None , version_id : str = None
94+ ) -> FileResultWithResponseMetadata :
95+ """Get file_version details by file_id and version_id"""
96+ return self .file .get_file_version_details (file_id , version_id )
97+
98+ def update_file_details (
99+ self , file_id : str , options : UpdateFileRequestOptions = None
100+ ) -> FileResultWithResponseMetadata :
101+ """Update file details by file id and options"""
53102 return self .file .update_file_details (file_id , options )
54103
55- def delete_file (self , file_id : str = None ) -> Dict [str , Any ]:
56- """Delete file by file_id
57- """
104+ def add_tags (self , file_ids , tags ) -> TagsResult :
105+ """Add tags by file ids and tags"""
106+ return self .file .manage_tags (file_ids , tags , "addTags" )
107+
108+ def remove_tags (self , file_ids , tags ) -> TagsResult :
109+ """Remove tags by file ids and tags"""
110+ return self .file .manage_tags (file_ids , tags , "removeTags" )
111+
112+ def remove_ai_tags (self , file_ids , ai_tags ) -> TagsResult :
113+ """Remove AI tags by file ids and AI tags"""
114+ return self .file .remove_ai_tags (file_ids , ai_tags )
115+
116+ def delete_file (self , file_id : str = None ) -> ResponseMetadataResult :
117+ """Delete file by file_id"""
58118 return self .file .delete (file_id )
59119
60- def bulk_delete (self , file_ids : list = None ):
61- """Delete files in bulk by provided list of ids
62- """
120+ def delete_file_version (self , file_id , version_id ) -> ResponseMetadataResult :
121+ """Delete file version by provided file id and version id"""
122+ return self .file .delete_file_version (file_id , version_id )
123+
124+ def bulk_delete (self , file_ids : list = None ) -> BulkDeleteFileResult :
125+ """Delete files in bulk by provided list of file ids"""
63126 return self .file .batch_delete (file_ids )
64127
65- def bulk_file_delete (self , file_ids : list = None ):
66- """Delete files in bulk by provided list of ids
67- """
128+ def bulk_file_delete (self , file_ids : list = None ) -> BulkDeleteFileResult :
129+ """Delete files in bulk by provided list of file ids"""
68130 return self .file .batch_delete (file_ids )
69131
70- def purge_cache (self , file_url : str = None ) -> Dict [str , Any ]:
71- """Purge Cache from server by file url
72- """
132+ def copy_file (
133+ self , options : CopyFileRequestOptions = None
134+ ) -> ResponseMetadataResult :
135+ """Copy file by provided sourceFilePath, destinationPath and includeFileVersions as an options"""
136+ return self .file .copy_file (options )
137+
138+ def move_file (
139+ self , options : MoveFileRequestOptions = None
140+ ) -> ResponseMetadataResult :
141+ """Move file by provided sourceFilePath and destinationPath as an options"""
142+ return self .file .move_file (options )
143+
144+ def rename_file (self , options : RenameFileRequestOptions = None ) -> RenameFileResult :
145+ """Rename file by provided filePath, newFileName and purgeCache as an options"""
146+ return self .file .rename_file (options )
147+
148+ def restore_file_version (
149+ self , file_id , version_id
150+ ) -> FileResultWithResponseMetadata :
151+ """Restore file version by provided file id and version id"""
152+ return self .file .restore_file_version (file_id , version_id )
153+
154+ def create_folder (
155+ self , options : CreateFolderRequestOptions = None
156+ ) -> ResponseMetadataResult :
157+ """Create folder by provided folderName and parentFolderPath as an options"""
158+ return self .file .create_folder (options )
159+
160+ def delete_folder (
161+ self , options : DeleteFolderRequestOptions = None
162+ ) -> ResponseMetadataResult :
163+ """Delete folder by provided folderPath as an options"""
164+ return self .file .delete_folder (options )
165+
166+ def copy_folder (self , options : CopyFolderRequestOptions = None ) -> FolderResult :
167+ """Copy folder by provided sourceFolderPath, destinationPath and includeFileVersions as an options"""
168+ return self .file .copy_folder (options )
169+
170+ def move_folder (self , options : MoveFolderRequestOptions = None ) -> FolderResult :
171+ """Move folder by provided sourceFolderPath and destinationPath as an options"""
172+ return self .file .move_folder (options )
173+
174+ def get_bulk_job_status (self , job_id ) -> GetBulkJobStatusResult :
175+ """Get bulk job status by provided only jobId"""
176+ return self .file .get_bulk_job_status (job_id )
177+
178+ def purge_cache (self , file_url : str = None ) -> PurgeCacheResult :
179+ """Purge Cache from server by file url"""
73180 return self .file .purge_cache (file_url )
74181
75- def purge_file_cache (self , file_url : str = None ) -> Dict [str , Any ]:
76- """Purge Cache from server by file url
77- """
182+ def purge_file_cache (self , file_url : str = None ) -> PurgeCacheResult :
183+ """Purge Cache from server by file url"""
78184 return self .file .purge_cache (file_url )
79185
80- def get_purge_cache_status (self , purge_cache_id : str = "" ) -> Dict [str , Any ]:
81- """Get Purge Cache status by purge cache request_id
82- """
186+ def get_purge_cache_status (
187+ self , purge_cache_id : str = ""
188+ ) -> PurgeCacheStatusResult :
189+ """Get Purge Cache status by purge cache request_id"""
83190 return self .file .get_purge_cache_status (str (purge_cache_id ))
84191
85- def get_purge_file_cache_status (self , purge_cache_id : str = "" ) -> Dict [str , Any ]:
86- """Get Purge Cache status by purge cache request_id
87- """
192+ def get_purge_file_cache_status (
193+ self , purge_cache_id : str = ""
194+ ) -> PurgeCacheStatusResult :
195+ """Get Purge Cache status by purge cache request_id"""
88196 return self .file .get_purge_cache_status (str (purge_cache_id ))
89197
90- def get_metadata (self , file_id : str = None ) -> Dict [str , Any ]:
91- """Get Meta Data of a file by file id
92- """
198+ def get_metadata (self , file_id : str = None ) -> GetMetadataResult :
199+ """Get Meta Data of a file by file id"""
93200 return self .file .get_metadata (str (file_id ))
94201
95- def get_file_metadata (self , file_id : str = None ) -> Dict [str , Any ]:
96- """Get Meta Data of a file by file id
97- """
202+ def get_file_metadata (self , file_id : str = None ) -> GetMetadataResult :
203+ """Get Meta Data of a file by file id"""
98204 return self .file .get_metadata (str (file_id ))
99205
100- def get_remote_url_metadata (self , remote_file_url : str = "" ):
206+ def get_remote_url_metadata (self , remote_file_url : str = "" ) -> GetMetadataResult :
101207 return self .file .get_metadata_from_remote_url (remote_file_url )
102208
103- def get_remote_file_url_metadata (self , remote_file_url : str = "" ):
209+ def get_remote_file_url_metadata (
210+ self , remote_file_url : str = ""
211+ ) -> GetMetadataResult :
212+ """Get remote metadata by provided remote_file_url"""
104213 return self .file .get_metadata_from_remote_url (remote_file_url )
105214
215+ def create_custom_metadata_fields (
216+ self , options : CreateCustomMetadataFieldsRequestOptions = None
217+ ) -> CustomMetadataFieldsResultWithResponseMetadata :
218+ """creates custom metadata fields by passing name, label and schema as an options"""
219+ return self .file .create_custom_metadata_fields (options )
220+
221+ def get_custom_metadata_fields (
222+ self , include_deleted : bool = False
223+ ) -> ListCustomMetadataFieldsResult :
224+ """get custom metadata fields"""
225+ return self .file .get_custom_metadata_fields (include_deleted )
226+
227+ def update_custom_metadata_fields (
228+ self , field_id , options : UpdateCustomMetadataFieldsRequestOptions = None
229+ ) -> CustomMetadataFieldsResultWithResponseMetadata :
230+ """updates custom metadata fields by passing id of custom metadata field and params as an options"""
231+ return self .file .update_custom_metadata_fields (field_id , options )
232+
233+ def delete_custom_metadata_field (
234+ self , field_id : str = ""
235+ ) -> ResponseMetadataResult :
236+ """Deletes custom metadata fields by passing field_id"""
237+ return self .file .delete_custom_metadata_field (field_id )
238+
106239 def url (self , options : Dict [str , Any ]) -> str :
107- """Get generated Url from options parameter
108- """
240+ """Get generated Url from options parameter"""
109241 return self .url_obj .generate_url (options )
110242
111243 @staticmethod
112244 def phash_distance (first , second ):
113- """Get hamming distance between two phash(to check similarity)
114- """
245+ """Get hamming distance between two phash(to check similarity)"""
115246 if not (first and second ):
116247 raise TypeError (ERRORS .MISSING_PHASH_VALUE .value )
117248 return hamming_distance (first , second )
118249
119250 def get_authentication_parameters (self , token = "" , expire = 0 ):
120- """Get Authentication parameters
121- """
251+ """Get Authentication parameters"""
122252 return get_authenticated_params (token , expire , self .ik_request .private_key )
0 commit comments