File size: 5,552 Bytes
ae1db1b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# models.py
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class Users(db.Model):
    __tablename__ = "Users"
    user_id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False)
    email = db.Column(db.String(128))
    password = db.Column(db.String(128))
    created_at = db.Column(db.DateTime)

class LLMGeneratedQuestions(db.Model):
    __tablename__ = "LLMGeneratedQuestions"

    llm_id     = db.Column(db.Integer, primary_key=True)
    user_id    = db.Column(db.Integer, nullable=False, index=True)
    role       = db.Column(db.String(64), nullable=True)
    blue       = db.Column(db.Integer, nullable=False, default=0)
    green      = db.Column(db.Integer, nullable=False, default=0)
    yellow     = db.Column(db.Integer, nullable=False, default=0)
    red        = db.Column(db.Integer, nullable=False, default=0)
    created_at = db.Column(db.DateTime, default=datetime.utcnow)

    def color_vec(self):
        import numpy as np
        v = np.array([self.blue, self.green, self.yellow, self.red], dtype=np.float32)
        s = float(v.sum())
        return v / s if s > 0 else v

class Marriage(db.Model):
    __tablename__ = "Marriage"
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, nullable=False)
    full_name = db.Column(db.String(100))
    date_of_birth = db.Column(db.String(50))
    gender = db.Column(db.String(20))
    current_city = db.Column(db.String(100))
    marital_status = db.Column(db.String(50))
    education_level = db.Column(db.String(100))
    employment_status = db.Column(db.String(100))
    number_of_siblings = db.Column(db.String(50))
    family_type = db.Column(db.String(100))
    hobbies_interests = db.Column(db.Text)
    conflict_approach = db.Column(db.String(100))
    financial_style = db.Column(db.String(100))
    income_range = db.Column(db.String(100))
    relocation_willingness = db.Column(db.String(100))
    created_at = db.Column(db.DateTime, default=datetime.utcnow)
    height = db.Column(db.String(100))  # Changed from height_weight
    skin_tone = db.Column(db.String(50))
    languages_spoken = db.Column(db.String(200))
    country = db.Column(db.String(100))
    blood_group = db.Column(db.String(10))
    religion = db.Column(db.String(100))
    dual_citizenship = db.Column(db.String(50))
    siblings_position = db.Column(db.String(50))
    parents_living_status = db.Column(db.String(100))
    live_with_parents = db.Column(db.String(50))
    support_parents_financially = db.Column(db.String(50))
    family_communication_frequency = db.Column(db.String(100))
    food_preference = db.Column(db.String(100))
    smoking_habit = db.Column(db.String(50))
    alcohol_habit = db.Column(db.String(50))
    daily_routine = db.Column(db.String(200))
    fitness_level = db.Column(db.String(100))
    own_pets = db.Column(db.String(50))
    travel_preference = db.Column(db.String(100))
    relaxation_mode = db.Column(db.String(100))
    job_role = db.Column(db.String(100))
    work_experience_years = db.Column(db.String(50))
    career_aspirations = db.Column(db.String(200))
    field_of_study = db.Column(db.String(200))
    remark = db.Column(db.Text)
    # 🚨 NEW FIELDS
    children_timeline = db.Column(db.String(100))
    open_to_adoption = db.Column(db.String(50))
    deal_breakers = db.Column(db.Text)
    other_non_negotiables = db.Column(db.Text)
    health_constraints = db.Column(db.String(200))
    live_with_inlaws = db.Column(db.String(50))

class ExpectationResponse(db.Model):
    __tablename__ = "ExpectationResponse"

    user_id = db.Column(db.Integer, primary_key=True)
    pref_age_range = db.Column(db.String(100))
    pref_height_range = db.Column(db.String(100))
    pref_current_city = db.Column(db.String(100))
    pref_countries = db.Column(db.String(100))
    pref_languages = db.Column(db.String(100))
    health_constraints = db.Column(db.String(200))
    pref_diet = db.Column(db.String(100))
    accept_smoking = db.Column(db.String(50))
    accept_alcohol = db.Column(db.String(50))
    pref_fitness = db.Column(db.String(100))
    pref_family_type = db.Column(db.String(100))
    live_with_inlaws = db.Column(db.String(50))  # 🚨 CHANGED: Remove 'pref_' prefix
    children_timeline = db.Column(db.String(100))
    open_to_adoption = db.Column(db.String(50))
    pref_conflict_approach = db.Column(db.String(100))
    pref_financial_style = db.Column(db.String(100))
    religion_alignment = db.Column(db.String(50))
    pref_shared_hobbies = db.Column(db.String(200))
    travel_pref = db.Column(db.String(100))
    pet_pref = db.Column(db.String(50))
    pref_income_range = db.Column(db.String(100))
    deal_breakers = db.Column(db.Text)
    other_non_negotiables = db.Column(db.Text)
    created_at = db.Column(db.DateTime, default=datetime.utcnow)
    pref_education_level = db.Column(db.String(100))
    pref_employment_status = db.Column(db.String(100))
    expectation_summary = db.Column(db.Text)
    _mandatory_fields = db.Column(db.Text)
    skin_tone = db.Column(db.String(50))
    marital_status = db.Column(db.String(50))
    daily_routine = db.Column(db.String(200))
    family_communication_frequency = db.Column(db.String(100))
    relaxation_mode = db.Column(db.String(100))
    pref_partner_relocation = db.Column(db.String(50))
    financial_support_to_parents = db.Column(db.String(50))
    pref_career_aspirations = db.Column(db.String(200))
    pref_live_with_parents = db.Column(db.String(50))