Move web stuff to web package
This commit is contained in:
@@ -38,8 +38,8 @@ from .bot import init as init_bot
|
|||||||
from .portal import init as init_portal
|
from .portal import init as init_portal
|
||||||
from .puppet import init as init_puppet
|
from .puppet import init as init_puppet
|
||||||
from .formatter import init as init_formatter
|
from .formatter import init as init_formatter
|
||||||
from .public import PublicBridgeWebsite
|
from .web.public import PublicBridgeWebsite
|
||||||
from .provisioning_api import ProvisioningAPI
|
from .web.provisioning import ProvisioningAPI
|
||||||
from .context import Context
|
from .context import Context
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
from .provisioning import ProvisioningAPI
|
||||||
|
from .public import PublicBridgeWebsite
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
from .auth_api import AuthAPI
|
||||||
@@ -21,8 +21,8 @@ import logging
|
|||||||
|
|
||||||
from telethon.errors import *
|
from telethon.errors import *
|
||||||
|
|
||||||
from ..commands.auth import enter_password
|
from mautrix_telegram.commands.auth import enter_password
|
||||||
from ..util import format_duration
|
from mautrix_telegram.util import format_duration
|
||||||
|
|
||||||
|
|
||||||
class AuthAPI(abc.ABC):
|
class AuthAPI(abc.ABC):
|
||||||
@@ -33,20 +33,20 @@ class AuthAPI(abc.ABC):
|
|||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_login_response(self, status=200, state="", username="", mxid="", message="", error="",
|
def get_login_response(self, status=200, state="", username="", mxid="", message="", error="",
|
||||||
errcode=""):
|
errcode=""):
|
||||||
raise NotImplementedError()
|
raise NotImplementedError()
|
||||||
|
|
||||||
async def post_login_phone(self, user, phone):
|
async def post_login_phone(self, user, phone):
|
||||||
try:
|
try:
|
||||||
await user.client.sign_in(phone or "+123")
|
await user.client.sign_in(phone or "+123")
|
||||||
return self.get_login_response(mxid=user.mxid, state="code", status=200,
|
return self.get_login_response(mxid=user.mxid, state="code", status=200,
|
||||||
message="Code requested successfully.")
|
message="Code requested successfully.")
|
||||||
except PhoneNumberInvalidError:
|
except PhoneNumberInvalidError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="request", status=400,
|
return self.get_login_response(mxid=user.mxid, state="request", status=400,
|
||||||
error="Invalid phone number.")
|
error="Invalid phone number.")
|
||||||
except PhoneNumberUnoccupiedError:
|
except PhoneNumberUnoccupiedError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="request", status=404,
|
return self.get_login_response(mxid=user.mxid, state="request", status=404,
|
||||||
error="That phone number has not been registered.")
|
error="That phone number has not been registered.")
|
||||||
except PhoneNumberFloodError:
|
except PhoneNumberFloodError:
|
||||||
return self.get_login_response(
|
return self.get_login_response(
|
||||||
mxid=user.mxid, state="request", status=429,
|
mxid=user.mxid, state="request", status=429,
|
||||||
@@ -59,14 +59,14 @@ class AuthAPI(abc.ABC):
|
|||||||
f"Please wait for {format_duration(e.seconds)} before trying again.")
|
f"Please wait for {format_duration(e.seconds)} before trying again.")
|
||||||
except PhoneNumberBannedError:
|
except PhoneNumberBannedError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="request", status=401,
|
return self.get_login_response(mxid=user.mxid, state="request", status=401,
|
||||||
error="Your phone number is banned from Telegram.")
|
error="Your phone number is banned from Telegram.")
|
||||||
except PhoneNumberAppSignupForbiddenError:
|
except PhoneNumberAppSignupForbiddenError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="request", status=401,
|
return self.get_login_response(mxid=user.mxid, state="request", status=401,
|
||||||
error="You have disabled 3rd party apps on your account.")
|
error="You have disabled 3rd party apps on your account.")
|
||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception("Error requesting phone code")
|
self.log.exception("Error requesting phone code")
|
||||||
return self.get_login_response(mxid=user.mxid, state="request", status=500,
|
return self.get_login_response(mxid=user.mxid, state="request", status=500,
|
||||||
error="Internal server error while requesting code.")
|
error="Internal server error while requesting code.")
|
||||||
|
|
||||||
async def post_login_code(self, user, code, password_in_data):
|
async def post_login_code(self, user, code, password_in_data):
|
||||||
try:
|
try:
|
||||||
@@ -75,13 +75,13 @@ class AuthAPI(abc.ABC):
|
|||||||
if user.command_status and user.command_status["action"] == "Login":
|
if user.command_status and user.command_status["action"] == "Login":
|
||||||
user.command_status = None
|
user.command_status = None
|
||||||
return self.get_login_response(mxid=user.mxid, state="logged-in", status=200,
|
return self.get_login_response(mxid=user.mxid, state="logged-in", status=200,
|
||||||
username=user_info.username)
|
username=user_info.username)
|
||||||
except PhoneCodeInvalidError:
|
except PhoneCodeInvalidError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="code", status=403,
|
return self.get_login_response(mxid=user.mxid, state="code", status=403,
|
||||||
error="Incorrect phone code.")
|
error="Incorrect phone code.")
|
||||||
except PhoneCodeExpiredError:
|
except PhoneCodeExpiredError:
|
||||||
return self.get_login_response(mxid=user.mxid, state="code", status=403,
|
return self.get_login_response(mxid=user.mxid, state="code", status=403,
|
||||||
error="Phone code expired.")
|
error="Phone code expired.")
|
||||||
except SessionPasswordNeededError:
|
except SessionPasswordNeededError:
|
||||||
if not password_in_data:
|
if not password_in_data:
|
||||||
if user.command_status and user.command_status["action"] == "Login":
|
if user.command_status and user.command_status["action"] == "Login":
|
||||||
@@ -96,7 +96,7 @@ class AuthAPI(abc.ABC):
|
|||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception("Error sending phone code")
|
self.log.exception("Error sending phone code")
|
||||||
return self.get_login_response(mxid=user.mxid, state="code", status=500,
|
return self.get_login_response(mxid=user.mxid, state="code", status=500,
|
||||||
error="Internal server error while sending code.")
|
error="Internal server error while sending code.")
|
||||||
|
|
||||||
async def post_login_password(self, user, password):
|
async def post_login_password(self, user, password):
|
||||||
try:
|
try:
|
||||||
@@ -105,11 +105,11 @@ class AuthAPI(abc.ABC):
|
|||||||
if user.command_status and user.command_status["action"] == "Login (password entry)":
|
if user.command_status and user.command_status["action"] == "Login (password entry)":
|
||||||
user.command_status = None
|
user.command_status = None
|
||||||
return self.get_login_response(mxid=user.mxid, state="logged-in", status=200,
|
return self.get_login_response(mxid=user.mxid, state="logged-in", status=200,
|
||||||
username=user_info.username)
|
username=user_info.username)
|
||||||
except (PasswordHashInvalidError, PasswordEmptyError):
|
except (PasswordHashInvalidError, PasswordEmptyError):
|
||||||
return self.get_login_response(mxid=user.mxid, state="password", status=400,
|
return self.get_login_response(mxid=user.mxid, state="password", status=400,
|
||||||
error="Incorrect password.")
|
error="Incorrect password.")
|
||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception("Error sending password")
|
self.log.exception("Error sending password")
|
||||||
return self.get_login_response(mxid=user.mxid, state="password", status=500,
|
return self.get_login_response(mxid=user.mxid, state="password", status=500,
|
||||||
error="Internal server error while sending password.")
|
error="Internal server error while sending password.")
|
||||||
@@ -20,13 +20,8 @@ import asyncio
|
|||||||
import pkg_resources
|
import pkg_resources
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from telethon.errors import *
|
from ...user import User
|
||||||
|
from ..common import AuthAPI
|
||||||
from ..user import User
|
|
||||||
from ..commands.auth import enter_password
|
|
||||||
from ..util import format_duration
|
|
||||||
|
|
||||||
from .auth_api import AuthAPI
|
|
||||||
|
|
||||||
|
|
||||||
class PublicBridgeWebsite(AuthAPI):
|
class PublicBridgeWebsite(AuthAPI):
|
||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Reference in New Issue
Block a user