Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove UserLang duplicated defination #46

Merged
merged 1 commit into from
Nov 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion hiddifypanel/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from .config_enum import ConfigCategory, ConfigEnum
from .config_enum import ConfigCategory, ConfigEnum,Lang
from .config import StrConfig, BoolConfig, get_hconfigs, hconfig, set_hconfig, add_or_update_config, bulk_register_configs

from .parent_domain import ParentDomain, add_or_update_parent_domains, bulk_register_parent_domains
Expand Down
8 changes: 7 additions & 1 deletion hiddifypanel/models/config_enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@

from strenum import StrEnum


class Lang(StrEnum):
en = auto()
fa = auto()
ru = auto()
pt = auto()
zh = auto()

class ConfigCategory(StrEnum):
admin = auto()
branding = auto()
Expand Down
10 changes: 3 additions & 7 deletions hiddifypanel/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from strenum import StrEnum

from hiddifypanel.panel.database import db
from hiddifypanel.models import Lang

ONE_GIG = 1024*1024*1024

Expand All @@ -24,12 +25,7 @@ class UserMode(StrEnum):
daily = auto()

# disable = auto()
class UserLang(StrEnum):
en = auto()
fa = auto()
ru = auto()
pt = auto()
zh = auto()


class UserDetail(db.Model, SerializerMixin):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
Expand Down Expand Up @@ -76,7 +72,7 @@ class User(db.Model, SerializerMixin):
max_ips = db.Column(db.Integer, default=1000, nullable=False)
details = db.relationship('UserDetail', cascade="all,delete", backref='user', lazy='dynamic',)
enable = db.Column(db.Boolean, default=True, nullable=False)
lang = db.Column(db.Enum(UserLang),nullable=False, default='en')
lang = db.Column(db.Enum(Lang), default=None)
ed25519_private_key = db.Column(db.String(500))
ed25519_public_key = db.Column(db.String(100))

Expand Down
11 changes: 3 additions & 8 deletions hiddifypanel/panel/commercial/restapi/v2/user/DTO.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,8 @@
from apiflask.validators import Length, OneOf
from strenum import StrEnum
from enum import auto
from hiddifypanel.models import Lang

class SupportedLanuges(StrEnum):
en = auto()
fa = auto()
ru = auto()
pt = auto()
zh = auto()

class ProfileDTO(Schema):
profile_title = String(required=True)
Expand All @@ -25,7 +20,7 @@ class ProfileDTO(Schema):
brand_title = String()
brand_icon_url = URL()
doh = URL()
lang = Enum(SupportedLanuges,required=True)
lang = Enum(Lang,required=True)

class ConfigDTO(Schema):
name = String(required=True)
Expand All @@ -46,5 +41,5 @@ class ShortDTO(Schema):
full_url = String(required=True)

class UserInfoChangableDTO(Schema):
language = Enum(SupportedLanuges,required=False)
language = Enum(Lang,required=False)
telegram_id = Integer(required=False)
4 changes: 3 additions & 1 deletion hiddifypanel/panel/commercial/restapi/v2/user/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def get(self):
dto.brand_title = hconfig(ConfigEnum.branding_title)
dto.brand_icon_url = ""
dto.doh = f"https://{urlparse(request.base_url).hostname}/{g.proxy_path}/dns/dns-query"
dto.lang = c['user'].lang
dto.lang = c['user'].lang if c['user'].lang else hconfig(ConfigEnum.lang)
return dto

@app.input(UserInfoChangableDTO,arg_name='data')
Expand All @@ -65,6 +65,8 @@ def patch(self,data):

if data['language']:
user = user_by_uuid(g.user_uuid)
if user.lang is None:
user.lang = hconfig(ConfigEnum.lang)
if user.lang != data['language']:
user.lang = data['language']
db.session.commit()
Expand Down