Skip to content

Commit

Permalink
feat: web_crawler 수정, post bookmark api 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
mjkweon17 committed Mar 23, 2024
1 parent d021e71 commit 2db8f11
Showing 1 changed file with 25 additions and 63 deletions.
88 changes: 25 additions & 63 deletions src/models.py
Original file line number Diff line number Diff line change
@@ -1,87 +1,49 @@
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, UniqueConstraint, Index, BigInteger, SmallInteger
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, ForeignKey, Integer, String, Text, DateTime, SmallInteger, BigInteger
from sqlalchemy.sql import func
from sqlalchemy.orm import declarative_base, relationship

Base = declarative_base()

# TODO: 양방향 관계로 수정


class Test(Base):
__tablename__ = 'Test'
test_id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(Integer, nullable=False)


class Page(Base):
__tablename__ = 'Page'
page_id = Column(Integer, primary_key=True, autoincrement=True)
title = Column(String(255), nullable=True)
english_title = Column(String(255), nullable=True)
url = Column(String(512), nullable=False, unique=True)
summarization = Column(Text, nullable=False)
created_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3))
page_id = Column(Integer, primary_key=True, index=True, autoincrement=True)
title = Column(String(255), nullable=False)
url = Column(String(2083), nullable=False)
summary = Column(Text, nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
state = Column(SmallInteger, nullable=False, default=1)
view_count = Column(Integer, nullable=True, default=0) # Unused
favicon = Column(String(255), nullable=True) # Unused
category = Column(Integer, nullable=True) # Unused


class User(Base):
__tablename__ = 'User'
user_id = Column(Integer, primary_key=True, autoincrement=True)
email = Column(String(255), nullable=False, unique=True)
user_name = Column(String(255), nullable=True)
auth_type = Column(SmallInteger, nullable=False, default=1)
user_id = Column(Integer, primary_key=True, index=True, autoincrement=True)
auth_id = Column(BigInteger, nullable=False)
created_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3))
state = Column(SmallInteger, nullable=False, default=1)
__table_args__ = (UniqueConstraint('auth_type', 'auth_id'), Index('auth_index', 'auth_type', 'auth_id'))


class AnonymousUser(Base):
__tablename__ = 'AnonymousUser'
anonymous_user_id = Column(Integer, primary_key=True, autoincrement=True)
user_ip = Column(String(255), nullable=False, unique=True)
created_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3))
email = Column(String(255), nullable=False)
user_name = Column(String(255), nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
state = Column(SmallInteger, nullable=False, default=1)

access_token = Column(String(255))
token_type = Column(String(255))
expires_in = Column(String(255))
refresh_token = Column(String(255))
scope = Column(String(255))
id_token = Column(String(255))

class Bookmark(Base):
__tablename__ = 'Bookmark'
bookmark_id = Column(Integer, primary_key=True, autoincrement=True)
page_id = Column(Integer, ForeignKey('Page.page_id'), nullable=False, default=0)
user_id = Column(Integer, ForeignKey('User.user_id'), nullable=True, default=0)
anonymous_user_id = Column(Integer, ForeignKey('AnonymousUser.anonymous_user_id'), nullable=True, default=0)
bookmark_id = Column(Integer, primary_key=True, index=True, autoincrement=True)
page_id = Column(Integer, ForeignKey('Page.page_id'), nullable=False)
user_id = Column(Integer, ForeignKey('User.user_id'), nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
state = Column(SmallInteger, nullable=False, default=1)
created_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3))
updated_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3), onupdate=func.current_timestamp(3))
notes = Column(Text, nullable=False)
page = relationship("Page")
user = relationship("User")
anonymous_user = relationship("AnonymousUser")


class Content(Base):
__tablename__ = 'Content'
content_id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(Integer, ForeignKey('User.user_id'), nullable=True, default=0)
anonymous_user_id = Column(Integer, ForeignKey('AnonymousUser.anonymous_user_id'), nullable=True, default=0)
title = Column(String(255), nullable=True)
content_id = Column(Integer, primary_key=True, index=True, autoincrement=True)
user_id = Column(Integer, ForeignKey('User.user_id'), default=0)
content = Column(Text, nullable=False)
created_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3))
updated_at = Column(DateTime(3), nullable=False, server_default=func.current_timestamp(3), onupdate=func.current_timestamp(3))
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
updated_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
state = Column(SmallInteger, nullable=False, default=1)
doc_id = Column(String(255), nullable=True, default=None)

# 새로 추가
token_type = Column(String(255), nullable=True, default=None)
expires_in = Column(String(255), nullable=True, default=None)
refresh_token = Column(String(255), nullable=True, default=None)
scope = Column(String(255), nullable=True, default=None)
id_token = Column(String(255), nullable=True, default=None)
######

user = relationship("User")
anonymous_user = relationship("AnonymousUser")

0 comments on commit 2db8f11

Please sign in to comment.