mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-03-10 17:26:15 +01:00
mypy fixes, date issue
This commit is contained in:
parent
3d8a8664f2
commit
e9f625f008
7 changed files with 34 additions and 82 deletions
|
@ -1,8 +1,6 @@
|
|||
from http import HTTPStatus
|
||||
from typing import List, Optional, Union
|
||||
|
||||
from starlette.exceptions import HTTPException
|
||||
|
||||
from lnbits.helpers import urlsafe_short_hash
|
||||
|
||||
from . import db
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
from fastapi.params import Query
|
||||
from pydantic.main import BaseModel
|
||||
from fastapi import Query
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class CreateEmailaddress(BaseModel):
|
||||
wallet: str = Query(...) # type: ignore
|
||||
email: str = Query(...) # type: ignore
|
||||
testemail: str = Query(...) # type: ignore
|
||||
smtp_server: str = Query(...) # type: ignore
|
||||
smtp_user: str = Query(...) # type: ignore
|
||||
smtp_password: str = Query(...) # type: ignore
|
||||
smtp_port: str = Query(...) # type: ignore
|
||||
description: str = Query(...) # type: ignore
|
||||
wallet: str = Query(...)
|
||||
email: str = Query(...)
|
||||
testemail: str = Query(...)
|
||||
smtp_server: str = Query(...)
|
||||
smtp_user: str = Query(...)
|
||||
smtp_password: str = Query(...)
|
||||
smtp_port: str = Query(...)
|
||||
description: str = Query(...)
|
||||
anonymize: bool
|
||||
cost: int = Query(..., ge=0) # type: ignore
|
||||
cost: int = Query(..., ge=0)
|
||||
|
||||
|
||||
class Emailaddresses(BaseModel):
|
||||
|
@ -30,10 +30,10 @@ class Emailaddresses(BaseModel):
|
|||
|
||||
|
||||
class CreateEmail(BaseModel):
|
||||
emailaddress_id: str = Query(...) # type: ignore
|
||||
subject: str = Query(...) # type: ignore
|
||||
receiver: str = Query(...) # type: ignore
|
||||
message: str = Query(...) # type: ignore
|
||||
emailaddress_id: str = Query(...)
|
||||
subject: str = Query(...)
|
||||
receiver: str = Query(...)
|
||||
message: str = Query(...)
|
||||
|
||||
|
||||
class Emails(BaseModel):
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import os
|
||||
import re
|
||||
import socket
|
||||
import sys
|
||||
import time
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
from email.mime.text import MIMEText
|
||||
from email.utils import formatdate
|
||||
from http import HTTPStatus
|
||||
from smtplib import SMTP_SSL as SMTP
|
||||
|
||||
|
@ -25,7 +25,12 @@ async def send_mail(emailaddress, email):
|
|||
valid_email(emailaddress.email)
|
||||
valid_email(email.receiver)
|
||||
|
||||
ts = time.time()
|
||||
date = formatdate(ts, True)
|
||||
|
||||
msg = MIMEMultipart("alternative")
|
||||
msg = MIMEMultipart("alternative")
|
||||
msg["Date"] = date
|
||||
msg["Subject"] = email.subject
|
||||
msg["From"] = emailaddress.email
|
||||
msg["To"] = email.receiver
|
||||
|
|
|
@ -1,20 +1,11 @@
|
|||
import asyncio
|
||||
from http import HTTPStatus
|
||||
|
||||
import httpx
|
||||
from loguru import logger
|
||||
from starlette.exceptions import HTTPException
|
||||
|
||||
from lnbits.core.models import Payment
|
||||
from lnbits.tasks import register_invoice_listener
|
||||
|
||||
from .crud import (
|
||||
delete_email,
|
||||
get_email,
|
||||
get_emailaddress,
|
||||
get_emailaddress_by_email,
|
||||
set_email_paid,
|
||||
)
|
||||
from .crud import get_email, get_emailaddress, set_email_paid
|
||||
from .smtp import send_mail
|
||||
|
||||
|
||||
|
@ -27,8 +18,7 @@ async def wait_for_paid_invoices():
|
|||
|
||||
|
||||
async def on_invoice_paid(payment: Payment) -> None:
|
||||
if not payment.extra or "smtp" != payment.extra.get("tag"):
|
||||
# not an lnurlp invoice
|
||||
if payment.extra.get("tag") != "smtp":
|
||||
return
|
||||
|
||||
email = await get_email(payment.checking_id)
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
from http import HTTPStatus
|
||||
|
||||
from fastapi import Request
|
||||
from fastapi.params import Depends
|
||||
from fastapi import Depends, HTTPException, Request
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from starlette.exceptions import HTTPException
|
||||
from starlette.responses import HTMLResponse
|
||||
|
||||
from lnbits.core.models import User
|
||||
|
@ -16,9 +14,7 @@ templates = Jinja2Templates(directory="templates")
|
|||
|
||||
|
||||
@smtp_ext.get("/", response_class=HTMLResponse)
|
||||
async def index(
|
||||
request: Request, user: User = Depends(check_user_exists) # type: ignore
|
||||
):
|
||||
async def index(request: Request, user: User = Depends(check_user_exists)):
|
||||
return smtp_renderer().TemplateResponse(
|
||||
"smtp/index.html", {"request": request, "user": user.dict()}
|
||||
)
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
from http import HTTPStatus
|
||||
|
||||
from fastapi import Query
|
||||
from fastapi.params import Depends
|
||||
from starlette.exceptions import HTTPException
|
||||
from fastapi import Depends, HTTPException, Query
|
||||
|
||||
from lnbits.core.crud import get_user
|
||||
from lnbits.core.services import check_transaction_status, create_invoice
|
||||
|
@ -17,18 +15,17 @@ from .crud import (
|
|||
delete_emailaddress,
|
||||
get_email,
|
||||
get_emailaddress,
|
||||
get_emailaddress_by_email,
|
||||
get_emailaddresses,
|
||||
get_emails,
|
||||
update_emailaddress,
|
||||
)
|
||||
from .smtp import send_mail, valid_email
|
||||
from .smtp import valid_email
|
||||
|
||||
|
||||
## EMAILS
|
||||
@smtp_ext.get("/api/v1/email")
|
||||
async def api_email(
|
||||
g: WalletTypeInfo = Depends(get_key_type), all_wallets: bool = Query(False) # type: ignore
|
||||
g: WalletTypeInfo = Depends(get_key_type), all_wallets: bool = Query(False)
|
||||
):
|
||||
wallet_ids = [g.wallet.id]
|
||||
if all_wallets:
|
||||
|
@ -98,9 +95,7 @@ async def api_smtp_make_email(emailaddress_id, data: CreateEmail):
|
|||
|
||||
|
||||
@smtp_ext.delete("/api/v1/email/{email_id}")
|
||||
async def api_email_delete(
|
||||
email_id, g: WalletTypeInfo = Depends(get_key_type) # type: ignore
|
||||
):
|
||||
async def api_email_delete(email_id, g: WalletTypeInfo = Depends(get_key_type)):
|
||||
email = await get_email(email_id)
|
||||
|
||||
if not email:
|
||||
|
@ -118,8 +113,8 @@ async def api_email_delete(
|
|||
## EMAILADDRESSES
|
||||
@smtp_ext.get("/api/v1/emailaddress")
|
||||
async def api_emailaddresses(
|
||||
g: WalletTypeInfo = Depends(get_key_type), # type: ignore
|
||||
all_wallets: bool = Query(False), # type: ignore
|
||||
g: WalletTypeInfo = Depends(get_key_type),
|
||||
all_wallets: bool = Query(False),
|
||||
):
|
||||
wallet_ids = [g.wallet.id]
|
||||
if all_wallets:
|
||||
|
@ -136,7 +131,7 @@ async def api_emailaddresses(
|
|||
async def api_emailaddress_create(
|
||||
data: CreateEmailaddress,
|
||||
emailaddress_id=None,
|
||||
g: WalletTypeInfo = Depends(get_key_type), # type: ignore
|
||||
g: WalletTypeInfo = Depends(get_key_type),
|
||||
):
|
||||
if emailaddress_id:
|
||||
emailaddress = await get_emailaddress(emailaddress_id)
|
||||
|
@ -158,7 +153,7 @@ async def api_emailaddress_create(
|
|||
|
||||
@smtp_ext.delete("/api/v1/emailaddress/{emailaddress_id}")
|
||||
async def api_emailaddress_delete(
|
||||
emailaddress_id, g: WalletTypeInfo = Depends(get_key_type) # type: ignore
|
||||
emailaddress_id, g: WalletTypeInfo = Depends(get_key_type)
|
||||
):
|
||||
emailaddress = await get_emailaddress(emailaddress_id)
|
||||
|
||||
|
|
32
package-lock.json
generated
32
package-lock.json
generated
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"name": "lnbits-legend",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"devDependencies": {
|
||||
"prettier": "2.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz",
|
||||
"integrity": "sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin-prettier.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"prettier": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz",
|
||||
"integrity": "sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue