UserDomain Add

This commit is contained in:
2023-10-09 15:55:58 +09:00
parent e1f2afa942
commit 76457b6667
11 changed files with 697 additions and 16 deletions

View File

@@ -137,4 +137,50 @@ async def flow_delete(
db=Depends(get_db),
):
return delete_flow(db, flowid)
return delete_flow(db, flowid)
@r.get(
"/domain/{userid}",
response_model=List[Domain],
response_model_exclude_none=True,
)
async def domain_details(
request: Request,
userid: str,
db=Depends(get_db),
):
domains = get_domain(db, userid)
return domains
@r.post("/domain", response_model=Domain, response_model_exclude_none=True)
async def domain_create(
request: Request,
domain: DomainBase,
db=Depends(get_db),
):
return create_domain(db, domain)
@r.put(
"/domain", response_model=Domain, response_model_exclude_none=True
)
async def domain_edit(
request: Request,
domain: DomainBase,
db=Depends(get_db),
):
return edit_domain(db, domain)
@r.delete(
"/domain/{userid}/{id}", response_model=Domain, response_model_exclude_none=True
)
async def domain_delete(
request: Request,
userid: int,
id: int,
db=Depends(get_db),
):
return delete_domain(db, userid,id)

View File

@@ -180,3 +180,48 @@ def get_flows_by_app(db: Session, appid: str):
if not flows:
raise HTTPException(status_code=404, detail="Data not found")
return flows
def create_domain(db: Session, domain: schemas.DomainBase):
db_domain = models.UserDomain(
userid=domain.userid,
name=domain.name,
url=domain.url,
kintoneuser=domain.kintoneuser,
kintonepwd=domain.kintonepwd
)
db.add(db_domain)
db.commit()
db.refresh(db_domain)
return db_domain
def delete_domain(db: Session, userid: int,id: int):
db_domain = db.query(models.UserDomain).get(id)
if not db_domain or db_domain.userid != userid:
raise HTTPException(status.HTTP_404_NOT_FOUND, detail="Domain not found")
db.delete(db_domain)
db.commit()
return db_domain
def edit_domain(
db: Session, domain: schemas.DomainBase
) -> schemas.Domain:
db_domain = db.query(models.UserDomain).get(domain.id)
if not db_domain or db_domain.userid != domain.userid:
raise HTTPException(status.HTTP_404_NOT_FOUND, detail="Domain not found")
update_data = domain.dict(exclude_unset=True)
for key, value in update_data.items():
if(key != "id"):
setattr(db_domain, key, value)
db.add(db_domain)
db.commit()
db.refresh(db_domain)
return db_domain
def get_domain(db: Session, userid: str):
domains = db.query(models.UserDomain).filter(models.UserDomain.userid == userid).all()
if not domains:
raise HTTPException(status_code=404, detail="Data not found")
return domains

View File

@@ -1,4 +1,4 @@
from sqlalchemy import Boolean, Column, Integer, String, DateTime
from sqlalchemy import Boolean, Column, Integer, String, DateTime,ForeignKey
from sqlalchemy.ext.declarative import as_declarative
from datetime import datetime
@@ -48,4 +48,14 @@ class Flow(Base):
appid = Column(String(100), index=True, nullable=False)
eventid = Column(String(100), index=True, nullable=False)
name = Column(String(200))
content = Column(String)
content = Column(String)
class UserDomain(Base):
__tablename__ = "userdomain"
userid = Column(Integer,ForeignKey("user.id"))
name = Column(String(100), nullable=False)
url = Column(String(200), nullable=False)
kintoneuser = Column(String(100), nullable=False)
kintonepwd = Column(String(100), nullable=False)
active = Column(Boolean, default=False)

View File

@@ -101,5 +101,26 @@ class Flow(Base):
name: str = None
content: str = None
class Config:
orm_mode = True
class DomainBase(BaseModel):
id: int
userid: int
name: str
url: str
kintoneuser: str
kintonepwd: str
active:bool = False
class Domain(Base):
id: int
userid: str
name: str
url: str
kintoneuser: str
kintonepwd: str
active:bool
class Config:
orm_mode = True