Subversion Repositories SmartDukaan

Rev

Rev 509 | Rev 564 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 509 Rev 557
Line 13... Line 13...
13
 
13
 
14
class SocialService(Entity):
14
class SocialService(Entity):
15
    id = Field(Integer, primary_key=True, autoincrement=True)
15
    id = Field(Integer, primary_key=True, autoincrement=True)
16
    name = Field(String(100))
16
    name = Field(String(100))
17
    handles = OneToMany("SocialHandle")
17
    handles = OneToMany("SocialHandle")
-
 
18
    using_options(shortnames=True)
18
 
19
 
19
class SocialHandle(Entity):
20
class SocialHandle(Entity):
20
    id = Field(Integer, primary_key=True, autoincrement=True)
21
    id = Field(Integer, primary_key=True, autoincrement=True)
21
    handle = Field(String(100))
22
    handle = Field(String(100))
22
    service = ManyToOne("SocialService")
23
    service = ManyToOne("SocialService")
23
    primary_info = ManyToOne("PrimaryInfo")
24
    user = ManyToOne("User")
-
 
25
    using_options(shortnames=True)
24
    
26
        
25
class Address(Entity):
27
class Address(Entity):
26
    id = Field(Integer, primary_key=True, autoincrement=True)
28
    id = Field(Integer, primary_key=True, autoincrement=True)
27
    line_1 = Field(String(100))
29
    line_1 = Field(String(100))
28
    line_2 = Field(String(100))
30
    line_2 = Field(String(100))
29
    landmark = Field(String(100))
31
    landmark = Field(String(100))
Line 34... Line 36...
34
    enabled = Field(Boolean)
36
    enabled = Field(Boolean)
35
    type = Field(Integer)
37
    type = Field(Integer)
36
    added_on = Field(DateTime)
38
    added_on = Field(DateTime)
37
    name = Field(String(100))
39
    name = Field(String(100))
38
    phone = Field(String(20))
40
    phone = Field(String(20))
39
    primary_info = ManyToOne("PrimaryInfo")
41
    user = ManyToOne("User")
-
 
42
    using_options(shortnames=True)
40
    
43
        
41
class Phone(Entity):
44
class Phone(Entity):
42
    id = Field(Integer, primary_key=True, autoincrement=True)
45
    id = Field(Integer, primary_key=True, autoincrement=True)
43
    country_code = Field(String(5))
46
    country_code = Field(String(5))
44
    area_code = Field(String(10))
47
    area_code = Field(String(10))
45
    number = Field(String(20))
48
    number = Field(String(20))
46
    extension = Field(String(10))
49
    extension = Field(String(10))
47
    type = Field(Integer)
50
    type = Field(Integer)
48
    enabled = Field(Boolean)
51
    user = ManyToOne("User")
49
    primary_info = ManyToOne("PrimaryInfo")
52
    using_options(shortnames=True)
50
    
53
    
51
class Date(Entity):
54
class InternalInfo(Entity):
52
    id = Field(Integer, primary_key=True, autoincrement=True)
55
    id = Field(Integer, primary_key=True, autoincrement=True)
53
    date = Field(Integer)
56
    geo_zone = Field(Integer)
54
    month = Field(Integer)
57
    shipment_zone = Field(Integer)
55
    year = Field(Integer)
58
    tax_zone = Field(Integer)
56
    type = Field(Integer)
59
    rank_score = Field(Float)
57
    primary_info = ManyToOne("PrimaryInfo")
60
    user = ManyToOne("User")
-
 
61
    using_options(shortnames=True)
58
    
62
        
59
class IPMap(Entity):
63
class IPMap(Entity):
60
    id = Field(Integer, primary_key=True, autoincrement=True)
64
    id = Field(Integer, primary_key=True, autoincrement=True)
61
    timestamp = Field(DateTime)
65
    timestamp = Field(DateTime)
62
    ip = Field(String(30))
66
    ip = Field(String(30))
63
    user_info = ManyToOne("State")
67
    user_state = ManyToOne("UserState")
-
 
68
    using_options(shortnames=True)
64
    
69
        
65
class PrimaryInfo(Entity):
70
class UserState(Entity):
-
 
71
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
72
    last_login = Field(DateTime)
-
 
73
    last_logout = Field(DateTime)
-
 
74
    email_verification_sent_on = Field(DateTime)
-
 
75
    sms_verification_sent_on = Field(DateTime)
-
 
76
    is_email_verified = Field(Boolean)
-
 
77
    is_sms_verified =Field(Boolean)
-
 
78
    active_since = Field(DateTime)
-
 
79
    account_status = Field(Integer)
-
 
80
    ip_list = OneToMany("IPMap")
-
 
81
    user = ManyToOne("User")
-
 
82
    using_options(shortnames=True)
-
 
83
 
-
 
84
class User(Entity):
66
    id = Field(Integer, primary_key=True, autoincrement=True)
85
    id = Field(Integer, primary_key=True, autoincrement=True)
67
    title = Field(String(50))
-
 
68
    first_name = Field(String(50))
-
 
69
    middle_name = Field(String(50))
-
 
70
    last_name = Field(String(50))
-
 
71
    occupation = Field(String(50))
-
 
72
    hint_question = Field(String(200))
-
 
73
    hint_answer = Field(String(50))
-
 
74
    picture_id = Field(String(100))
-
 
75
    date_of_birth = Field(DateTime)
