@@ -51,10 +51,10 @@ def create(self):
5151 voucher = voucher .map ()
5252 return voucher
5353
54- @appier .route ("/api/vouchers/<int:id >" , "GET" , json = True )
54+ @appier .route ("/api/vouchers/<int:key >" , "GET" , json = True )
5555 @appier .ensure (token = "admin" )
56- def show (self , id ):
57- voucher = budy .Voucher .get_e (id = id , map = True )
56+ def show (self , key ):
57+ voucher = budy .Voucher .get_e (key = key , map = True )
5858 return voucher
5959
6060 @appier .route ("/api/vouchers/value" , "POST" , json = True )
@@ -64,7 +64,7 @@ def create_value(self):
6464 key = object .get ("key" , None )
6565 amount = object .get ("amount" , None )
6666 currency = object .get ("currency" , None )
67- unlimited = object .get ("unlimited" , None )
67+ unlimited = object .get ("unlimited" , False )
6868 key = self .field ("key" , key )
6969 amount = self .field ("amount" , amount , cast = float )
7070 currency = self .field ("currency" , currency , cast = str )
@@ -84,3 +84,28 @@ def create_percentage(self):
8484 voucher = budy .Voucher .create_percentage_s (key , percentage )
8585 voucher = voucher .map ()
8686 return voucher
87+
88+ @appier .route ("/api/vouchers/<str:key>/use" , "POST" , json = True )
89+ @appier .ensure (token = "admin" )
90+ def use (self , key ):
91+ object = appier .get_object ()
92+ amount = object .get ("amount" , None )
93+ currency = object .get ("currency" , None )
94+ justification = object .get ("justification" , None )
95+ save_use = object .get ("save_use" , True )
96+ voucher = budy .Voucher .get_e (key = key )
97+ voucher_use = voucher .use_s (
98+ amount , currency = currency , justification = justification , save_use = save_use
99+ )
100+ voucher = voucher .map ()
101+ if voucher_use :
102+ voucher ["use" ] = voucher_use .map ()
103+ return voucher
104+
105+ @appier .route ("/api/vouchers/<str:key>/disuse" , "POST" , json = True )
106+ @appier .ensure (token = "admin" )
107+ def disuse (self , key ):
108+ voucher = budy .Voucher .get_e (key = key )
109+ voucher .disuse_s ()
110+ voucher = voucher .map ()
111+ return voucher
0 commit comments