|
|
@@ -76,9 +76,7 @@ async def delete_sms(
|
|
|
session: Session = Depends(deps.get_session),
|
|
|
):
|
|
|
"""Delete a sms from the project"""
|
|
|
- session.execute(
|
|
|
- delete(Sms).where((Sms.id == sms_id) & (Sms.project_id == str(project_id)))
|
|
|
- )
|
|
|
+ session.execute(delete(Sms).where((Sms.id == sms_id) & (Sms.project_id == str(project_id))))
|
|
|
session.commit()
|
|
|
|
|
|
|
|
|
@@ -89,13 +87,29 @@ async def list_sms_to_send(
|
|
|
):
|
|
|
"""List sms that should be send by now"""
|
|
|
results = session.execute(
|
|
|
- select(Sms).where(
|
|
|
- (Sms.sending_time < datetime.datetime.now()) & (Sms.send_time == None)
|
|
|
- )
|
|
|
+ select(Sms).where((Sms.sending_time < datetime.datetime.now()) & (Sms.send_time == None))
|
|
|
)
|
|
|
return results.scalars().all()
|
|
|
|
|
|
|
|
|
+@router.get("/sms/send-now/{sms_id}", response_model=SMSResponse)
|
|
|
+async def send_sms_now(
|
|
|
+ sms_id: UUID,
|
|
|
+ current_user: User = Depends(deps.get_current_user),
|
|
|
+ session: Session = Depends(deps.get_session),
|
|
|
+):
|
|
|
+ """Update the SMS to be sent now"""
|
|
|
+ sms = session.get(Sms, sms_id)
|
|
|
+ if sms is None:
|
|
|
+ raise HTTPException(status_code=404, detail="SMS not found")
|
|
|
+ elif sms.send_time is not None:
|
|
|
+ raise HTTPException(status_code=400, detail="SMS has already been sent")
|
|
|
+ else:
|
|
|
+ sms.send_time = datetime.datetime.now()
|
|
|
+ session.commit()
|
|
|
+ return sms
|
|
|
+
|
|
|
+
|
|
|
@router.get("/sms/not-send", response_model=list[SMSResponse])
|
|
|
async def list_not_sent(
|
|
|
current_user: User = Depends(deps.get_current_user),
|
|
|
@@ -112,7 +126,5 @@ async def list_future_sms(
|
|
|
session: Session = Depends(deps.get_session),
|
|
|
):
|
|
|
"""List sms that should be sent in the future"""
|
|
|
- results = session.execute(
|
|
|
- select(Sms).where(Sms.sending_time > datetime.datetime.now())
|
|
|
- )
|
|
|
+ results = session.execute(select(Sms).where(Sms.sending_time > datetime.datetime.now()))
|
|
|
return results.scalars().all()
|