feat: add inner mail api

This commit is contained in:
GareArc
2025-03-25 21:47:30 -04:00
parent 7f63cd52a2
commit e38631db8a
4 changed files with 89 additions and 0 deletions

View File

@ -6,3 +6,4 @@ bp = Blueprint("inner_api", __name__, url_prefix="/inner/api")
api = ExternalApi(bp)
from .workspace import workspace
import mail

View File

@ -0,0 +1,25 @@
from flask_restful import Resource # type: ignore
from flask_restful import reqparse
from controllers.console.wraps import setup_required
from controllers.inner_api import api
from controllers.inner_api.wraps import inner_api_only
from services.enterprise.mail_service import DifyMail, EnterpriseMailService
class EnterpriseMail(Resource):
@setup_required
@inner_api_only
def post(self):
parser = reqparse.RequestParser()
parser.add_argument("to", type=str, required=True)
parser.add_argument("subject", type=str, required=True)
parser.add_argument("body", type=str, required=True)
parser.add_argument("substitutions", type=dict, required=False)
args = parser.parse_args()
EnterpriseMailService.send_mail(DifyMail(**args))
return {"message": "success"}, 200
api.add_resource(EnterpriseMail, "/enterprise/mail")