You've already forked Travel-Agent
feat: Added travel models, travel creation command, travels list command with pagination, set help message, improvements and fixes
This commit is contained in:
+8
-6
@@ -1,20 +1,16 @@
|
||||
__all__ = ("User",)
|
||||
|
||||
import re
|
||||
from typing import Any
|
||||
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import validates
|
||||
from sqlalchemy.orm import relationship, validates
|
||||
|
||||
from app import session
|
||||
from app.models import Base
|
||||
from app.utils import geo
|
||||
from app.utils.db import utcnow
|
||||
|
||||
|
||||
Base: Any = declarative_base()
|
||||
|
||||
|
||||
class User(Base):
|
||||
__tablename__ = "users"
|
||||
|
||||
@@ -38,6 +34,9 @@ class User(Base):
|
||||
server_default=utcnow(),
|
||||
)
|
||||
|
||||
notes = relationship("Note", backref="author")
|
||||
owned_travels = relationship("Travel", backref="author")
|
||||
|
||||
@validates("username")
|
||||
def validate_username(self, key, value):
|
||||
regex_pattern = re.compile(r"^[a-zA-Z0-9_]{5,20}$")
|
||||
@@ -98,6 +97,9 @@ class User(Base):
|
||||
|
||||
return normalized_value
|
||||
|
||||
def get_user_travels(self):
|
||||
return self.owned_travels + self.travels
|
||||
|
||||
def get_human_readable_datejoined(self):
|
||||
return self.date_joined.strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user