LiKenun commited on
Commit
1f03a91
·
1 Parent(s): 5503290

Add `GoogleDriveMetadata` model

Browse files
src/ctp_slack_bot/models/google_drive.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from datetime import datetime
2
+ from pydantic import BaseModel, ConfigDict
3
+ from typing import Self
4
+
5
+ from ctp_slack_bot.models import FileContent
6
+
7
+
8
+ class GoogleDriveMetadata(BaseModel):
9
+ """Represents Google Drive file or folder metadata."""
10
+
11
+ id: str
12
+ name: str
13
+ modified_time: datetime
14
+ mime_type: str
15
+ folder_path: str
16
+
17
+ model_config = ConfigDict(frozen=True)
18
+
19
+ @classmethod
20
+ def from_folder_path_and_dict(cls: type["GoogleDriveMetadata"], folder_path: str, dict: dict) -> Self:
21
+ id = result["id"]
22
+ name = result["name"]
23
+ modified_time = datetime.fromisoformat(result["modifiedTime"])
24
+ mime_type = result["mimeType"]
25
+ return GoogleDriveMetadata(id=id, name=name, modified_time=modified_time, mime_type=mime_type, folder_path=folder_path)