| 48 |
ashish |
1 |
namespace java in.shop2020.model.v1.user
|
| 95 |
ashish |
2 |
namespace py shop2020.thriftpy.model.v1.user
|
| 48 |
ashish |
3 |
|
| 3374 |
rajveer |
4 |
include "GenericService.thrift"
|
|
|
5 |
|
| 48 |
ashish |
6 |
/**
|
|
|
7 |
Exceptions
|
|
|
8 |
*/
|
|
|
9 |
exception AuthenticationException{
|
|
|
10 |
1:string message,
|
|
|
11 |
2:i32 errorCode
|
|
|
12 |
}
|
|
|
13 |
|
|
|
14 |
exception UserContextException{
|
|
|
15 |
1:i32 errorCode,
|
|
|
16 |
2:string message
|
|
|
17 |
}
|
|
|
18 |
|
| 552 |
chandransh |
19 |
exception ShoppingCartException{
|
|
|
20 |
1:i64 id,
|
|
|
21 |
2:string message
|
|
|
22 |
}
|
|
|
23 |
|
| 1116 |
varun.gupt |
24 |
exception UserCommunicationException{
|
|
|
25 |
1:i64 id,
|
|
|
26 |
2:string message
|
|
|
27 |
}
|
|
|
28 |
|
| 1995 |
vikas |
29 |
exception UserAffiliateException{
|
| 1848 |
vikas |
30 |
1:i64 id,
|
|
|
31 |
2:string message
|
|
|
32 |
}
|
|
|
33 |
|
| 1599 |
ankur.sing |
34 |
enum UserType{
|
|
|
35 |
USER = 0,
|
|
|
36 |
ANONYMOUS = 1
|
|
|
37 |
}
|
|
|
38 |
|
| 121 |
ashish |
39 |
enum AddressType{
|
| 130 |
ashish |
40 |
WORK = 0,
|
|
|
41 |
HOME = 1
|
| 48 |
ashish |
42 |
}
|
|
|
43 |
|
| 130 |
ashish |
44 |
enum PhoneType{
|
|
|
45 |
WORK = 0,
|
|
|
46 |
HOME = 1,
|
|
|
47 |
MOBILE = 2
|
|
|
48 |
}
|
|
|
49 |
|
|
|
50 |
enum AccountStatus{
|
|
|
51 |
ACTIVE = 0,
|
|
|
52 |
DELETED = 1,
|
|
|
53 |
INACTIVE = 2,
|
|
|
54 |
INCOMPLETE = 3
|
|
|
55 |
}
|
|
|
56 |
|
| 48 |
ashish |
57 |
/**
|
| 1116 |
varun.gupt |
58 |
Form types for Contact Us form
|
|
|
59 |
*/
|
|
|
60 |
enum UserCommunicationType{
|
|
|
61 |
RETURN_FORM = 1,
|
|
|
62 |
ORDER_CANCELLATION = 2,
|
|
|
63 |
DELIVERY_PROBLEM = 3,
|
|
|
64 |
PAYMENT_STATUS = 4,
|
|
|
65 |
ORDER_STATUS = 5,
|
|
|
66 |
PRODUCT_REQUEST = 6,
|
|
|
67 |
PRODUCT_QUESTION = 7,
|
| 3339 |
mandeep.dh |
68 |
OTHER = 8
|
| 1116 |
varun.gupt |
69 |
}
|
|
|
70 |
|
|
|
71 |
/**
|
| 3379 |
vikas |
72 |
Affiliate track log types for affiliate tracking
|
|
|
73 |
*/
|
|
|
74 |
enum TrackLogType{
|
|
|
75 |
NEW_REGISTRATION = 1,
|
|
|
76 |
PAYMENT_SUCCESS = 2
|
|
|
77 |
}
|
|
|
78 |
|
|
|
79 |
/**
|
| 121 |
ashish |
80 |
All the social handles
|
| 48 |
ashish |
81 |
*/
|
| 121 |
ashish |
82 |
struct SocialHandles{
|
| 48 |
ashish |
83 |
1:string facebook,
|
|
|
84 |
2:string opensocial,
|
|
|
85 |
3:string twitter
|
|
|
86 |
}
|
|
|
87 |
|
| 121 |
ashish |
88 |
/**
|
|
|
89 |
Address
|
|
|
90 |
*/
|
|
|
91 |
struct Address{
|
| 552 |
chandransh |
92 |
1:i64 id,
|
|
|
93 |
2:string line1,
|
|
|
94 |
3:string line2,
|
|
|
95 |
4:string landmark,
|
|
|
96 |
5:string city,
|
|
|
97 |
6:string state,
|
|
|
98 |
7:string pin,
|
|
|
99 |
8:string country,
|
| 48 |
ashish |
100 |
9:bool enabled,
|
| 123 |
ashish |
101 |
10:AddressType type,
|
| 414 |
ashish |
102 |
11:i64 addedOn,
|
|
|
103 |
12:string name,
|
|
|
104 |
13:string phone
|
| 48 |
ashish |
105 |
}
|
|
|
106 |
|
| 130 |
ashish |
107 |
/**Phone
|
|
|
108 |
**/
|
|
|
109 |
struct Phone{
|
|
|
110 |
1:i64 id,
|
|
|
111 |
2:string countryCode,
|
|
|
112 |
3:string areaCode,
|
|
|
113 |
4:string number,
|
|
|
114 |
5:string extension,
|
| 552 |
chandransh |
115 |
6:PhoneType type
|
| 130 |
ashish |
116 |
}
|
|
|
117 |
|
| 121 |
ashish |
118 |
/**
|
|
|
119 |
Internal information to be used by system. various variables which aid in serving the user are identified and put here
|
|
|
120 |
**/
|
|
|
121 |
struct UserInternalInfo{
|
| 48 |
ashish |
122 |
1:i64 userId,
|
| 121 |
ashish |
123 |
2:i64 geoZone,
|
|
|
124 |
3:i64 shipmentZone,
|
| 48 |
ashish |
125 |
4:i64 taxZone,
|
|
|
126 |
5:double userRankScore
|
|
|
127 |
}
|
|
|
128 |
|
| 121 |
ashish |
129 |
/**
|
|
|
130 |
structure representing timestamp and ip at which user logged into the system
|
|
|
131 |
**/
|
|
|
132 |
struct IPMap{
|
|
|
133 |
1:i64 timestamp
|
| 123 |
ashish |
134 |
2:string ip
|
| 48 |
ashish |
135 |
}
|
|
|
136 |
|
| 121 |
ashish |
137 |
/**
|
|
|
138 |
dynamic user state
|
|
|
139 |
**/
|
|
|
140 |
struct UserState{
|
| 48 |
ashish |
141 |
1:i64 userId,
|
| 552 |
chandransh |
142 |
2:i64 lastLogin,
|
|
|
143 |
3:i64 lastLogout,
|
|
|
144 |
4:i64 emailVerificationSentOn,
|
|
|
145 |
5:i64 smsVerificationSentOn,
|
|
|
146 |
6:bool isEmailVerified,
|
| 48 |
ashish |
147 |
7:bool isSMSVerified,
|
|
|
148 |
8:i64 activeSince,
|
| 552 |
chandransh |
149 |
9:list<IPMap> ips,
|
|
|
150 |
10:AccountStatus status
|
| 48 |
ashish |
151 |
}
|
|
|
152 |
|
| 552 |
chandransh |
153 |
enum Sex{
|
|
|
154 |
MALE,
|
|
|
155 |
FEMALE,
|
|
|
156 |
WONT_SAY
|
|
|
157 |
}
|
|
|
158 |
|
| 121 |
ashish |
159 |
/**
|
| 552 |
chandransh |
160 |
The user structure holding the basic information that identifies the user.
|
| 121 |
ashish |
161 |
**/
|
| 552 |
chandransh |
162 |
struct User{
|
|
|
163 |
1:i64 userId,
|
|
|
164 |
2:string email,
|
|
|
165 |
3:string password,
|
|
|
166 |
4:string name,
|
| 566 |
rajveer |
167 |
5:string dateOfBirth,
|
| 1116 |
varun.gupt |
168 |
6:Sex sex,
|
| 3853 |
mandeep.dh |
169 |
7:optional string mobileNumber,
|
| 552 |
chandransh |
170 |
8:SocialHandles socialHandles,
|
|
|
171 |
9:list<Address> addresses,
|
|
|
172 |
10:i64 defaultAddressId,
|
|
|
173 |
11:string communicationEmail,
|
|
|
174 |
12:i64 activeCartId,
|
|
|
175 |
13:string jsessionId,
|
| 2020 |
vikas |
176 |
14:bool isAnonymous,
|
| 2814 |
vikas |
177 |
15:string source,
|
| 3499 |
mandeep.dh |
178 |
16:i64 sourceStartTime,
|
|
|
179 |
17:double trustLevel
|
| 48 |
ashish |
180 |
}
|
|
|
181 |
|
| 1116 |
varun.gupt |
182 |
struct UserCommunication{
|
|
|
183 |
1:i64 id,
|
|
|
184 |
2:i64 userId,
|
|
|
185 |
3:UserCommunicationType communicationType,
|
|
|
186 |
4:i64 orderId,
|
|
|
187 |
5:string airwaybillNo,
|
|
|
188 |
6:string replyTo,
|
|
|
189 |
7:string productName,
|
|
|
190 |
8:string subject,
|
|
|
191 |
9:string message,
|
| 1299 |
varun.gupt |
192 |
10:i64 communication_timestamp
|
| 1116 |
varun.gupt |
193 |
}
|
|
|
194 |
|
| 1848 |
vikas |
195 |
struct MasterAffiliate{
|
|
|
196 |
1:i64 id,
|
|
|
197 |
2:string name,
|
| 1861 |
vikas |
198 |
3:i64 addedOn
|
| 1848 |
vikas |
199 |
}
|
|
|
200 |
|
|
|
201 |
struct Affiliate{
|
|
|
202 |
1:i64 id,
|
|
|
203 |
2:string name,
|
|
|
204 |
3:string url,
|
| 1861 |
vikas |
205 |
4:i64 masterAffiliateId,
|
|
|
206 |
5:i64 addedOn
|
| 1848 |
vikas |
207 |
}
|
|
|
208 |
|
|
|
209 |
struct Tracker{
|
|
|
210 |
1:i64 id,
|
| 1861 |
vikas |
211 |
2:i64 affiliateId,
|
| 1848 |
vikas |
212 |
}
|
|
|
213 |
|
|
|
214 |
struct TrackLog{
|
|
|
215 |
1:i64 id,
|
| 1861 |
vikas |
216 |
2:i64 addedOn,
|
| 1995 |
vikas |
217 |
3:i64 affiliateId,
|
| 1861 |
vikas |
218 |
4:i64 userId,
|
| 3379 |
vikas |
219 |
5:TrackLogType eventType,
|
| 1861 |
vikas |
220 |
6:string url,
|
|
|
221 |
7:string data
|
| 1848 |
vikas |
222 |
}
|
|
|
223 |
|
| 2642 |
varun.gupt |
224 |
struct UserNote{
|
|
|
225 |
1:i64 user_id,
|
|
|
226 |
2:i64 entity_id,
|
| 2717 |
varun.gupt |
227 |
3:string slide,
|
| 2642 |
varun.gupt |
228 |
4:string note
|
|
|
229 |
}
|
|
|
230 |
|
| 552 |
chandransh |
231 |
//Various statuses for line items
|
|
|
232 |
enum LineStatus{
|
|
|
233 |
LINE_ACTIVE, //line is active
|
|
|
234 |
LINE_DELETED, //line is deleted
|
|
|
235 |
LINE_EXPIRED, //line is expired, on laspse of fixed amount of time
|
|
|
236 |
LINE_COMMITED, //line is committed, sent for processing.
|
|
|
237 |
LINE_COMMIT_FAILED, //line was committed, but commit failed due to some reason, possibly during cart validation.
|
|
|
238 |
LINE_AUTO_DELETED, //line was auto deleted internally due to some reason(item delisted, price changed etc).
|
|
|
239 |
}
|
|
|
240 |
|
|
|
241 |
//Various statuses for Cart
|
|
|
242 |
enum CartStatus{
|
|
|
243 |
ACTIVE,
|
|
|
244 |
INACTIVE,
|
|
|
245 |
EXPIRED,
|
|
|
246 |
COMMITTED,
|
|
|
247 |
COMMIT_FAILED
|
|
|
248 |
}
|
|
|
249 |
|
| 3554 |
varun.gupt |
250 |
struct Discount{
|
|
|
251 |
1:i64 cart_id,
|
|
|
252 |
2:i64 item_id,
|
|
|
253 |
3:double discount,
|
|
|
254 |
4:double quantity
|
|
|
255 |
}
|
|
|
256 |
|
| 552 |
chandransh |
257 |
struct Line{
|
| 646 |
chandransh |
258 |
1:i64 cartId, //identifier
|
| 552 |
chandransh |
259 |
2:i64 itemId, //item id added
|
|
|
260 |
3:double quantity, //quantity added
|
|
|
261 |
4:i64 createdOn, //addition timestamp
|
|
|
262 |
5:i64 updatedOn, //any updation in quantity or status
|
|
|
263 |
6:LineStatus lineStatus, //current status
|
| 1984 |
varun.gupt |
264 |
7:i32 estimate, //delivery estimate in hours
|
|
|
265 |
8:double actualPrice,
|
| 3554 |
varun.gupt |
266 |
9:double discountedPrice,
|
|
|
267 |
10:list<Discount> discounts
|
| 552 |
chandransh |
268 |
}
|
|
|
269 |
|
|
|
270 |
struct Cart{
|
|
|
271 |
1:i64 id, //identifier
|
|
|
272 |
2:list<Line> lines, //list of lines
|
|
|
273 |
3:CartStatus status, //current status
|
|
|
274 |
4:i64 createdOn, //creation timestamp
|
|
|
275 |
5:i64 updatedOn, //time of last update in cart (like addition/deletion/updation of cart items )
|
| 687 |
chandransh |
276 |
6:i64 checkedOutOn, //commited timestamp
|
| 552 |
chandransh |
277 |
7:i64 userId, //user id to which it belongs
|
| 1984 |
varun.gupt |
278 |
8:i64 addressId, //address on which this will be shipped
|
|
|
279 |
9:double totalPrice,
|
|
|
280 |
10:double discountedPrice,
|
|
|
281 |
11:string couponCode
|
| 552 |
chandransh |
282 |
}
|
|
|
283 |
|
|
|
284 |
enum WidgetType{
|
| 770 |
rajveer |
285 |
MY_RESEARCH,
|
|
|
286 |
BROWSE_HISTORY
|
|
|
287 |
}
|
|
|
288 |
|
| 2981 |
rajveer |
289 |
struct UserWidgetItem{
|
|
|
290 |
1:i64 userId,
|
|
|
291 |
2:i64 widgetId,
|
|
|
292 |
3:i64 itemId,
|
|
|
293 |
4:i64 addedOn
|
| 552 |
chandransh |
294 |
}
|
|
|
295 |
|
|
|
296 |
exception WidgetException{
|
|
|
297 |
1:i64 id,
|
|
|
298 |
2:string message
|
|
|
299 |
}
|
|
|
300 |
|
| 48 |
ashish |
301 |
/**
|
| 1984 |
varun.gupt |
302 |
Exceptions for Promotion Service
|
|
|
303 |
*/
|
|
|
304 |
exception PromotionException{
|
|
|
305 |
1:i64 id,
|
|
|
306 |
2:string message
|
|
|
307 |
}
|
|
|
308 |
|
|
|
309 |
/**
|
|
|
310 |
Types for Promotion Service
|
|
|
311 |
*/
|
|
|
312 |
|
|
|
313 |
struct Promotion{
|
|
|
314 |
1:i64 id,
|
|
|
315 |
2:string name,
|
|
|
316 |
3:string ruleExecutionSrc,
|
|
|
317 |
4:i64 startOn,
|
|
|
318 |
5:i64 endOn,
|
|
|
319 |
6:i64 createdOn
|
|
|
320 |
}
|
|
|
321 |
|
|
|
322 |
struct Coupon{
|
| 3554 |
varun.gupt |
323 |
1:string couponCode,
|
|
|
324 |
2:Promotion promotion,
|
| 1984 |
varun.gupt |
325 |
3:string arguments
|
|
|
326 |
}
|
|
|
327 |
|
|
|
328 |
struct PromotionTracking{
|
|
|
329 |
1:string couponCode,
|
|
|
330 |
2:i64 transactionId,
|
|
|
331 |
3:i64 userId,
|
|
|
332 |
4:bool appliedOn
|
|
|
333 |
}
|
|
|
334 |
|
|
|
335 |
/**
|
|
|
336 |
Promotion Service
|
|
|
337 |
*/
|
| 3374 |
rajveer |
338 |
service PromotionService extends GenericService.GenericService{
|
| 1984 |
varun.gupt |
339 |
void createPromotion(1:string name, 2:string ruleExecutionSrc, 3:i64 startOn, 4:i64 endOn) throws (1:PromotionException pex),
|
|
|
340 |
list<Promotion> getAllPromotions() throws (1:PromotionException pex),
|
|
|
341 |
Promotion getPromotionById(1:i64 promotionId) throws (1:PromotionException pex),
|
|
|
342 |
void generateCouponsForPromotion(1:i64 promotionId, 2:string couponCode) throws (1:PromotionException pex),
|
|
|
343 |
Cart applyCoupon(1:string couponCode, 2:i64 cartId) throws (1:PromotionException pex),
|
|
|
344 |
void trackCouponUsage(1:string couponCode, 2:i64 transactionId, 3:i64 userId) throws (1:PromotionException pex),
|
| 3385 |
varun.gupt |
345 |
i64 getCouponUsageCountByUser(1:string couponCode, 2:i64 userId) throws (1:PromotionException pex),
|
|
|
346 |
|
|
|
347 |
/**
|
|
|
348 |
Returns a list of active coupons
|
|
|
349 |
*/
|
|
|
350 |
list<Coupon> getActiveCoupons() throws (1:PromotionException pex),
|
|
|
351 |
|
|
|
352 |
/**
|
|
|
353 |
Returns the count of successful payments done using a given coupon
|
|
|
354 |
*/
|
|
|
355 |
i64 getSuccessfulPaymentCountForCoupon(1:string couponCode) throws (1:PromotionException pex),
|
|
|
356 |
|
|
|
357 |
/**
|
|
|
358 |
Returns the doc string of the rule module
|
|
|
359 |
*/
|
|
|
360 |
string getRuleDocString(1:string ruleName)
|
| 1984 |
varun.gupt |
361 |
}
|
|
|
362 |
|
|
|
363 |
/**
|
| 48 |
ashish |
364 |
service
|
|
|
365 |
*/
|
| 3374 |
rajveer |
366 |
service UserContextService extends GenericService.GenericService{
|
| 763 |
rajveer |
367 |
|
| 552 |
chandransh |
368 |
User createAnonymousUser(1:string jsessionId) throws (1:UserContextException ucex),
|
|
|
369 |
User getUserById(1:i64 userId) throws (1:UserContextException ucex),
|
| 1491 |
vikas |
370 |
User getUserByEmail(1:string email) throws (1:UserContextException ucex),
|
| 3026 |
mandeep.dh |
371 |
User getUserByMobileNumber(1:i64 mobileNumber) throws (1:UserContextException ucex),
|
| 552 |
chandransh |
372 |
User createUser(1:User user) throws (1:UserContextException ucex),
|
|
|
373 |
User updateUser(1:User user) throws (1:UserContextException ucex),
|
|
|
374 |
bool deleteUser(1:i64 userId) throws (1:UserContextException ucex),
|
|
|
375 |
UserState getUserState(1:i64 userId) throws (1:UserContextException ucex),
|
|
|
376 |
User authenticateUser(1:string email, 2:string password) throws (1:AuthenticationException auex),
|
|
|
377 |
bool userExists(1:string email) throws (1:UserContextException ucx),
|
| 566 |
rajveer |
378 |
i64 addAddressForUser(1:i64 userId, 2:Address address, 3:bool setDefault)throws (1:UserContextException ucx),
|
| 48 |
ashish |
379 |
bool removeAddressForUser(1:i64 userid, 2:i64 addressId)throws (1:UserContextException ucx),
|
|
|
380 |
bool setUserAsLoggedIn(1:i64 userId, 2:i64 timestamp)throws (1:UserContextException ucx),
|
|
|
381 |
bool setUserAsLoggedOut(1:i64 userid, 2:i64 timestamp)throws (1:UserContextException ucx),
|
| 506 |
rajveer |
382 |
bool setDefaultAddress(1:i64 userid, 2:i64 addressId)throws (1:UserContextException ucx),
|
| 592 |
rajveer |
383 |
bool updatePassword(1:i64 userid, 2:string oldPassword, 3:string newPassword)throws (1:UserContextException ucx),
|
| 895 |
rajveer |
384 |
bool forgotPassword(1:string email, 2:string newPassword)throws (1:UserContextException ucx),
|
| 592 |
rajveer |
385 |
list<Address> getAllAddressesForUser(1:i64 userId)throws (1:UserContextException ucx),
|
| 1892 |
vikas |
386 |
Address getAddressById(1:i64 addressId)throws (1:UserContextException ucx),
|
| 592 |
rajveer |
387 |
i64 getDefaultAddressId(1:i64 userId)throws (1:UserContextException ucx),
|
| 783 |
rajveer |
388 |
string getDefaultPincode(1:i64 userId)throws (1:UserContextException ucx),
|
| 552 |
chandransh |
389 |
|
| 1167 |
varun.gupt |
390 |
bool saveUserCommunication(1:i64 userId, 2:string replyTo, 3:i64 communicationType, 4:i64 orderId, 5:string airwaybillNo, 6:string productName, 7:string subject, 8:string message)throws (1:UserCommunicationException ucx)
|
| 1590 |
varun.gupt |
391 |
UserCommunication getUserCommunicationById(1:i64 id) throws (1:UserCommunicationException ucx)
|
|
|
392 |
list<UserCommunication> getUserCommunicationByUser(1:i64 userId) throws (1:UserCommunicationException ucx)
|
|
|
393 |
list<UserCommunication> getAllUserCommunications() throws (1:UserCommunicationException ucx)
|
| 1116 |
varun.gupt |
394 |
|
| 1995 |
vikas |
395 |
MasterAffiliate createMasterAffiliate(1:string name, 2:i64 addedOn) throws (1:UserAffiliateException utx)
|
|
|
396 |
list<MasterAffiliate> getAllMasterAffiliates() throws (1:UserAffiliateException utx)
|
|
|
397 |
MasterAffiliate getMasterAffiliateById(1:i64 id) throws (1:UserAffiliateException utx)
|
|
|
398 |
MasterAffiliate getMasterAffiliateByName(1:string name) throws (1:UserAffiliateException utx)
|
|
|
399 |
Affiliate createAffiliate(1:string name, 2:string url, 3:i64 masterAffiliateId, 4:i64 addedOn) throws (1:UserAffiliateException utx)
|
|
|
400 |
Affiliate getAffiliateById(1:i64 id) throws (1:UserAffiliateException utx)
|
|
|
401 |
Affiliate getAffiliateByName(1:string name) throws (1:UserAffiliateException utx)
|
|
|
402 |
Tracker getTrackerById(1:i64 id) throws (1:UserAffiliateException utx)
|
|
|
403 |
list<Affiliate> getAffiliatesByMasterAffiliate(1:i64 id) throws (1:UserAffiliateException utx)
|
| 3379 |
vikas |
404 |
i64 addTrackLog(1:i64 affiliateId, 2:i64 userId, 3:TrackLogType event, 4:string url, 5:string data, 6:i64 addedOn) throws (1:UserAffiliateException utx)
|
| 1995 |
vikas |
405 |
TrackLog getTrackLogById(1:i64 id) throws (1:UserAffiliateException utx)
|
| 3293 |
vikas |
406 |
list<TrackLog> getTrackLogsByAffiliate(1:i64 affiliateId, 2:i64 startDate, 3:i64 endDate) throws (1:UserAffiliateException utx)
|
| 1995 |
vikas |
407 |
list<TrackLog> getTrackLogsByUser(1:i64 userId) throws (1:UserAffiliateException utx)
|
|
|
408 |
list<TrackLog> getTrackLogs(1:i64 userId, 2:string event, 3:string url) throws (1:UserAffiliateException utx)
|
| 1848 |
vikas |
409 |
|
| 552 |
chandransh |
410 |
i64 createCart(1:i64 userId) throws (1:ShoppingCartException scx),
|
|
|
411 |
Cart getCurrentCart(1:i64 userId) throws (1:ShoppingCartException scx),
|
|
|
412 |
Cart getCart(1:i64 cartId) throws (1:ShoppingCartException scx),
|
|
|
413 |
list<Cart> getCartsForUser(1:i64 userId, 2:CartStatus status) throws (1:ShoppingCartException scx),
|
|
|
414 |
list<Cart> getCartsByStatus(1:CartStatus status) throws (1:ShoppingCartException scx),
|
|
|
415 |
list<Cart> getCartsByTime(1:i64 from_time, 2:i64 to_time, 3:CartStatus status) throws (1:ShoppingCartException scx),
|
|
|
416 |
void changeCartStatus(1:i64 cartId, 2:CartStatus status) throws (1:ShoppingCartException scx),
|
| 3556 |
rajveer |
417 |
string addItemToCart(1:i64 cartId, 2:i64 itemId, 3:i64 quantity, 4:i64 sourceId) throws (1:ShoppingCartException scx),
|
| 552 |
chandransh |
418 |
void deleteItemFromCart(1:i64 cartId, 2:i64 itemId) throws (1:ShoppingCartException scx),
|
|
|
419 |
void changeItemStatus(1:i64 cartId, 2:i64 itemId, 3:LineStatus status) throws (1:ShoppingCartException scx),
|
| 577 |
chandransh |
420 |
void addAddressToCart(1:i64 cartId, 2:i64 addressId) throws (1:ShoppingCartException scx),
|
| 1984 |
varun.gupt |
421 |
void applyCouponToCart(1:i64 cartId, 2:string couponCode, 3:double totalPrice, 4:double discountedPrice) throws (1:ShoppingCartException scx),
|
|
|
422 |
void removeCoupon(1:i64 cartId) throws (1:ShoppingCartException scx),
|
| 687 |
chandransh |
423 |
|
|
|
424 |
/**
|
| 3554 |
varun.gupt |
425 |
Deletes all the discounts associated with the cart
|
|
|
426 |
*/
|
|
|
427 |
void deleteDiscountsFromCart(1:i64 cartId) throws (1:ShoppingCartException scx),
|
|
|
428 |
|
|
|
429 |
/**
|
|
|
430 |
Accepts a list of thrift objects of Discount type and saves them
|
|
|
431 |
*/
|
|
|
432 |
void saveDiscounts(1:list<Discount> discounts) throws (1:ShoppingCartException scx),
|
|
|
433 |
|
|
|
434 |
/**
|
| 687 |
chandransh |
435 |
Creates a transaction and multiple orders for the given cart. Returns the transaction ID created.
|
|
|
436 |
*/
|
| 2814 |
vikas |
437 |
i64 createOrders(1:i64 cartId, 2:string sessionSource, 3:i64 sessionStartTime) throws (1:ShoppingCartException scx),
|
| 687 |
chandransh |
438 |
|
|
|
439 |
/**
|
|
|
440 |
Validates that:
|
|
|
441 |
1. The checkout timestamp is greater than the updatedOn timestamp.
|
| 1466 |
ankur.sing |
442 |
2. All of the lines in the cart are active items.
|
| 687 |
chandransh |
443 |
3. The estimate for any of the lines in cart doesn't change.
|
| 1466 |
ankur.sing |
444 |
If all three are true, returns empty string; else returns appropriate message.
|
| 687 |
chandransh |
445 |
*/
|
| 3556 |
rajveer |
446 |
string validateCart(1:i64 cartId, 2:i64 sourceId) throws (1:ShoppingCartException scex),
|
| 552 |
chandransh |
447 |
|
| 687 |
chandransh |
448 |
/**
|
|
|
449 |
Merges the lines from the first cart into the second cart. Lines with duplicate items are removed.
|
|
|
450 |
*/
|
|
|
451 |
void mergeCart(1:i64 fromCartId, 2:i64 toCartId),
|
|
|
452 |
|
|
|
453 |
/**
|
|
|
454 |
Sets the checkedOutOn timestamp of the cart. Raises an exception if the specified cart can't be found.
|
|
|
455 |
*/
|
|
|
456 |
bool checkOut(1:i64 cartId) throws (1:ShoppingCartException scex),
|
|
|
457 |
|
|
|
458 |
/**
|
|
|
459 |
The second parameter is a map of item ids and their quantities which have been successfully processed.
|
|
|
460 |
This methods removes the specified quantiry of the specified item from the cart.
|
| 770 |
rajveer |
461 |
*/
|
|
|
462 |
bool resetCart(1:i64 cartId, 2:map<i64, double> items) throws (1:ShoppingCartException scex),
|
|
|
463 |
|
| 687 |
chandransh |
464 |
|
| 1599 |
ankur.sing |
465 |
/**
|
|
|
466 |
Returns number of registered users.
|
|
|
467 |
If userType = null, then it returns count of all users, including anonymous
|
|
|
468 |
If userType = UserType.ANONYMOUS, then it returns count of anonymous users only
|
|
|
469 |
If userType = UserType.USER, then it returns count of non-anonymous users only
|
|
|
470 |
*/
|
| 1672 |
ankur.sing |
471 |
i64 getUserCount(1:UserType userType),
|
| 1599 |
ankur.sing |
472 |
|
| 1672 |
ankur.sing |
473 |
/**
|
| 1891 |
ankur.sing |
474 |
Returns list of users of type userType who registered between startDate and endDate (both inclusive).
|
|
|
475 |
If any of startDate or endDate is -1, then that filter is ignored.
|
|
|
476 |
If userType is null, then returns all the users, irrespective of anonymous flag
|
|
|
477 |
|
| 1672 |
ankur.sing |
478 |
*/
|
| 2642 |
varun.gupt |
479 |
list<User> getAllUsers(1:UserType userType, 2:i64 startDate, 3:i64 endDate),
|
| 2717 |
varun.gupt |
480 |
|
| 1599 |
ankur.sing |
481 |
|
| 2717 |
varun.gupt |
482 |
void putUserNote(1:i64 user_id, 2:i64 entity_id, 3:string slide, 4:string note),
|
| 2981 |
rajveer |
483 |
list<UserNote> getUserNotes(1:i64 user_id, 2:i64 entity_id),
|
|
|
484 |
|
|
|
485 |
|
|
|
486 |
/**
|
|
|
487 |
Returns list of item ids in myresearch for the user
|
|
|
488 |
*/
|
|
|
489 |
list<i64> getMyResearchItems(1:i64 userId) throws (1:WidgetException scx),
|
|
|
490 |
/**
|
|
|
491 |
add item to my research for a user
|
|
|
492 |
*/
|
|
|
493 |
bool updateMyResearch(1:i64 userId, 2:i64 itemId) throws (1:WidgetException scx),
|
|
|
494 |
/**
|
|
|
495 |
delete item from my research for a user
|
|
|
496 |
*/
|
|
|
497 |
void deleteItemFromMyResearch(1:i64 userId, 2:i64 itemId) throws (1:WidgetException scx),
|
|
|
498 |
/**
|
|
|
499 |
Returns list of item ids in browse history for the user. It will return maximum 10 items.
|
|
|
500 |
*/
|
|
|
501 |
list<i64> getBrowseHistoryItems(1:i64 userId) throws (1:WidgetException scx),
|
|
|
502 |
/**
|
|
|
503 |
add item to browse history for a user
|
|
|
504 |
*/
|
| 3385 |
varun.gupt |
505 |
void updateBrowseHistory(1:i64 userId, 2:i64 itemId),
|
|
|
506 |
|
|
|
507 |
/**
|
|
|
508 |
Returns count of Carts with given coupon applied
|
|
|
509 |
*/
|
| 3499 |
mandeep.dh |
510 |
i64 getCartsWithCouponCount(1:string couponCode),
|
|
|
511 |
|
|
|
512 |
/**
|
|
|
513 |
* Updates COD trust level of a user
|
|
|
514 |
*/
|
| 3530 |
mandeep.dh |
515 |
oneway void increaseTrustLevel(1:i64 userId, 2:double trustLevelDelta)
|
| 2642 |
varun.gupt |
516 |
}
|