@@ -11,28 +11,31 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1111#### File System Overhaul
1212- ** Complete file system redesign** with hierarchical folder structure
1313- ** New File.Item class** with comprehensive metadata:
14- - ` file_id ` : Unique file identifier
15- - ` file_name ` : Name of the file
14+ - ` fileId ` : Unique file identifier
15+ - ` fileName ` : Name of the file
1616 - ` url ` : Download URL for the file
17- - ` created_by ` : ID of user who created the file
18- - ` last_modified ` : Last modification timestamp
19- - ` file_type ` : File type information (dict with fileTypeId and name)
20- - ` file_category ` : Optional file category (can be null)
17+ - ` createdBy ` : ID of user who created the file
18+ - ` lastModified ` : Last modification timestamp
19+ - ` fileType ` : File type information (dict with fileTypeId and name)
20+ - ` fileCategory ` : Optional file category (can be null)
2121 - ` size ` : File size as string
22- - ` created_at ` : Creation timestamp
22+ - ` createdAt ` : Creation timestamp
2323 - ` status ` : File status (e.g., "uploaded")
2424 - ` duration ` : Optional file duration (can be null)
2525
2626#### New Folder System
2727- ** New Folder.Item class** with hierarchical structure:
28- - ` folder_id ` : Unique folder identifier
29- - ` folder_name ` : Name of the folder
30- - ` parent_folder_id ` : Parent folder ID (empty string for root)
31- - ` created_by ` : ID of user who created the folder
32- - ` last_modified ` : Optional last modification timestamp (can be null)
33- - ` created_at ` : Creation timestamp
34- - ** New Folder.ListResponse class** for folder listing operations
35- - ** New Folder.get_root_folder_id()** method to get root folder ID
28+ - ` folderId ` : Unique folder identifier
29+ - ` folderName ` : Name of the folder
30+ - ` parentFolderId ` : Parent folder ID (empty string for root)
31+ - ` createdBy ` : ID of user who created the folder
32+ - ` lastModified ` : Optional last modification timestamp (can be null)
33+ - ` createdAt ` : Creation timestamp
34+ - ** New Folder.ListResponse class** for folder listing operations with:
35+ - ` folders ` : List of Folder.Item objects
36+ - ` files ` : List of File.Item objects
37+ - ` currentPathChain ` : Dictionary containing path chain information
38+ - ** New Folder.get_root_folder_id()` method to get root folder ID
3639
3740#### Enhanced File Operations
3841- ** Improved file upload process** with automatic polling for completion
@@ -42,36 +45,44 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
4245### 🔄 API Changes
4346
4447#### File.create() Method
45- - ** BREAKING CHANGE** : Parameter names updated to snake_case:
46- - ` localPath ` → ` local_path `
47- - ` uploadPath ` → ` file_name `
48+ - ** BREAKING CHANGE** : Parameter names updated:
4849 - ` fileType ` → ** REMOVED** (no longer needed)
49- - ** New parameter** : ` folder_id ` (Optional[ UUID] ) for specifying upload location
50+ - ** New parameter** : ` folderId ` (Optional[ UUID] ) for specifying upload location
5051- ** Enhanced behavior** : Now polls for upload completion and returns complete file metadata
5152
5253#### File.get() Method
5354- ** BREAKING CHANGE** : Parameter name updated:
54- - ` fileId ` → ` file_id `
55+ - ` fileId ` → ` fileId ` (kept camelCase)
5556
5657#### File.delete() Method
5758- ** BREAKING CHANGE** : Parameter names updated:
58- - ` fileId ` → ` file_id `
59- - ` folderId ` → ` folder_id ` (optional, defaults to root folder)
59+ - ` fileId ` → ` fileId ` (kept camelCase)
60+ - ` folderId ` → ` folderId ` (kept camelCase, optional, defaults to root folder)
6061- ** Return type change** : Now returns ` None ` instead of ` APIResponseItem `
6162
6263#### File.Item Attributes
63- - ** BREAKING CHANGE** : All attribute names updated to snake_case:
64- - ` fileId ` → ` file_id `
65- - ` fileName ` → ` file_name `
66- - ` createdBy ` → ` created_by `
67- - ` lastModified ` → ` last_modified `
68- - ` fileType ` → ` file_type `
69- - ` fileCategory ` → ` file_category `
70- - ` createdAt ` → ` created_at `
64+ - ** BREAKING CHANGE** : All attribute names kept in camelCase:
65+ - ` fileId ` : Unique file identifier
66+ - ` fileName ` : Name of the file
67+ - ` url ` : Download URL for the file
68+ - ` createdBy ` : ID of user who created the file
69+ - ` lastModified ` : Last modification timestamp
70+ - ` fileType ` : File type information (dict with fileTypeId and name)
71+ - ` fileCategory ` : Optional file category (can be null)
72+ - ` size ` : File size as string
73+ - ` createdAt ` : Creation timestamp
74+ - ` status ` : File status (e.g., "uploaded")
75+ - ` duration ` : Optional file duration (can be null)
7176
7277#### File.Item.download() Method
7378- ** BREAKING CHANGE** : Now requires ` fileName ` parameter (no longer optional)
7479
80+ #### Folder Methods
81+ - ** Folder.create(name, parentFolderId)** - Create new folder with optional parent
82+ - ** Folder.get(folderId)** - Retrieve folder by ID
83+ - ** Folder.delete(folderId)** - Delete folder by ID
84+ - ** Folder.get_root_folder_id()** - Get root folder ID
85+
7586### 🗑️ Removed Features
7687
7788#### Deprecated Methods
@@ -108,47 +119,48 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
108119``` python
109120# OLD
110121file = File.create(localPath = " file.mp3" , uploadPath = " name.mp3" , fileType = " audio" )
111- file_id = file .fileId
112- file .delete(fileId = file_id , folderId = folder_id )
122+ fileId = file .fileId
123+ file .delete(fileId = fileId , folderId = folderId )
113124
114125# NEW
115- file = File.create(local_path = " file.mp3" , file_name = " name.mp3" , folder_id = folder_id )
116- file_id = file .file_id
117- File.delete(file_id = file_id, folder_id = folder_id )
126+ file = File.create(localPath = " file.mp3" , uploadPath = " name.mp3" , folderId = folderId )
127+ fileId = file .fileId
128+ File.delete(fileId = fileId, folderId = folderId )
118129```
119130
120131#### For Folder Operations
121132``` python
122133# OLD
123134root = Folder.get_root() # Returns Folder.Item
124- folder_id = root.current_path_chain [" folderId" ]
135+ folderId = root.currentPathChain [" folderId" ]
125136
126137# NEW
127- folder_id = Folder.get_root_folder_id() # Returns string directly
138+ folderId = Folder.get_root_folder_id() # Returns string directly
128139```
129140
130141#### For File Item Access
131142``` python
132143# OLD
133- file_id = file .fileId
134- file_name = file .fileName
144+ fileId = file .fileId
145+ fileName = file .fileName
135146
136147# NEW
137- file_id = file .file_id
138- file_name = file .file_name
148+ fileId = file .fileId # No change - kept camelCase
149+ fileName = file .fileName # No change - kept camelCase
139150```
140151
141152### ⚠️ Breaking Changes Summary
142153
143- 1 . ** All parameter names** changed from camelCase to snake_case
144- 2 . ** All attribute names** changed from camelCase to snake_case
154+ 1 . ** Parameter names** kept in camelCase (no changes to existing camelCase parameters)
155+ 2 . ** Attribute names** kept in camelCase (no changes to existing camelCase attributes)
1451563 . ** File.modify()** method completely removed
1461574 . ** File.Item.delete()** instance method removed
1471585 . ** Media class** completely removed
1481596 . ** File.List and Folder.List** classes removed
1491607 . ** Inheritance from APIResponseItem** removed for Item classes
1501618 . ** File.create()** now requires ` fileName ` parameter in download method
1511629 . ** Return types** changed for some methods (e.g., delete returns None)
163+ 10 . ** New parameter** : ` folderId ` added to File.create() for specifying upload location
152164
153165### 🧪 Testing
154166
0 commit comments