-
 
76
    email = Field(String(100))
86
    email = Field(String(100))
77
    user_handle = Field(String(100))
-
 
78
    password = Field(String(50))
87
    password = Field(String(50))
79
    shipment_option = Field(Integer)
88
    name = Field(String(150))
80
    default_address_id = Field(Integer)
89
    default_address_id = Field(Integer)
81
    communication_email = Field(String(100))
90
    communication_email = Field(String(100))
-
 
91
    active_cart_id = Field(Integer)
-
 
92
    jsession_id = Field(String(64))
-
 
93
    is_anonymous = Field(Boolean)
-
 
94
    date_of_birth = Field(DateTime)
-
 
95
    sex = Field(Integer)
82
    phones = OneToMany("Phone")
96
    phones = OneToMany("Phone")
83
    dates = OneToMany("Date")
-
 
84
    addresses = OneToMany("Address")
97
    addresses = OneToMany("Address")
85
    social_handles = OneToMany("SocialHandle")
98
    social_handles = OneToMany("SocialHandle")
86
    user = ManyToOne("User")
99
    using_options(shortnames=True)
87
    
100
 
88
class State(Entity):
101
class Line(Entity):
89
    id = Field(Integer, primary_key=True, autoincrement=True)
102
    id = Field(Integer, primary_key=True, autoincrement=True)
90
    is_enrolled = Field(Boolean)
103
    item_id = Field(Integer)
91
    is_email_verified = Field(Boolean)
104
    quantity = Field(Float)
92
    is_sms_verified =Field(Boolean)
105
    line_status = Field(Integer)
93
    last_login_timestamp = Field(DateTime)
106
    created_on = Field(DateTime)
94
    last_logout = Field(DateTime)
107
    updated_on = Field(DateTime)
-
 
108
    cart = ManyToOne("Cart")
95
    email_verification_sent_on = Field(DateTime)
109
    using_options(shortnames=True)
-
 
110
    
-
 
111
class Cart(Entity):
-
 
112
    id = Field(Integer, primary_key=True, autoincrement=True)
96
    sms_verification_sent_on = Field(DateTime)
113
    user_id = Field(Integer)
97
    active_since = Field(DateTime)
114
    cart_status = Field(Integer)
98
    current_shopping_cart = Field(Integer)
115
    address_id = Field(Integer)
99
    is_logged_in = Field(Boolean)
116
    committed_on = Field(DateTime)
100
    account_status = Field(Integer)
117
    created_on = Field(DateTime)
-
 
118
    updated_on = Field(DateTime)
101
    ip_list = OneToMany("IPMap")
119
    lines = OneToMany("LineItem")
102
    user = ManyToOne("User")
120
    using_options(shortnames=True)
103
 
121
 
-
 
122
#===============================================================================
-
 
123
# Different entities for the Widget service
-
 
124
#===============================================================================
-
 
125
 
104
class InternalInfo(Entity):
126
class Widget(Entity):
105
    id = Field(Integer, primary_key=True, autoincrement=True)
127
    id = Field(Integer, primary_key=True, autoincrement=True)
106
    geo_zone = Field(Integer)
128
    type = Field(Integer)
107
    shipment_zone = Field(Integer)
129
    customer_id = Field(Integer)
-
 
130
    name = Field(String(100))
108
    tax_zone = Field(Integer)
131
    enabled = Field(Integer)
109
    rank_score = Field(Float)
132
    session_id = Field(Integer)
110
    user = ManyToOne("User")
133
    items = OneToMany("WidgetItem")
-
 
134
    using_options(shortnames=True)
111
    
135
    
-
 
136
class WidgetItem(Entity):
-
 
137
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
138
    added_on = Field(DateTime)
-
 
139
    item = ManyToOne("Item")
-
 
140
    widget = ManyToOne("Widget")
-
 
141
    using_options(shortnames=True)    
-
 
142
 
112
class User(Entity):
143
class Item(Entity):
113
    id = Field(Integer, primary_key=True, autoincrement=True)
144
    id = Field(Integer, primary_key=True, autoincrement=True)
114
    session_id = Field(Integer, autoincrement=True)
145
    item_id = Field(Integer)
115
    primary_info = OneToOne("PrimaryInfo")
146
    snippet = Field(Integer)
116
    internal_info = OneToOne("InternalInfo")
147
    enabled = Field(Integer)
117
    state = OneToOne("State")   
148
    widget_items=OneToMany("WidgetItem")
-
 
149
    using_options(shortnames=True)
118
 
150
 
-
 
151
class Ratings(Entity):
-
 
152
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
153
    item_id = Field(Integer)
-
 
154
    type = Field(Integer)
-
 
155
    rating = Field(Float)
-
 
156
    using_options(shortnames=True)
-
 
157
 
-
 
158
class UserRatings(Entity):
-
 
159
    id = Field(Integer, primary_key=True, autoincrement=True)
-
 
160
    item_id = Field(Integer)
-
 
161
    rating = Field(Float)
-
 
162
    user_id = Field(Integer)
-
 
163
    using_options(shortnames=True)
-
 
164
    
119
def initialize():
165
def initialize():
120
    metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
166
    metadata.bind = "sqlite:///user.sqlite" #need to read it from configserver.
121
    metadata.bind.echo = True
167
    metadata.bind.echo = True
122
    setup_all(True)
168
    setup_all(True)
123
 
169