add app table
This commit is contained in:
@@ -9,6 +9,35 @@ from app.core.apiexception import APIException
|
|||||||
|
|
||||||
platform_router = r = APIRouter()
|
platform_router = r = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
|
@r.get(
|
||||||
|
"/apps",
|
||||||
|
response_model=List[AppList],
|
||||||
|
response_model_exclude_none=True,
|
||||||
|
)
|
||||||
|
async def apps_list(
|
||||||
|
request: Request,
|
||||||
|
db=Depends(get_db),
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
app = get_apps(db)
|
||||||
|
return app
|
||||||
|
except Exception as e:
|
||||||
|
raise APIException('platform:apps',request.url._url,f"Error occurred while get apps:",e)
|
||||||
|
|
||||||
|
@r.post("/apps", response_model=AppList, response_model_exclude_none=True)
|
||||||
|
async def apps_update(
|
||||||
|
request: Request,
|
||||||
|
app: AppVersion,
|
||||||
|
user=Depends(get_current_user),
|
||||||
|
db=Depends(get_db),
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
return update_appversion(db, app,user.id)
|
||||||
|
except Exception as e:
|
||||||
|
raise APIException('platform:apps',request.url._url,f"Error occurred while get create app :",e)
|
||||||
|
|
||||||
|
|
||||||
@r.get(
|
@r.get(
|
||||||
"/appsettings/{id}",
|
"/appsettings/{id}",
|
||||||
response_model=App,
|
response_model=App,
|
||||||
|
|||||||
@@ -69,6 +69,29 @@ def edit_user(
|
|||||||
db.refresh(db_user)
|
db.refresh(db_user)
|
||||||
return db_user
|
return db_user
|
||||||
|
|
||||||
|
def get_apps(
|
||||||
|
db: Session
|
||||||
|
) -> t.List[schemas.AppList]:
|
||||||
|
return db.query(models.App).all()
|
||||||
|
|
||||||
|
def update_appversion(db: Session, appedit: schemas.AppVersion,userid:int):
|
||||||
|
app = db.query(models.App).filter(and_(models.App.domainurl == appedit.domainurl,models.App.appid == appedit.appid)).first()
|
||||||
|
if app:
|
||||||
|
app.version = app.version + 1
|
||||||
|
db_app = app
|
||||||
|
else:
|
||||||
|
db_app = models.App(
|
||||||
|
domainurl = appedit.domainurl,
|
||||||
|
appid=appedit.appid,
|
||||||
|
appname=appedit.appname,
|
||||||
|
version = 1,
|
||||||
|
updateuser= userid
|
||||||
|
)
|
||||||
|
|
||||||
|
db.add(db_app)
|
||||||
|
db.commit()
|
||||||
|
db.refresh(db_app)
|
||||||
|
return db_app
|
||||||
|
|
||||||
def get_appsetting(db: Session, id: int):
|
def get_appsetting(db: Session, id: int):
|
||||||
app = db.query(models.AppSetting).get(id)
|
app = db.query(models.AppSetting).get(id)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
|
from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
|
||||||
from sqlalchemy.ext.declarative import as_declarative
|
from sqlalchemy.ext.declarative import as_declarative
|
||||||
|
from sqlalchemy.orm import relationship
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from app.core.security import chacha20Decrypt
|
from app.core.security import chacha20Decrypt
|
||||||
@@ -20,6 +21,16 @@ class User(Base):
|
|||||||
is_active = Column(Boolean, default=True)
|
is_active = Column(Boolean, default=True)
|
||||||
is_superuser = Column(Boolean, default=False)
|
is_superuser = Column(Boolean, default=False)
|
||||||
|
|
||||||
|
class App(Base):
|
||||||
|
__tablename__ = "app"
|
||||||
|
|
||||||
|
domainurl = Column(String(200), nullable=False)
|
||||||
|
appname = Column(String(200), nullable=False)
|
||||||
|
appid = Column(String(100), index=True, nullable=False)
|
||||||
|
version = Column(Integer)
|
||||||
|
updateuser = Column(Integer,ForeignKey("user.id"))
|
||||||
|
user = relationship('User')
|
||||||
|
|
||||||
class AppSetting(Base):
|
class AppSetting(Base):
|
||||||
__tablename__ = "appsetting"
|
__tablename__ = "appsetting"
|
||||||
|
|
||||||
|
|||||||
@@ -28,21 +28,21 @@ class UserCreate(UserBase):
|
|||||||
is_active:bool
|
is_active:bool
|
||||||
is_superuser:bool
|
is_superuser:bool
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
class UserEdit(UserBase):
|
class UserEdit(UserBase):
|
||||||
password: t.Optional[str] = None
|
password: t.Optional[str] = None
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
class User(UserBase):
|
class User(UserBase):
|
||||||
id: int
|
id: int
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
@@ -50,6 +50,17 @@ class Token(BaseModel):
|
|||||||
access_token: str
|
access_token: str
|
||||||
token_type: str
|
token_type: str
|
||||||
|
|
||||||
|
class AppList(Base):
|
||||||
|
domainurl: str
|
||||||
|
appname: str
|
||||||
|
appid:str
|
||||||
|
version:int
|
||||||
|
user:UserOut
|
||||||
|
|
||||||
|
class AppVersion(BaseModel):
|
||||||
|
domainurl: str
|
||||||
|
appname: str
|
||||||
|
appid:str
|
||||||
|
|
||||||
class TokenData(BaseModel):
|
class TokenData(BaseModel):
|
||||||
id:int = 0
|
id:int = 0
|
||||||
@@ -68,7 +79,7 @@ class AppBase(BaseModel):
|
|||||||
class App(AppBase):
|
class App(AppBase):
|
||||||
id: int
|
id: int
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
|
|
||||||
@@ -79,7 +90,7 @@ class Kintone(BaseModel):
|
|||||||
desc: str = None
|
desc: str = None
|
||||||
content: str = None
|
content: str = None
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class Action(BaseModel):
|
class Action(BaseModel):
|
||||||
@@ -92,7 +103,7 @@ class Action(BaseModel):
|
|||||||
categoryid: int = None
|
categoryid: int = None
|
||||||
nosort: int
|
nosort: int
|
||||||
categoryname : str =None
|
categoryname : str =None
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class FlowBase(BaseModel):
|
class FlowBase(BaseModel):
|
||||||
@@ -111,7 +122,7 @@ class Flow(Base):
|
|||||||
name: str = None
|
name: str = None
|
||||||
content: str = None
|
content: str = None
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class DomainBase(BaseModel):
|
class DomainBase(BaseModel):
|
||||||
@@ -133,7 +144,7 @@ class Domain(Base):
|
|||||||
url: str
|
url: str
|
||||||
kintoneuser: str
|
kintoneuser: str
|
||||||
kintonepwd: str
|
kintonepwd: str
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class Event(Base):
|
class Event(Base):
|
||||||
@@ -145,7 +156,7 @@ class Event(Base):
|
|||||||
mobile: bool
|
mobile: bool
|
||||||
eventgroup: bool
|
eventgroup: bool
|
||||||
|
|
||||||
class Config:
|
class ConfigDict:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|
||||||
class ErrorCreate(BaseModel):
|
class ErrorCreate(BaseModel):
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user