qPQ^jDTPYR2HM(J;3^1+U-7p
z%i!t;NQvdN=q!P_`#8>-1dwA|?p6OOF9>r5C^o4tZ43)bF9A^(K!R&Q-u)7gd1b&9
zTbZ8?*Bgyny}Y!Vo21|gZtz9`-qV1tf$CXAj?#9D+Ks!TqHHOrR(1q87~R@~{kEuDkcl`(psxXj6Qn(UeY;=#olf!}?&mX%Y66HR
z=Pd{(`TbjPj+x5AuJH3UM$(FI++ZS*kQOw$AJxdFYW2hbIlC<|@@B};5e9J@k;EZ|KQfUJxX)hcsj`(PMM5m_`0i^US
zu$fVJrk#6<`!6a|CkeR|s1Q0jk0YIAJJMEDIHuz*l5hu%nTNAPq
zhet}7OGP9Ds7@j5MX@EMvn0f9jo5Jtqf9C)AwUU^1>2P)yKItqQ0$F(YSdp;SQnKH
zAQ0RuZ5N6YHpx0j0Y@U9GB~2sQAq)&>*WfzP72T}fnb<|%w{)W7{t`nEdga?J!a!9
zLNb7&2g1&bjtS{3iKfyEw**(X4EQGmXo_K9_FWfdG9-*MCE}(#B03$F4B%;O4-aBK
zUUerPPS%+c`TXMAuOY0|^cnyp$5__Z--`3Bp
zyk#PQev<~XwB%A;(4zCYU!F43BJM4_#H-14@)84-u{cK3`LMpA68MB#8m~y`3?Om<9?!kb}`qK5t%NSbyO(L+U>jzbvaQIw6S&?$4v9zhsf5|1kiR(
zkUWIVL!_gl1EBH9-KRzObKU7a8!SE681MloJf_9m`)G6yL8YA&lMg=YF}P;3+=s7%
ze714T0B!gFy|K@mNTu_E&HKSh6POBv^$?eaUdI}IPbv+-Xmn3fVtj?@T!h*ZTnN|-
zW5yC3k0ItSfv*doKaRZn6w|;yL*hIi7<`*y4N8?CReyncGia=ORPM*`rJuET#UMS@
z(Og=VhOQalfF=7I2-bqH@AA&=z|AI#rsQQ{YpA`;a?dG`0Bz@2IRbE-0J0-
zzgY_2LrfQNdH*obuq@Huj``f1oHXQNm%B=Ivni`tTP86;Epka3bh7i{ZRnfjbsqZ6
zC`x2er3RFV=;zsaN=6|x03*g}@9K8|E8VcdF&J4E=28%e0P4=%BT%~}5&VC!d#J&T
zp+w%ZKw|o@TCCgJbK1MAgB2Gt1YXetbsm(Kwr*tLssf~nr#;jJODE{Ch_hxKrE@UI
z))!Neq4sukBo4<{Ka3bx6(AbjC9qa!Sf@u|yr(I(xW7iWQnD}z
z^8uNRO6Ob7m7r?~icZA1ivk?@>l1BuF)vrD^%%a@ixpP0A{(a%;`m$?Ak^i-e6FeK
zq!l`qss0=%KmFKAcgpa+_IA7)j7BEW@&mqRe
zOE6S0Y?;GZ#+iG$dDdPT(zZQG;Ja}ykCjQ`Ak-hzG-~2EtVRyYD~Nc2is%PtLkV5M
z;BsX3$cMw(&lHBh+xx1+`|8lPss^fffTBxz4pMTuR_?~>fb*4!W%wL!5nWFS+VN}x
zyn+mwdBJB_p3pRMy5~7usMGu9YZX@qztb1de;G7
z?GmaszN<%q)ka$9_iG;De*gdg|Nk*+hTH%E00v1!K~w_(T{hW|f*!@x00000NkvXX
Hu0mjfq)m(-
literal 0
HcmV?d00001
diff --git a/server/src/HuangyanParking.Api/Controllers/CouponController.cs b/server/src/HuangyanParking.Api/Controllers/CouponController.cs
index dc6727b..2793290 100644
--- a/server/src/HuangyanParking.Api/Controllers/CouponController.cs
+++ b/server/src/HuangyanParking.Api/Controllers/CouponController.cs
@@ -26,6 +26,7 @@ public class CouponController : ControllerBase
/// GET /api/coupons/available
///
[HttpGet("available")]
+ [AllowAnonymous]
public async Task>>> GetAvailable()
{
var templates = await _couponService.GetAvailableTemplatesAsync();