Corin1998 commited on
Commit
efce22b
·
verified ·
1 Parent(s): a7c92e4

Create schemas.py

Browse files
Files changed (1) hide show
  1. app/schemas.py +65 -0
app/schemas.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import Basemodel, EmailStr, Field
2
+ from typing import Optional, Any
3
+
4
+ class TenantCreate(BaseModel):
5
+ name: str
6
+
7
+ class TenantOut(BaseModel):
8
+ id: int
9
+ name: str
10
+ class Config:
11
+ from_attributes = True
12
+
13
+ class UserCreate(BaseModel):
14
+ email: EmailStr
15
+ password: str
16
+ tenant_id: int
17
+ is_tenant_admin: bool = False
18
+
19
+ class UserOut(BaseModel):
20
+ id: int
21
+ email: EmailStr
22
+ tenant_id: int
23
+ is_tenant_admin: bool
24
+ is_tenant_admin:bool
25
+ class Config:
26
+ from_attributes = True
27
+
28
+ class LoginRequest (BaseModel):
29
+ email: EmailStr
30
+ password: str
31
+
32
+ class TokenOut(BaseModel):
33
+ access_token: str
34
+ token_type: str = "bearer"
35
+
36
+ class PlanCreate(BaseModel):
37
+ name: str
38
+ monthly_quota: int =1000
39
+ features: dict = Field(default_factory=dict)
40
+
41
+ class SubscriptionCreate(BaseModel):
42
+ tenant_id: int
43
+ plan_id: int
44
+
45
+ class AppCreate(BaseModel):
46
+ name: str
47
+ description: str = ""
48
+ callback_url: str =""
49
+
50
+ class InstallAppRequest(BaseModel):
51
+ tenant_id: int
52
+
53
+ class JobCreateRequest(BaseModel):
54
+ tenant_id: int
55
+ kind: str = "pptx" # pptx | docx
56
+ payload: dict = Field(default_factory=dict)
57
+
58
+ class SSOPequest(BaseModel):
59
+ tenant_id: int
60
+ user_id: int
61
+ expires_in: int = 300
62
+
63
+ class SimpleMessage(BaseModel):
64
+ message: str
65
+ data: Optional[Any] = None