File size: 3,736 Bytes
9131d62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, TIMESTAMP
from pgvector.sqlalchemy import Vector

Base = declarative_base()
class TableFactory:
    def __init__(self):
        self.alito = Alito
        self.barret = Barrett
        self.breyer = Breyer
        self.ginsburg = Ginsburg
        self.gorsuch = Gorsuch
        self.jackson = Jackson
        self.kagan = Kagan
        self.kavanaugh = Kavanaugh
        self.kennedy = Kennedy
        self.roberts = Roberts
        self.scalia = Scalia
        self.sotomayor = Sotomayor
        self.thomas = Thomas
        self.court_opinion = CourtOpinion
    
    def get_table(self, table_name:str = 'court_opinion'):
        return getattr(self, table_name.lower(), None)


class CourtOpinion(Base):
    __tablename__ = 'court_opinion'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Alito(Base):
    __tablename__ = 'alito'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Barrett(Base):
    __tablename__ = 'barrett'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Breyer(Base):
    __tablename__ = 'breyer'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Ginsburg(Base):
    __tablename__ = 'ginsburg'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Gorsuch(Base):
    __tablename__ = 'gorsuch'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Jackson(Base):
    __tablename__ = 'jackson'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Kagan(Base):
    __tablename__ = 'kagan'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Kavanaugh(Base):
    __tablename__ = 'kavanaugh'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Kennedy(Base):
    __tablename__ = 'kennedy'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Roberts(Base):
    __tablename__ = 'roberts'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Scalia(Base):
    __tablename__ = 'scalia'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Sotomayor(Base):
    __tablename__ = 'sotomayor'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)

class Thomas(Base):
    __tablename__ = 'thomas'
    id = Column(Integer, primary_key=True, autoincrement=True)
    embedding = Column(Vector)
    opinion = Column(String)
    created_at = Column(TIMESTAMP)