Casu Al Snek 6 months ago
commit 52b8225f12
  1. 2
      backend/app.py
  2. 4
      backend/constants/__init__.py
  3. 6
      backend/db/model.py
  4. 8
      backend/utils/utils.py

@ -41,7 +41,7 @@ def seed_data():
username=f"username{i}", hash_password=generate_password_hash("password123"),
activationKey=hash_string(random_string_generator(16)), pfpFilename=DEFAULT_PROFILE_FILE,
joinedDate=datetime.utcnow(), lastOnline=datetime.utcnow(),
bio=f"This is user{i}'s bio.", role=UserRole.ADMIN if i == 1 else UserRole.USER,
bio=f"This is user{i}'s bio.", role=int(UserRole.USER),
isActivated=True, sessions=[], user_badges=[],
enrollments=[], quizzes=[], quiz_attempts=[], chats=[], notifications=[])
for i in range(1, 6) ]

@ -4,6 +4,10 @@ class UserRole(Enum):
ADMIN = 0
USER = 1
# Add this method to enable casting to int
def __int__(self):
return self.value
class PublishedStatus(Enum):
APPROVED = 0
PENDING = 1

@ -4,8 +4,8 @@ from sqlalchemy import types, text, String, DateTime, func, Boolean, ForeignKey,
from datetime import datetime
import uuid
from typing import List
from ..config import *
from ..constants import UserRole, PublishedStatus
from config import *
from constants import UserRole, PublishedStatus
class Base(MappedAsDataclass, DeclarativeBase):
pass
@ -28,8 +28,8 @@ class User(db.Model):
quiz_attempts: Mapped[List["QuizAttempt"]] = relationship(back_populates="user", cascade="all, delete-orphan")
chats: Mapped[List["Chat"]] = relationship(back_populates="user", cascade="all, delete-orphan")
notifications: Mapped[List["Notification"]] = relationship(back_populates="user", cascade="all, delete-orphan")
dob: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=datetime.fromisocalendar(2002, 1, 1))
user_badges: Mapped[List["UserBadge"]] = relationship(back_populates="user", cascade="all, delete-orphan")
dob: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=datetime.fromisocalendar(2002, 1, 1))
pfpFilename: Mapped[str] = mapped_column(String(256), nullable=False, default=DEFAULT_PROFILE_FILE)
joinedDate: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=func.now())
lastOnline: Mapped[datetime] = mapped_column(DateTime, nullable=False, default=func.now(), onupdate=func.now())

@ -3,6 +3,7 @@ import hashlib
import random
import os
from PyPDF2 import PdfReader
import re
FILE_NAME = 'manjil.pdf'
FILE_PATH = os.path.join(os.getcwd(), FILE_NAME)
@ -24,4 +25,9 @@ def read_pdf_human_readable(file_path: str) -> list[str]:
pdf_page_text_contents.append(text.strip())
return pdf_page_text_contents
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
if re.match(pattern, email):
return True
else:
return False
Loading…
Cancel
Save