From bf59262179fb47380b5cefe0b28a3597cddb39c8 Mon Sep 17 00:00:00 2001 From: RickjanHoornbeeck <51879@hoornbeeck.nl> Date: Tue, 5 May 2026 12:44:14 +0200 Subject: [PATCH 1/4] Feat: Added new email providers Added PlatformEmail for auto-detecting emailproviders. Added AmazonSES Added Mailgun --- internal/store/management/store.go | 13 + internal/wasm/test/action.wasm | Bin 507196 -> 504903 bytes internal/wasm/test/provider.wasm | Bin 598785 -> 599433 bytes modules/providers/amazon_ses/Makefile | 11 + modules/providers/amazon_ses/README.md | 16 + modules/providers/amazon_ses/amazon_ses.go | 318 +++++++++++++++++++ modules/providers/amazon_ses/go.mod | 12 + modules/providers/amazon_ses/go.sum | 12 + modules/providers/amazon_ses/main.go | 239 ++++++++++++++ modules/providers/mailgun/Makefile | 11 + modules/providers/mailgun/README.md | 13 + modules/providers/mailgun/go.mod | 12 + modules/providers/mailgun/go.sum | 12 + modules/providers/mailgun/mailgun.go | 102 ++++++ modules/providers/mailgun/mailgun_webhook.go | 130 ++++++++ modules/providers/mailgun/main.go | 318 +++++++++++++++++++ pkg/modules/providers/channel.go | 3 +- 17 files changed, 1221 insertions(+), 1 deletion(-) create mode 100644 modules/providers/amazon_ses/Makefile create mode 100644 modules/providers/amazon_ses/README.md create mode 100644 modules/providers/amazon_ses/amazon_ses.go create mode 100644 modules/providers/amazon_ses/go.mod create mode 100644 modules/providers/amazon_ses/go.sum create mode 100644 modules/providers/amazon_ses/main.go create mode 100644 modules/providers/mailgun/Makefile create mode 100644 modules/providers/mailgun/README.md create mode 100644 modules/providers/mailgun/go.mod create mode 100644 modules/providers/mailgun/go.sum create mode 100644 modules/providers/mailgun/mailgun.go create mode 100644 modules/providers/mailgun/mailgun_webhook.go create mode 100644 modules/providers/mailgun/main.go diff --git a/internal/store/management/store.go b/internal/store/management/store.go index 259f2f64..b924e87e 100644 --- a/internal/store/management/store.go +++ b/internal/store/management/store.go @@ -1,6 +1,9 @@ package management import ( + "context" + + "github.com/google/uuid" "github.com/lunogram/platform/internal/store" ) @@ -26,6 +29,16 @@ func NewState(db store.DB) *State { } } +// ListArchivedCampaigns lists all archived (soft-deleted) campaigns +func (s *State) ListArchivedCampaigns(ctx context.Context, projectID uuid.UUID, pagination store.Pagination, search string) (Campaigns, int, error) { + return s.CampaignsStore.ListArchivedCampaigns(ctx, projectID, pagination, search) +} + +// RestoreCampaign restores a soft-deleted campaign +func (s *State) RestoreCampaign(ctx context.Context, projectID, campaignID uuid.UUID) error { + return s.CampaignsStore.RestoreCampaign(ctx, projectID, campaignID) +} + type State struct { *AdminsStore *ProjectsStore diff --git a/internal/wasm/test/action.wasm b/internal/wasm/test/action.wasm index a0c4885fcc1299dcd79ed8461c8d7ca95166dfb4..4061b53bb904f34dfc3e31cb522c43d4a9da36cb 100644 GIT binary patch delta 78084 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 bhGYyJ)@R_TzE6zF82(h>QA36g>;HcMcUYe1 delta 81990 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 z zsX`Bx1@h_i zPMdw1a$G}i1({vP8?ZwkzeNKm(d^>K54Zu*_Z$WAy8+QpABFvnbVm3>7YXg+J^=uO zkKBxZ%O_w~j3kO{Z~8>VRugSK^$FOjBOSEM{Zu_A+Ir`wA$&@vYx~o+xWM|Kso4CoBUC9AP_vS42;sfaHIk7aXUBOQ(@ z1I)Z*^^%~C8^WVE(LQnvWROUQ+Wvg3eJT_Ue!^a(G~ovsBoL-n-0}Gd_ChJOBGw-B zg=1JyBE}5NzL zs{#Z=X{j7VF^^2#2ELu2MtBPBJzte$+Y}ha%w;kEG)x%fr2EMfnyxarj6d1cJr3`j zY+J@fe*>TmbzIeQ{J@-@sZt~-&?qXa2uUql(_1jSIzu5xs8pcGCobf)d z*-BJK%aF=Kz`Zc04u%VXg4zTSOsaF010tM#;F=96_7R~#Y6mmR@wLP3&ra_|bjK*e zH1HH47lwYUljM8axY6GBZEjQ$@&S}Bc#|%Cx{63|; z-))Y+4GZ{K-75@d9( z7l1`16VtPU7aOw6GMK_r?J*a9_=JSA2QDrn=qqhG^OqciL5E-3x>Ea!UnXN+nM+_J zcGdU(mu}5L98?mf7elo@U=35T4{=Iqj)j;iXwNm9P{s>;&{dDTAC_;YULGpjC$X~j z;>&72#Aw%C&Si(yOaoWINe6h8Obph(d^uNEOkrgM)4@fio{)p9{jd3KrG9G;JtH^Q z+Fu=$gmNpj{7;iAL>0jf3KRg6P@3SWffEu(x+G%a+W#mnXwHqC@v%sS1=O+Ae{0X? z>(S6zr)ENe~a@*eu;Wa5mjN z38t0*D5ma}^z_{y1*s5e(-uJLYn=sIMF??C02=;TlbR}lV$7c)L%G|x`_Cb2`&0v5|u#Sw25*o^GY5Mx`m<5y||H=8_5rM7|fr(DpB1iDnhk z8}Qx`&;UUV8Cfw_^2iXxH<&OB*&&*ZH0|1;bB1=i|E03Byq}>xBE5GzJ&|#ej4cQ`w-HccW@0LX96b*UN&nn1WF-$qj2phhN(csFC zWwo#aLWBXatdy@^E{oPk&$0T&MleCFH(W{%j$^O$qXu$22y!7q`dY@b-{>qN zm6fd$*l_;R2Kih9YmDa?v+WXb*CBeV)hVoY zHF&kMo*)o>zp@84u_~8V|FH2dDXePn=qezm9Aq;Q5rP1FtAuv5irLMEsSNYDOd@PEzy=*zIEbC2BP#gboSyszo1Tr#>IZ7W&iLzlD1D@~l1kn0` z@Ho=A{2)z(?T0j01E-K$jsZ`0#B({g97AD6zEX}o$aj0RW3c1fzL4GQ;Ygf~SI$aj zPRNFu(iiEtF-A?0Wil9$Mt25Q2CGFYK$%lcF%9TYZq8uH;bch$s}MewYZ>ew&wkW> zmCMyG&t_0R$c|*iOm@4IuqfwcGStT8!Ayn*et9Mn7v|=`)vds$WBtn&*i81cOgts( zVfI^E6vXB!b|>doWIa94IO91!fvpEXEm_#mTM0cPm1qhm3CIOOhNf|OD9AD$%|rei zWP@_URS%3L1y!#Q^4m=Oq|k{Mt`07zhBQa`G{mw|H>b0P&RZGGVk14jRbTSV!QeN#0bdG& zg=0#Rk=0l(zDU%sMKy+!y_{D~lZYeL5DJcQNwRF#haiu+xe{iQBJa;;;OKU2PV%#C zJsl&i%lPVSrJ7EHGo3AFI-AvWi1{6^&T^@HMQeODSko5Jv%>|$EHknC*vE$X3>?!H zXlG;`ij&hVPqKWp25W?KH0A;MaSivxs-ce5Vrj)0Icy-yLK2GNZ!ARCq9_IQ95gXV zUiXs~K|WEFDXW_?Bgj)V*(=z+vB}D{wMuti4Bg+$Qk|aByXhy5K=#Wm-CC;2Y|Mqp z|{Cu{XotGE#*#`v5Slp?Db=Y4~pv&n)_I_Qq%MT?I ziQUvxxxF5HhR^iNf%Vyb>H%YCWbFp5cMzxJvl=OvIsTQV@;Ms0-0sN+3=|lbxqZ_B zQ0n+bS-T++TlgK+kX5Q)suv3qeG5Q%SDk@zTy;ig;n{`^)HOGV;_rqGIEc&hvKp}o z|3i16)2Qx9F4ze&W-h#L!~h*#u4qD}WxVH}^k5{)>Q36YY}A<5!&5P)G4ePkb6l=% zjG?hk>bTt7n62CL=3W%5R4ao3K3MiP0vNjTYT+muzqA;vXjqrAl& zv%yuybY6FG{{9pfEh}zk@iL=;IWcqS)sejmkPCT;auzT&sL2-!*zLae%kV%EmwB7R z2-WLhBr1sSM>S`yoFH1+qdD8*JHF9p!8RqfU^k&$L}`wk(~MC$gu=j ze}KI@wR9dgq-Q(w449GNq2WxJ#@Eh zxn>A(=;j>&Q%{!2yE`x)xsQR#S#Z8E(fxFZe7*zZiaD~|z=}<2Vt23*^F3Gi>SrHLeMGk6oVO3n=t!Ee36iF>gzi8vfDF>0}TIV*Z$_VT7#^P;V zn9Zuu~Bix{g zUV&rd(0$!?E6a*^?ND$ivgC{?o`l8_B11cFWn=l=FZDs-|7RcP`(Fosk3t}a>FU0o7|5zoUu3lYXJ20rq`uVo z@<0M6!pdRTy01lpSwJYwrmF4TcM-SOVb}8e!R%r7nH)2OZ7k9o zgWh!1e(;2-KtAhuiLV9RrgS$zDh3321MNTn)JStw;XWgdlX9GLFcz3sT*|8n3vfcD zQxg#6&?yp>2?Y}G9O_<5BQM9h(a|3q=EoFbCnMqZDx7y#u2RB*}gEx zp^O>EY9wKg(2ZIb9f!8V7&v&Hs2=(7FgA#<1g&fstK51eyr9k-INr2B0=BGCkiji1 zSfQT5RA8FsF*I%mbA_J*4(O|z$?kWsls?cEf(PDjg%D{2kDy9ZK>&&wr9=Y}T6NN+ z96#o(gwJB&wjpOO8bp|M+zp^4_uj!;@Xbdh8_wF6#Wli)Bdr6|F|vF33mOd^&N5@L z4@5ewm_3|T=o&BEltbN1E^FNh|jJURe>D3BihLUtR& zGO-hq;3kb>`B*01aqAeAhMnjxd1MS5hGenfST-YElH50z!3AD`6zJWO7ss-Ph)ODR z!i;e&iIOcf&s+P>oeD6lksen9|k5U zK0lt_8M)NMeXyG{f44}NjV7=?C_eo@frV6xAs#?2KEd@ZC9>v3Rx=8=Q%@bmCzZHp z#3!KMAXtz%XSrg6Tr-hjnz4LkBD=?X!OP-|g3#e^)-wc(0muii3{=w;0nqe}YkC&s za^Kx7v#13S21ABIAfY3!1Chfc=MV^W=@%Hqm_wyT>E}qA7!VF1U7krA;lU&jKzm37 zo(wq>cJDhrJA$?%^x`U z@%3oXe>RXex#}L4(E&Qtbj%k<+UB$k~FjgcUT@gdv*J}DFnFl#=E)lTJz;EkXM_$fdoS#R8oNvvEJ7$8Q$ zeLyVi>M-L1Yvv4wE-?=!;N!UKA^%tN)>9s zBSnlAetYyHG;NZnKJX^X;AhNJJ}3a1H(Cy}^5o!_yg)uOh1K@_RST?F7{o%swq@n- zQ`jK#NP{jlU2mSEuxj_LIUDU=wbJCG`?Sr{+U`r1yYFMI$)Thu%t8* z6iEC4pO34KkfWi8OE$fqLGDc)oe;U?erD^0}!jfP{wTRaX8m70p_4j#QZS01#BOO=>PZ9?)|kZT0B~ z+_@-g!awI?XeTTcGA6+Luz=wgdmea`e7tiDDM?QB6 zreAQ7$2rEhHZxfx#oGz#RP;aYF@*QP1uF@VkE?)a{O@wdOn|^?^-TUf6FnDk|C;ARbZ?yJ!@`(t?q}*ij)LUSXnX&fIw{D3fQiM1)VZ+30X^Ze%f>%DF;C zj-Aa`@zd*Y>FMCf(Ni!nbAW&xFK7$-?InMNWML&pn;AZbrJ(wRXAPGOwlqAs+KL&} zu`2S3IV{5k!>&2358tnbkhSM(2%0cF35!gXJ?1jU-L4FXzs_ajRJ3H+N)?O3#YU;c zl64UlTQA@i%aqMMz@D_f%C*(XBcRyk z!vam1h9cW#OGhYRwoDvF(;}>_Gz=K(DeqnkUa^IKx$Ygv3LAY0Qr#dws)}5E$Qvoo zE@rC<5fw>$bP0%CV7U8z2^$E%#eE)ynb(0e6NTmwApxG4pf}NrSOV3^W|g(mgJLX+ zMXxVq^_4D;G!VooI0GP|M5A)%n*T6?#g6;n7CCtttIj@=>zA?TX*zf=iu*2S8{Jeo z>05#3Kv%h)xPozlG-sLLDSNGO34t#6)}&>Xez>1xi^jUl=AeSqJhl`PN)b_~TGW+|6z8gOgSL6WJA z5fADhp<;nzlTHrDpaBCjC4blk5UM%R+;(qY}{*SYDEI9JJ4Xm;9H_+|o@P}!TOr3k%O<1S3*Xhq=yR~@vU5WoP{cSH+lj&d?a00k9dxK3E$ zb**H#Rje%A4w01=oWRZz1Q=zK{N@Gi5Kh|4Aa{iP%J*+&cn7L{aVyKlcw1NDfjEC_ z@gsKaH7efLkX?)xQ;yTNvTMK>@43X8NABC=Rq|(&T)P>p);~^x?cKYLb*JIgzLb9v zyu!4tvgwQ3$kyjYuzAi@w(qTI(2w2DrstH#R>O!DZApU;bPNv7|CQ~aY{UFN+s+>M zz7fTuHJ&YgiM>i2t*ve08x1xG*l0rgF)y77(-!C>cwsnU zV%t|)r7BQzHWdVI7Ra=iW)|R-ApDXGUuF05=VRoaE#6GhB?9)=6Opp@YpfUHtfCpP z#AjY(9dN1tc}+{1Ena8+u)OMZHpX>G0B%*54R&fFsr^n?K0Kmi%uci~IN8i{;ZAmI zSo*R&x6^fwDg3Rzi;cksB;>E%#p<`mlcDID(tW#uZV2b3o&G6A|Azx~Sa?~K^7YbH zqyR|NUIM=?zniVZ?#ceKZ?|!5YL*5^kBx5soS@=0CBcIsA0-hgZDg5H#9`-N+7g&c1G#Id#<+x!Fi}$iQXon$w9@>ZA zc!w(#_uj{9f@95L339<3Y&ez)PJg|@<|z#TSreQe2#qApVt`}Mcp*83tS~6PxK^P< zZ!!q^cdbI#-qfZiT6WX@tSLSxy`%`rrLy~w9RtSs<&ymn>vn2COTp%(dR*JDyCcn_ z>09WBk8(7N8E>(<-cugn9@>8j*CAm>DI%s#4`73khza={B0 zF|L9FYL33kHigSxvkn4(g7>!^1dlu@nO`2nEpt2v4#n;#XCHzksyv8N_h1i9DMe6> z$wSDCkNQ&Nu){ipWb0vecPjZv46V`^Peh>AB1v|7k0mQP(=aM6XZ{90QDW3j5D-IJkn;+4hd2%K;yO*=l-B@w$(g z$BD62K|5PNW~Uurd+`%TVMgI*(KkPF!?~2VD*aPdF~=3T0jc1~h9i{^@lLoDdFZF? z(KL9$nU%E#_`@7^HHUC4Ma>ka zq_6-oSrn%wW<8}Mhv*MS$dHFC@<#rn&?Xr$eam_oALQvuCsiaJOom`Zh3-%k)~j-T zo1jyt%Dj(QCE4{jYwdj^9=)9Jf9dTbkNg0cRmm^#O0wb-kc69`U=`@7LBLWFkJ`u+ z3^Fn(3U=)Y2B}c4#&rG!dj`wq_{())vYQBUDn9M!FOgL_J0m-PrGw-ae8rr2Cp4DH zcfLZF3pD{Gkvw?17CU@$;AhFqE`cPLt25t#iie2IEr%u<@xVeM=TQ#xBMP0fQ~a!-uFElLmj99%_V19FKj?C z>TyQH&OXB`->@OE`K+_L;gGZc(vUdaMbj|kI&{!2Tu&@K8=kNm;E zH6$iE;GAx_`rNpbg^Wir3bInQQenWEp) zerC?)PD=E8=w}AGKQT@?+}WRjD#B*hyufb3dSlCyb1$$)1Z}mihcB?H*nmt?-7o4H zF1g6^si8V4fHoi zVT@zv$-c~*D5C?Y0iaR^y(5D@2v-TS@=UwTp7N}Ygimy+5A;AlPOR+uEBnpWUpoJX zJ?SV>@Xe3ZVz~ap0uJDF1hw0)u&K00lue3HUSanO1Y7^BtfFUG0)#G&FYr~6tFN*W zYKYDoK9MIfiW)|H^rJ7J1Om z{g7?C{5D^{Z13R?*+*MQ@n0VPz6$Sn&&MmccDP@B9P*Z28)l10-YI6Wrp;cY&C4Ts zJ|v>acO!W>Ttr3`Z(DxH$G$chje%46mCqj;k7J>e+n)D=gzsGXEFto^oK%G8y>23* z_)-+_%-QqBRtzu0@!EsDQ5M|1ZAEt+AIIeFaU9Z9=&lUJOgWbvS~ynuPuN3uBAA@)`pcS2pz7+GAu93KvN=LFV)O;bsI$#PdZ|3RH4WnGL? zf*4|fbJ;CMNR^X=mIAw3dr3sfKzUx9ohxopp4a8!`&;L~7bO}JzW#TzMDf8O|As*@ z`}0}+09~5_%Ui4zjE5?5_r4nWLnVH13h408c?6>@1V&mrK9=`X<{LQtrdQ$T!mS1g zRryUx@QNeWftc^b7jCbLnBtlZ)>q|q@W6dqm4h?MF(1gks`4ImH65~l6u2N*k|ZuL zqn!k8!LcjIDb)}`oLe;HyVZEJm=$4CS7J6-vHiK(9Naw4l~QtbHlK-$b5vThxcwi? z`qlY*4!_5$^I!25!tT#%@K(4u!@5Ao#l=CxS~(mdSDc$R%Iuo|vbf)C@+t_;U@hJif5+G2Gx7I7wRodg1&x)_07xKoO=|NBTf4}4 zdAt#y9U}uvM6xV=8_Y=?^Ka|hk<4DwRsmCGL+njUxOg%nI#Un;h zWD}lPQ0!0=REuzrd6W9QF^1o9Lk9=0@tKb!$tUXb=X?v|cofDjzwLu-{z^bDhj_Yl zxu5}mjAo)ZdwxS+$>FQAZ$q9{3KDY~@^wn#@j%QvVLS!}gvCe7wv9MsAG@l;bSRf1 z4O^Pm%QxzzGt zVyd?foA7cNwq%$LY-^I-SKpgtwcJ}jTaK|p3$E(fwZD;`^bJu|8yeHPb(wtY+kZ%PP1&-;- z<~+R|G&BeY#}wI`KBkM0$}%l@bL@w9@-}b-U?_llEWL=-`c8P2QZoYWUbNBPLWG|i zV$~eVr8a&FRN%axE#$e>ucpSjU#0)5v}@HbZ8^k%tA0s*XbR<0{Z4|5zEsEpxy`WXXwd1<#nwicj$k{`C=Dx)m1Ee9Pj;B3&Kw%obSQaOU3Zp+7F1KN^MJN@F| zcKkM?8A|CBgd=ocW?QarmG4}ff2PU`{1tGn|&mJCHl+Q7S*ti?OL`Z5x@BhIYk+ReOT`CwA8 zti>ho(36+)U29JkS@-OaZ#>dQ(O}%tZ;%7bS`- z_vd|;3IqrWW`_V>Wi7uL!0`qE*<~P~i1k@!@&^ZMjPeiS;|yY#l}`@g1=y&PX;d;u zH%c4K9iOk#o+k`Ok`|y;S9x?WZ;icV4AG;(EZp9znBIOEqI;_`)a^|r&dwUDvAwEk zczUSrE$4RLgN}u22&XbrK6N_>(@?;wW?EmpU3XhBj5`Xrie{fYj8DLZ*{0#8VY*@6 zJ9ua6R;}idJM>|%PCedXdK}K%mTI_gIG=$%)-VmzM(BpUNAM=48m=0_r(?q$)3EBD zT;<;nxs#)7viPw(c?^quItG+l&ouevd{4T3Yb1Y#`oP4+;)h4^&Tv$WzF7SEXkG`l z++`yvV^E87xJ7ZxF+lyWf)2!8V>KZqYO`Q0S6KjC#`4whfrO6Z_@}OuHhVm85?L&G z(V_Ju zekc39_=QP4&9OA&J!JBudr{>ep{&^yUP0bE8IPkYeL-cKd}cDzH&+CMO0c>)-}8{F z(fd<)V;n8|J|u4O4s{)IAMfr(c_2~FxD2+KkM85!y(MMw6TS-K8}H|v8e0)raTv&m z7a?Rpu%IIY5Mn$No5-;I^s=kRp7e5$fi$Zb=3XE%4z`+&xa)(>#J zV*;Nh$-NJ7xG2R1_#I}BTi1*5e zvMT~4S>{6Da37z;$CQi^6BZUf_hJ5q_wN9>(q;Z;5Z6Ixc)0;>J)}$Otv?-cH3kA$ zzz2%)|LP|VjBIA>F^Laxx62%^axG`g;T>IL)2DMZ*iz^6xwu>F=Ata%8lNuA)z9;k2x>oGn6G;vVL~j>J>0Z_Pbt;#odw7{5*+Cww29v5J1D^VtJE|^xa7ulrPy_T`%#6 z4SV&bk@6o~%J-0f4^vc@kvo>5#g3dRdzSGU{OBtA<1!>lu5)GDa$XzjpI?sr-*vM5 zz8txQ>ra9t>8B!3;tv_D%`0D?iguUGJ@`0Ia+Z$+Pn5&9I^ecD@g z;xXtFcF6ZQf8Dz^nq}zE($IB$F?daJye#_!|C#`z6c^7*{t3SJ#Yzr0rkV?LWQA2c z8)}Q&t>X1r2ni>|H%0*5PGWo=n!udPb8rsIWwyLN>nt0s;f>i-#S_->NLHjm)=t75 zK^U`k9Da2WTM5>H265D>Ibzxzc4`jbUoN5Di{d*bUGD``kPbp~uPO+OZ39OeM7EiL zLHXNS{%EcnH4CI24dVJ%RxoFRq#2iBZe?}vGk9ek&&N<(Vx1S(p{VCxUy!_>gA?Dq zzM#)~wEeiZ6g;+`e~N<|lIILs3%;2isRxD6QL4fy=Hs7HI0|gPpX7S^`IEejxe@jZ+!srmLk6TqPjR|179XSg z9p5I&eEd@`y;tY#tEafSa%1o&Or~>h3V2`>?}B&=&odHz5GWRk!+yw_a%B@&fl}o* zb8w|O*Ko@2o6#Wc+`}nXZ{{8H3_-y05T{^Xh}kM86d;y}ERqrMaR+fF*9lWj& z4?zf$sr)4V1E6BT6o?m*#RRHYX?mCGE^8P?zVx)7mbrFTo_m_-A*7vqXANc|q|ME< zUI)_VN-^2~8RX-BQX1siXL!X}b;dU1tRXn!&@-sB`AK(>vCmSAy{1LOXL+5n(84Ga z5bA)Z2P8*)z35pEu@!#OEadiQIRq>FNwbjNEvPp69fhLn7L?QcR+bTM=WpR~uaV!; z8Q$1}%CVnRgXPchW=)`IlmHl;F59i5Ay)cMRHFizXpAdhbAAqpAOLgKbNo}!s!X`c z>soK$7&(0xkC&I8=c9>agSxM{^Ib3S7qESWtsK6pp>m%ghimv&P1=^=FFt<#MMM$E zs5GmH+O8Ya+0Ii{gAOkvF;92&&t)&G26E5K{0ekX{OT(p9b-@49T1cO6>WF$ajN3g zS2^D8SDf-1pRFoZzs|F;Dz9APdwT!$Q2eF2+bAT9KL9_X=}<|=@kjVjM1_e*cn3FpVE++5!u82|9B-l%ccN~f zlB?r<^=0R0y?(i7o3E1G^C2(eIS7N|T}D;pA0P74vA_?01i}W4_2Nf-l$$G2`D1>Y z8VgNqzz;F#92s`$(Mk)>AixY@0 zZYERhFZIwPzeHPEoWq{|U-3RzCiZ;SS9lWQNC}bKze4>xj@Yw2`4w-{3(AJ^0)OCu zO_71em=zmN>hKGTPNI<#=Hm3@a8<_1Jc0&62<~z-d}p5os;~oMgD|G0K+ZeG9hbb4 z_7lJ63lTxqea*v?Y2N%=86M;xUvr61^S|Zk^0{xc-}~A(s35qw(&IEAQJ_u)$mS0B zHoL9_1QA#T;Sze<`kO3q5OnX#PrsgaZ83^0!+0vy7KTcZ&wZ<=<0+3upP6W(WlpWa^$N#{#3a#)y>R13M-e2_7S5%BJI>uIPdbQtHdXAHiq5SdRUX zze?z?wDG#<_;}|8%4g4^8Oc3>^?u@8uuKQ=>`(k&ffY2sofnar$2qJe@jqw+a!(Jj zmg5)sYR@4*P?=zfz6hdgGwosavk@Fj?B@xOC*QDowufRT%S=WtCn zCEy+YosUSvDT{FYCsCo}A3PmTi`fJ@=8x-e9ePfe`~TqhDKrV)cT8|k2ArNqOYVNz zmo8`h$<;NX&^$|~T;(by44Y%;1dVN1`KWj(8)yK^rOSO6c{!Dt1mSB)>`z8OUMoZ| z#@C0y&$cf^((j5xkTi2Rz!Fecf?MDw>clKd7XHm=gb{spG(Y&8KM@5NGAg1k$6rGV zp6Cchhp)MT6UgkA6$nsT5^43zHVJfnEc;$8AtVroPb)szKsSBgUI2X0Ne!aZbe$g$QTfQai(@B^|7WD0;i3!}YVa@;XisLN&7 z#0tDZTV9A2N~s{Aw~Z4v*2929aV$D}?c&8itbaOQfcWK5T=^l?S5#w9)niZAW8aN~ z61cl0h+FXG>jx!RcM6mql=y7tL_O&9i6R>ZC12H7i2@QGKbK|7i2hhlKC8)P^me~g zM%;(b^O8g={{J0UDsEtJ z*HqB~FABy?f3Hb+b{+CtQ^khxD=GVx6`in55Z+c+jKMNNHakuCPE@U{DHHG}r3vsI zMLLN2TAHYter_q;KI&1bf6#+TG0xWvlFfBh9~RhVGYC{V^H3 zUy7D|CPRQ(G}2Mwf6st%UV1`)kRd9{X5~dRJ|vG^*YYBVpI$4cme-3jo;i7-ynyKD zNXIdknklMcnH+PiGX*GIk&a_-T&4h)0!p?4#`Ewz0A-_ND?XkPCSqO56!X~M#WO32 ze8-(!xdAUxKBzYzBh;%=8MoYxnd)9yq?i6E5t!59gZH_i9Qr6xa(XZ)R0BJq!@9zB zLio3*vdF;6xWaKnu!aQ}X$78j#N#AAnMCY|f~Wjd1Q_C+4;IPVRYV1xjBBmZlc^P| zPS&c#^kDT+HSC1q2d7jKAQidsP0v*k)v-)S`c)MHCJZ-vDW$4@PIjiYRrPbi%Ll3o zCHfFPzFbwbOjo2~K3qhC(L{K;vhy_}8K@>|)qt|WPqll1kEj_Kvr#+u`t!BDbTXS zp_;*f5JRH}tZMo?TU#hQqd!*+#+R#^`nz+5^MP|^SKpH>GO9y^Y~27hIvykKf^mUt zD_a9KL2VV-w_pK0Pk?S4ZB;k@^~n>C;{qYPyt&AbTk}LZeofQ(oE^&;e&e-(k&5kRl+Z zG|LeM_ zMMpBr;&Ra}OPhdqXsy7C9o%e2E%VmB4TSPyFK-}LM(UT2$Vak7IVlSP5AJNJH@LQG z{(M6*P$j2BhhT(`wsOsbij9y-L|b{L+@X;eT}B<^#R}WJL$Y8uu~ z6OX1EdtwyrDKNu)-xLLpX!`iE%qh^*Zf>4WD-cRuGao&c8w!N;Su{lz{w@%saJ;<{ z=8cKX#3O(ffXtP!ejnA>Y7RH@0J?N-E^_d}8}wjSb5R{D-lU4+=Asr>?5B$J%|-c| zQ1OcUUQN*`EjX{zKU#5iyZ_^v~S_rsaDcX96D(-6`I%35Es`#LV$i#|wsp3B^ z#BiM7z(SFRzf%gucx-Tx8eA?EWA(yPZEFQ89Xu$Z2Pa#J23T>7DuS&wY(A%o z9LVsU%X9xF~!#W(GR`b6{BR1xYRMq-O^sA5?M(V+-LpJ?l} zsX|d6vUvbk82FNG1`jk6lQ${I@y4)VOuH<&A67-S;%7>tt#3^SN`n2?ycGTs)M)EF zr-_QJn`7e_w7!#lJBl*c!}sQK@x2}KrZJ$W7)@FZ@pEA(eUQ(XCQ@`3O%W=EoyAZz zHlvnXQIlz{@+LLlYn4*Jr?WmPXX(`@T|_@j$qhn#2+f6of1pRtbP-LdH}Jb7(bv7f zw_S8^z~9xu`;lIm+Eolv7JCdOz|PLmlb^eau2}ICRkZ6S%45ZOsuf-2`Xs z$>PP`h2IhKfdfugxbyVQ;si~qYy&<=zy(4|tA`+v#mX+dz6Wws^21cTMT`c}6fd|% zbX49EG8Ub>Rh&n63OB^Cq^GzA%fuV&_YzaFOnTyLygn%W61MBWL#!_hLhmtH>=vcV`MB{(6cKMfYW2v3zkuj>%B2PBY6AYUG$U;K55aBkUhM!@Tq z+$;!Cv>;s>vIOPe!9v{&R_}H_8tJq1Z~y0LRb|&zvBXnfT`kVljWPf}Al?d`T8m$h}se zyX$W89xk=u9s!@;qDu`H-6K?FEt{mZhpb5`7Q5cRxs$|7e5=~M;!dn567kr*LZu!5 zeys^xS7S1r-;7l2tFXxJvg!ViGlc>31QX{Vnd}DzMfy3BmFY#OBgQynWJ{5NSQ$4T_}e0(F1V>U zU4X;G%?oZZUDWA>j0a3<+LZ+hQ8v5?u z;9r;H9u)fs6%;8em?>uC7QZ!9OmH!-`7C{c^z|{qVv|sTb1`n~ECF|VxS00kEK!5H zRcQxF4~aXl0b$sK4~Y@gplrC4f>5~G3BF*51WRkPfro|kUKY-WA>P{oHNC`r#Zg zn^vL#G<2>2rv_cp;GKuMnrqALG*3XdmutO!*pzA9y{1g#{xJ`+&9&aveMG-cZ1=85 zv{jSX?#@Sqh3)AG_~xVGz_r$no39O+gzdZMi+1>&usvac=!<1CT~Ayfs+WPX;f-n^ zL;$YWOot@6eG5=Sb3Q98lNXAaST-iI;{`rXTdrb^Kg z%e1raNC7eDZn9F<6=;5Nl9lAB6{124l+Dh%Cn!dqiWe#J#T6n8%~T*u1Cd3-dU6F) z>nLaM+dU=*A=sXIOsw#p^8NGEE%K$uMcC)9Dn22mho7;{Pl$)Y&sc+%=vMJKXMFfd z#BKMCtuAylh#0s!ji)KHi2k8`qgfhv|=_^v7}f<1+nmmHwEu z-n=!R{#Z$Wz~wc1h{N>9(f0HgTzsaV&BBkc;_&KgtoX-Ds)6h`{b)b^v2mlRIlV#N zwO)kXE;oO@xK}L>96;u>W?mTdI7`jaf8t`zpSWD}Cob6hiAy$r;-bx;xNP$$F5LWy zOE-Vw;JbnQ8X`tD=ZC2@pF6#$;0%=>9qt&n7w**n*LY{Q`9x|$2t1rD*dsA z;19&c^h|#or9bAxtG$7YLAdbSI=%rebwn4gd+)-wC-t0(X`Fphw8Vp3>nSl2Qt#J2 zC4S7(Cp`-s&?q<>sRYDGkV7aL=DAJitZ?&SPHh5Xj($&l5J0AHMnj{U6VrLKRybyC zMv=+Qjd^RcC`f`03Ndvnx0@G}^fbtahu6z-Pm2l)rGU8NcEHbRSnUM(#f`#W+&lcm z?ZjWiVf>wCei6&DeAN6NHou4$>OJ#2-~1v*{h#9A1Wf0u{~w?G{+x5}*%yNuW1AVv zkTLc(%iKhES+ZqGkwTVeQy~c@MI(porIMX+tE{0Yg;EKX%2SGp9-b)b_j;f0b9?G} zzTfNr`(4-nnrp7lea`26&iX#@^WG2T6OhsKLM`)yU{O_Mo&>R!CLpFK!8JX%E|Sew zcwK0m20=yUuJ9@c)HrfuvCvcoprwDR?Vx|E?Vx|E?Vx|E?Vx|E?Vx|E?Vx|E?Vx|E z?Vx|scuW&&H^io?mTA}~`+z*TQf-ICRdze*Pt|tNKWUat@ny6fbS}2ThE*i{O%B^r z=$BRAHcDIiV#{i;T?XbHOH0nH$@Vyc94K9;?m!r+f;C?Gig;o8d7L}(scQmOUl$!E zanu^`Fn>xYlZP=u+(xz58$@9H_FAvGI*y4@CPYpFw1WAdU%>)Y#KWL<#P%SxE^Dmw zMwbJc2CDA}f{;)+Ug@iSZ77p%>xjAXx4BsF)fh_q05S7*8{~SENrFVuMF0+8fX17m z(_a&xo-F7bZXlBwYl;?ah2=ITI`b8-wJMg{tZ4LCSu(QTQ=uU~Uhmx(*epA2@Se{x z+lx*S6O|MKAGIrO&&6v*iTXXS{hGfk6%RPTBMlz(qN6qj$~*AtTc;gfYWH&?!p95rzFC(jGEDm^VMS$(u)OR&%r0 zl%69u6AtkS{})aE*PFfjq8WgJ5u(3+dVg-jn`hf33XWoiBNQj8PO{@DFdc?q@l=m3 zq;&W3)Z<$`=XRvz6uV79DXHal8^>DX3U zXT%ccnX=9sn#Z%dquU$aP8xNIH@yb*1R)5CkmXb@id1WYKkdZs!)z(Et3uk4J&2AG} zZo8K(TYnH7W>|6)>GxVg=5^b>oWC(-UZxD0L7yYqFK$2U2=hnuF+)DI!|P%X7GagH8 zG)5))*&QrVezeOQX`5B7TF19M+_qwE?;d%JgdDyt>W^=c0f}$^RCTv^t@G}qyUAq2 zw{_aHTeAacd%Qf#x5sgKj|RWddx-V+ZJe4^;AP}%d%RM%Q%ZvU=^ipU@hzSz?Dg)V zkv+Xv=UYsCY_Hdb@=?A(c72zB^{R?bSb*#OQUmWGE_1r9 zIR+7qab$ET8uoQuDiFT1uqUurAl2@D?*$*E{`o#JM?Mm5_<@&K18LLX{{oYzrUQp( zDrwj&A9#bO2`ohy;}bGUOq?=;E(T|K80fzW$Ge<;?G*;pOj2 zvh#s!wp`zTcyV&fDG#?=+reR7Gvu06UVFCs+U<$5@X4~pUi!y>>PH{>=(k=L1yGIJ zLg62$A|}6F{|_%S8feTm$~o;t&Bx;J{Z@tcgSE9dj z&wTF<`=5X#``>5%?^ay)I^&IrGi}||N**}_UBkA&*^lvU^?qD(HX397e)g{e_@6#+ zpH|uQ%!k|mZ}sH;KdJ|ZqS{9Py+3Rl?j+Mv-!q7jC{&-gkvnMy{?nToyXH_J*hWX71d1~T^%=6>1@9GW zx816KaGlZ~pSj@mibbRv1-+4W7rmF9X1yK=0r}g%ytVOoZ+o}lSFIsom&l+h!}e14 zxb!2!a8=4DEehf?!aGvkP;^ZVJ;9E;>H~!r#tM17l_AWae zxDbB9L+J*f49B33{hb(#49l0wmA?~7o?!`T>0KciMut=O)JK{|blVj#pPnA_UfpU)`-Y@B2&V5`o?+1% z%E_T2StHWkf086P!wSje)<3;k`AGXZU{LqjxVJO4ez=(C>R`}HH5d)>a~aIJ4U%g1 zxe=^1^}tsM;}$qoMLH~oj7C`7#DW_@`PUd^Vi{I3{M;F)fWvBlTLc&^vooBc_n80# zU7TT!P9>s!x2c1)@kU0K6lrPazc}ncO6mSu+eEU^$Z(3>_Cc0U6*$>kTu4 zvsc`PDMuS7JH$4Ts@HCqFG5VI6l=yZhz)(~ib=6F2flU1!C0oi>i1ZtHcYiRh7IGa zEwEt_Zk;yFqj7AY-7tz$*t&&)FYIf$(>M=1nm8pw%2R$6mh7zQnj%VHM z4x%rKP2ZQSUE;xOf?e7Nj+wmYeV^Jp6PPk#oSMMgeI|;i|1E(j%gP%Qnf952@|(DQ zOkE<~=rWt5b~O58B7^n5Z{~3(k%6#wRvoft61!-J6Q&8Qnau7ZeqebrQ_)H4q_9Eh zJC})}Sd)b8GprNMX>X=DB(QBZaxp)2ev&R0gR>p2JxEQ`vY* zTbAJ;sjMU2m{d27d?S62HHH&qAocrjosK7X*0b9@NiL218kbxEuuA5 zc@`I;7$lImU__=CVTA0Z)WqKS-lf{a&0)j5z#+_^E>RSA-&;@jyV)c2l zV+jV_;@h~aE5Wi0mMp}IU!nK{5WJi+&(nB@)td_@XClGGl7;e*60Bqi)ZrsEz-@MA zdR3()D_;k%oB}ZFA`hbo)Rrf#kR~U^;kXA%vU@EYWz(`~f9Nm<`l)C-N3t(UV=;!jD@nQM6=MMp5d)Ovy4?MQvTO1Xj1sqDD5#WO+J&xyrXzG@~=! ztONT-Thq`!hK?xp8)r=e>p7ILM*EjC*=Kev`81Xjr5KozN(R*L%3?i~b67rYxon8q z%x$feZ10QKrC>8uaXl}F1GIb=6+d5wHKMeQBypk)VbBzZiqp!nL6o+E zA;y#DU;*!;i1h`AL$3A1nYzM}cAL@tA{ zBE=c*-;&FmBcbwEU7E{ad!G`ntUmy5$BkQ%S{8@xePs=l+S`S2%Q1N>m(ADhO-!N< zWZTO#?ai&grs;leQT?c5@@rLOd3BXedMElx`27mS16Dbg=+`A2W^wdHjp}wqYu!J+ zB7<>7iZ$eyzg1*IDP7Ife0L?b%&vhQQHe~*4G+MHAUxA{&|1&8smzp9!d;aa^t~xz zYajnhW!5QInWdbg?wmt+D2~E3e6K*j8paRI)7`Q5@Q3mk)G8^?9{##28fh3ic+48n z3#Vt1{b(&cpW5xjA`NR8Kdy>~_Bv)kdb-}o*y~uj+IH5Wer7cdBG!WblWNR`I;%))-Xxz*rW&kC z{r-HW0!7rR&K{=xMyAJGs?*_=VomGi>FTToVZBlX3?lCoYf3NM6tG^Dwzl)H7BC16 zQ=IMm#R68I($;pqYz@|j4hUmAkAah`_mU&>i5kpBCs#7j%QYC>sZzquh`xGFR!7|q zqhyGjvLTh(j z9oB}Iu7<3HoYauzQ4Q8UU%u9m6;g&X$G_T;m7@%2j$f$}%dU?MYliQi*Vyw% z&B=c4rvJ=#_(AinHPAQsV&_!C7st%Ec3W#I!o zoE7PGPRy>mDz{?;4?)og4CflKsVSRig$FP_2cv*3HL*F% zk%ODDVzj>=Y{rz!)!t^TDt+pl2re~a5B}Y!b?B>2&Ds5p40TUPAIG4g@HKyemK09` zFLP`TLJ-T~Ae7>~5#*pk-I(<*fMXQ{f=+S11agehULSgiO+3!xHB7%re8{kfS|Eqm*V;fc@3mKPOg^DN84AZ3; zSu4oWG38Ig9ZJC*p;W|U~pCQ-&jD;`+dUVrka z&Dd`;CfSVh?b!tSDmcVJJ_XOG*@ z`gLU4U63)wWGJ1(6!Sr}8apLC)i08TgswB1t4%@ZSwn!l*OAf1u#w+7GJUblyPfsy zl<&$W%Aq&0G!n3sH>D@v#K^%;rgb4QCc}~9bGk5C_GLIy{9qTRqUoWMS(I-{^4Ghv zTPa<^)R)_hq$(NCm3C}5)~$wFbwW`_NJwY|1^^@?gaokW(40~vHL7GPx!6sUrzN{< zX^OUsE}0`Z)W6q zBX94)26T54jgZ23+Ma_V`|48zCLIXnOO_q5V=xilvC1I`{*;{utuk)Wq)RFA+Ac=% zo~&xz#ACpdF@&F6_hjuTHm%iC&Fjg^XCm$Cfjgu`{<)q!jC=UxLy(b5ua}->6mYzvB(z3Wz8(8{%E+^P$% zx|Q9hT*4I(rw&Wy(yxYRteNINw?eX>XoX6${Ov4H?~gq}%saLnFn*$wB=x_Y zq`rwx%)Rt>manThqN*{{A^FAatdPoC>2}^A)+qJtQgLIhAankh92|>F<)}e=bk-Yc z{vg)hVggM}_;W;r#3kwybOEYM*0&*Vu%43EgP96GBL}k!?0pV(F(TagH>W7`5O-y! z5^vlzgq5g3or(^6LY83RfW8#i8jVaH!fFO_fyV1YSaVvH--eJ#+BYI;bth~#kw4^4 zrUL)2zLP;0?;Dk<8=zrsF_fQ73nZKH;MWC2{h|qPXUaWyvAe9x4PQmW`@wl8k7SK$Ms|)QIPgtY;zqH_ zsYv@4Pr2c^qQXhV<+@SoOp;%YVz~6vh2>F38zvTa^l9eD=gAvQT(BR9r}JpSS$;s; zk)zpGc2EQoWS94X#)zu>J!~=2`y`j9aZo5Ojm15p_+!HpaomkzP&!)>s5geB4*rr4 z9m57v+9H@EW7u>`TYPfoSQajhv@s?y7!v9b8Cc0m)6{%6mMvma1)NQA8F(eR|DS_OibNWVw`;o*4*A}JsxKV;+9huNLfibb;3 zA0dLqkI1;;5!O{Bvz-tM`;i$-jJGX90;k4#f$FzHus9_I3nFJ7S_D1s$8el8o~RK& zhU3TMi8OLC9OcLf?0!AY6R_FSb89toHjI`jpA+ernaq zz{TTWa?B1+C%S3Q#6umf0))=wUO1sq4#6fN<#WJ1d+tXDAvl@r&YFNSl)FB&~V>vcY*Zo;Em*p2+as9bu`fT3d3_S1@>BW;Q=Mh==6iasMB3>y13+c=hJocpv~0c^=OL4}J-dYTwfAR}`cpIQhS#Y7ID$a-nXQ-K zGF6jivq}V$ug+#=Xats<`d~I|Mrq5Flz7hS4z>`uZ2`Cu+MH<7re#YeKga6V!FPr& z!ODankATY_^luHq`I^BnL8+inOmh6nndjJ}#uNaze-SpI5DtivL}G2octF_26XSgi zQdmBR)g~lh*2^J*8jBSYu#*!f^|Dow`qZ#I(P~MQb&}G zyguoya^#igS$EySCDnq}i6qWvo$9ELE-@`Ea4pQGUvo_hndT_9N|UGN>uqV`5y}1Y z*&{TqChm~zyg+xrDodVTpbx#K2Ce+MfYqL04vhZ^Hyect!Ch(@pqyqF;d_~ig1K*Wces~Y6X3t0wjlpPCMt?Se*tV3u3LXoS?a|?Kz zB&U}#z#vO4VznsWX<@oAVl^nk=~iYef{YItPPcM!5$O|>!d6uxOD|?K?TM*q_sxr0 zJ)aE7eo=#W+7c3|xZNPTETMDB9g%Xz64r}iQ~10E9hnJA8u93-@LWh*%7#+IP8aj& zQdW&JoGxbbQr4I+_O*R({^GSH%-{66oxJiQ zOa7la-a(FEMzXymU+MGmGTnQp+d00BRi-ucUV^a-N;(}+t(Vv%&@}2(09b@@=jo3i zr!f|uzP}7?zrmvTj`CMu0{@s5BM*+GD3vdhVkOB}6^(eAlu1dxs%Xc{>>0a~3h(!R zh4rIwG8EMe>I+5tWGBEa&&?F5AGM11OiEhLdXZY;-w2=7Qbk=Bmyk1-v)idfr;GY+ zIh$=;R7cUgSK08`Y+SOf{DTy2RelB0R_PXv$~G&Awt^j`J--cYHEp9lX0~pQOkB(2CY*|+Zz*Ey zN&KQse8N0Wt7ffc>{^Wev5}^020TfTI96q*#JiuE0?{TjNluBT_~B2fNGT;V_7xXN zPOm1btkE0HY0rk6468kp>(;RAX*8YJvnuV@xq+-Q16ZyGU=?U?0Gy7bn;Q7yIg)wXBhCId8ISd7^3gio$ivo!BEkN;~}~FH8vpEoIS)-YjHy^SUSYlCZ0VO zF27if#mjjK*>WTM(6=-$vq_sGj@ZP?rT7-d3Jm1ojw~Y!H2?(Rm_U!>Acve8vV30V@H5a>$RfKV2q+lDHs|-P`1mfU!*0BcaGEy-> z5CeHCl(I~ygFZ=JX@tG)+fcUMp>0QPWQRFBSV!uRk%Y;!J4jsY+XJTVWDRJawB5;E zIC3SAd2lD2M9_A1CsWboChyYLB-U_n<1Y3ZRb4$No1Acf{PeUpyYd5HDwYxqix={ycNx6Xoq1wp_PZ=z*dt5DV|w)vYegljNcvZ#(Z5Ku z!^{uVtx693koBXIRxJI_hpZWmB=iweR<091VwF|LgW20+A0qUPFF#jH!DBYcXD5Hb2ff(6=V~mZ46d+Fp2^(zY1%3SG7c7$s8$rdKFNxIm%?_J>slUDROIEQf@{JS%g8@c+t->bsFbqXdz$!S8oBG8`Rd*f7`i)>h z_CCpK(%j}+LI<#%Ov9Rgl6^?ys9;!-`@Ui;Xby6}W+w@rFpoKrO5d=J>KZ4cvLY8x zv71$D@sF&$9QG}XrwXhnV*IxXs^o@m+3Qrn-QO{FtHY-6NFU*h7w4ST@LG5pCm0nw zt+l&=>#}miY2u5V9ivSDUKj56J$si5m;XUa?r-@)*O_NJ|MCyI+_yjIK4hJVs1(e*WK7s?HTF4XAxiTd++y$GT0R_#wF>2|9)FDMS!4Kd(>}2c1iSLCnu- z6rn-qo_LY;WJv+sB_6H{W6uN?hy*#n&9)-?X)2?P@ zKy5wr)6_#hO+EC})I&cJjb#3LkW-kaPtLR3X^N~_XNzB0z21tVQAnJ2Bn}ihEP&M~ zhQigN{$jG3>QQMtsdjo&gY=|6l+Fb)q&ikQ7uyx1mWO^}3#hr88VV!#{*!fZ!Z(Gi z4_shnse~1;{Bl7fi?SD4MHQKis4V!A6JR8ft!iGCAk(I*PU52QNb&4Ag-4voB|D^x zSwqw57g+^NL1f)U_Liatj8G-=(61m6EQVAFxZGt{l?28{u42&bC1M7{_0%mR_grSJ zsoO?=64`Z`t?($r2v8zpud?e@hLN0XdWC-i+HOfnrD1E*yB$7WRH-6wB9&9#uIWgViz+K92~nC z&u>i&@1Ne2X_6HHOiVC=+ib=(ydv`9DJn7(;$?-Qt?Z^Y=MfsamEHWpc@Iik*-aP0 z5x&kDx<;l7UQ^A5v2>L?L%bqk^qnyVTm2N`)$NKXU2o-BWT1qTp!AF7%INm#Se`*I zoFrv!ELUc9PLlF#EWg%xy&w)5_{51;2F2;Ro{QrMKpbU;x;>67KZZ+jydK%{SP_U~ z^xig%RCH7k-#`^b(jg(yhfcIHg>SMNc_^OW4(g(TW2V1L#~1iz6q4(UC2I=`RO zIE3to&S5I9T8u+g&m9?lQ!(C#($;QbX)z8XC+_SfjuoS6}@K&t^AHbg}7DzSMPODHD&71Rld9nm|!oFg(d=Hi6=lzSn#$<3c5CcFjwtB6i}(mF3EUU~^f1Eby|NRgNFBsx@sSCU8lPW}%goU&#j)Z~{kV zQ{Y{B?rlUEe5pKt%3=a#8Pg=2_ojxdC~OfHf*|FqY+8AL5^Cr0=YVAVNjQ|tTUJBb zZ7yt3b3Y1?vZnB71))C_Cp5kS-^dmx=o_6%OLNgh6q!d|nX(AcMbp=kw|r2>1rkd`yl|VP<^8hz0q) zCB^8q$mw)GuVI&nOfzI|b$%liu-NLJ>b!sO>O7Y~>0j09Ru2Epx$*_PJlVCX zpikgLa1fG7hB_({zJxe#+(e>7IRRtV4JN|)ocu;d7jP)l;@m3CDc~vu(ZK?~njK^T zuV~k+mE=n`_+~!{DuQ5@iHxtwI|YL0<0+nS@uD-Q5@>d+6#emG1=+ARA8kjY{2Vsc z=B<5z3)G>r)^}}hP=~j+#TBNVR);@J1?=ops7n~q2eiI*c@s)oT(Pt+Z}9IGgk{Bg zG{-)CjjG3?1@-}HVLc8JxerL&>S=Jc807nUyiR#IDk4Og2V6=LjLe}F#Q>4DELxF` z>vMRS{RMX9bM^UR_K#2?pi9s-iiAS#bJtGQoi+uL^~zLO#qtwZN93XhTDOUsK)4(HPx|+fQb4 zuc;z(Eu$V%0?Vwet+&iYQ!5g|7#ROBDRw#z#&oJ>IaeI>Id;22>u_v z_1iV(IqC>gUVk3lWQ`+?(-G#c*AtET^x!M3=+>2GC1?nm&kFL^>-qI|J_+~IeCj}K z9szsmU*@wx3ZiBygkrICsLB7u2rP(>Z^Cnwdx!Ea^gxmL1F%!KwF!TOf8qTl{%NCX z1|YOSqCWr-GZYO*cbFNx@=a6TpgT=CLOaxtL6gW*#YLXv){$)_J`^67_~eELD` z8bxP!5sYz^+1PTm7UOvILm5BO3{o0Ez{+NPSn!9CEO#`JCvo&|uv<-0y;qv^X4)F$ zR(uO%PDtw!5=@hDg}kLLtTy(-LSBU;!`i9;ppYx${vQiD6xe=X+%jPf4WS24fwftJZ>N`!L6dWx$eo1ap4y z+`C%vXW20p2mlLa%knLKyhdvknctE(hgn8-Gv2RmP{WziiuVY-5$V~ASM%%{(X)Q= zPTEd0+whgK*$wpvkrr+F1719mWWmve%??PlwL%03Lci|91Hgu@(tu7!W zk+z3uVpk$D8oJZ6Usn!m+J^45T+&sSw@B^>Q{KvmukWVITN-J6H(lO}e)pNQ75x_L zPUxVaB~Bxqy7OBFWf6C(_bjJ=!Zs1nBh zHnM08p8{gBp^ZZ!kufMT>puQlEah5*u5wTCo{=*XK%7vn5p+f>PvSqT+KiAhf?{h` z2_xlUl=;t~2_*-5efSWlfOr?sow|L>damBHV_;Wr);ik?E`Q{>?sV)Lj zd~hI~TGVA>L)r9T5PNblFCE;RCU^cC>>z7qgV?K5n~EFlWe-;aq)i8u52W4on1kJ1(j$1T;msY^R_>oQ)glsPj4{(M|T*k}4NyIMxEa zEb}t&K=oRi^U*JJC~IOJ$Upb8rprEfnV0X1d?(yT>`)VF#h(1+n;2{1-^cIa68dzH z=JaEo=)cJ;d=Z}$3UC9Rh_1Xv`f@&!Af1SKeLg8D1Tm=?ZlGAwDc1El$79QR z3?bODIj{<$bxeH8bT*7`l>v< zhCdj1fi8zG=i=3sll_i*$wf0Khvds^`FPtIWx!Em9e+4@^r&3Dj@P79{mXT{M-EPG z!_UI#TiIL_1*z5U=rD@iyq-Tv#lKq5dxjTijN)NMU?on7gtBx{(g1CsnDAUxBngsG z^Md4}j@Xb7Y~aeHarFiwn|)g2s|`Ghnz_1xw=>P9%f7Gi@c%`dmhAfcHQi>hjRY`$ znD~wxX@@a~v=Dr+BDF0ya%iOeaPj*$@!7P)2aZ+)2Gfy%)F80qASao4(FFbtN~JBrh@6UYLRH2!fJYNDAQxD#Z_Cm6YT+ z9QB$Qe`*t73twuxV3GX%bzTss`ag((t@sl0uEsJmEDq3>wt$aOIZo%U0R{jrK?vJ){Qen;6&c{=7 z;&$FRmF7|ycMWB=@a}fr!M~-X><(U8U!)8VP-k<6$x~(f>>&A_Z+f+42VX-q-?Woh zdOuY0lAS!GB+^dU)A7z6s2B~IdLc^C`JH++DZBVG8jZz%TX*p<>{My@ z402=2Rp^9g!{-P7f;QIjj<*f8ll7958mhbZFbT6qz2;u8tkq%%W?-uOyh`4dHVqlzf+&8+5uuCG&_*hj5>_rgtr>owJ5vO8vK@S%Bv?N2dEtGn5h?h9SQDR@ z8~OoBW&Mj#4t&51DQ$_+5(oK>+NKX^BM&VzSZ;Gsndr^Vd0CR%YVr8)G4GY^G_iskd`=w<^~VN|INDJD4+g_ zm$%$3s954DPz2iD_y_3J z)G=XY#H~V$`7*jqpYkU`Jr*A2CoI9HWTtta@nv*uy#E=m<{v$Oe#VvmXRBlUj%eJy z@fdHL0_Gkczfmd0>L^Mev;L8pjPdvviuufRtW^u z$rp+ay>BP$t8a*c_YbJRDZV)H$^X-_@Bj9H9{Z^1VaK2T|7X}+<>(*yNxBaQrW`~| zs3YzYei7om;BwBHoU<sc%B96;!~;glAm}Ns>RZ3zagDVr?b*ohseBPNf4vbqMKV%;Edwd+ryW(-eu7qD(nQT!`ZD}=;kNl>qwUWjUe$x{f|GQtUx_C}iJLY!{I7SXB z-~U}#n{KnZ;pOHU^9 z0&61^m?-OPy_9146)qrPvvC66ZYpZaGY_$NSx$(=WaRtO+kjj?P}Gz|gvg?Ul7x2P z`bY*7!aNbo`|$)83*kUnQIBT?(W8EVfwYk5Uju1JCS<43RKbJ|beCSkP*!#!u8 zhXo-)CTwySo=W@~BF##!QtX9jD!|7;vrC)}eP$2G#8}al+VUA2zbzB}R=Bn-F*ZF` zJfM_rstt88)8fFh#D#y5*>OU#fz9ItP`L~GAn%P6P15ZYS#veo(0k$pM3a8-2N-$x zn1Hk|YlhfE83coJkD3L{v5N=+kRYfErgjb|*&6Q`S<(Xum@bbZAk>ShVeoPkia+Q=T2-DaA(F#E@lOEmwRS^%| zvQ&oFn!YM|P4{rCB)lmhu*6+}@RUhT5wWm56O~DtX9-A%VzW36<(NF4A|?gSM*63U zkmC7=q=Cvn{)#kFHsyrYGywGX!7A&x{3K00l6*>Kw$F`E@+fa$F;OQrJI$c1`Nf2? z7(7r+7=lwmXAzV{8DC9JY9puzZUF|!WVkG5T z%D8zc;rMlhX5KHQo3UHJPL}>~OqS?IA6oL}V3vTmAkDE}xuwNDl(yu}!qURsF0JAw zrIZm}set9hhL+L&f4PhpLHSmDRJN>8ZVTP;qrC2GGl$BGvw^vC zTRHK$WrWkn!~pB9W_xdW(K6QEE(ZLiAhUC}_$B(5v35EBd??ZJ(HsHd%D)Ywf^ejU>JqC+)92rr*t4RZjiQP^+E?0e9RMPE`?mp=JlOIuKQbl_A>LNnOqk4f*N|M_O^io^u zd1Zl~-|q^9QdA_>5am?)8nmI3E%KK|HH4B8d{#qLPDQ@K|DZPLQe<`aTTV^!A{;z` z`f=@B0V%pd@@h@tVwe)@myK(Q+?K$5Rz>7RNivW}OqA6nqPSsa$QW0jUJmO^+;CG; zu3Z#tB7d$Wk^@&Gf7B9L4zFe4<4A=%q8}_N?A3fz>xz~(OqZtfLgD3FEUJizsqNiv19cMSCh>p}J3F0oE_sp|D+z2~{OK)b&+kadR_TgA7eVAYhMPgk+1&u=?qi z7_qBH;z}P3N4zOY$)C%L0{O@nyrG=AFIb}J*T?F~#pOh@Y}*7dx3p?xWD`-+ty~F$ zl9^3K4PQP5;CHr^+U_NFKNLO(H%}dF_^fG|y$Wt)qRwUFtk)9~!8hy{yVLZj%@WTF{C())s%dCfI_y1lum zXy{YFN!^rfnm)6KRD7WT-{T8!?kXf&*%xR%Qz$0VN~eVdIAC|*qMRHS>i&*(VUeAy zsHJnn>Z8dVs4%RbLV{c9^I>swH+=8phalvPtl0<;ql3;SSOCE4wzkx0bg0<`yZmxa z3(=M6T@|i`MrN_kZ!JVU>aoQ#4OI(B_N(ia6EYN)^vO)IE#dltwm2tTc-M8YcZJ8 zmUnJ?Bhd>9)=EdtyHP-=oM5?P`TmV`yeBw=ocK0kzU{a=Ki0JoaMw(5JntWEH2x^t zRhBobm5+WLJKe?p6XiDXB zjAy{N?S-@YRfJV`2QifjZqiOC0peNk|5tmaPEFt9fk9$QPPOVItmy^ zCs=pBIh_biB-p@0GTWppoB9hoiJJ62&!ivhBnD8&k9E>ZQ^n+$>8zo@s!2c8SwM9T zmoJlE+*v3c>$c7!LrFnP7*57BXehzO13lMSTnH{rl}kSilqFsI4Km>r%$B}vB0{oH z7tuafJ%E6z{56-s1N*U46<>&FdRo1+3tF1ah@2 z*eQ&&N;g9A4u{C+x{1nmWz~m?<8UeJSKY+*RLWAcmAZ?1_&Uay1(o6ho2d(0q{j0YaO~bmYk3bMNt4+GlM|9REDkOX-fg0@E z5hK~xFZI7gbSTivmt&=KFga78K;}YiFl5c1`x>WDZ_!8brCVqTeNTw|zM`M)lv;_| zeF?IiYlKYeCkE2}w5ZdXwc#h=1ik=d8UVes?p47F%X;itn05!@ zIbWJCx557JJo;>0@U(ji>X<1~3niU>)_U&K1fZXuQe3|p~|mB@T^hZgH34-sXw zd@&WeL+lYoD#xL)@J8eITx~N%bnT6_Iae`bL>dUXbvj*BhZu2u2Z)q`}0I&xXN; zm@+IX{`qbJ`EZsav73*elLhKVb8DBL(EoS&pLaGg81Z z2{_Wce_^C9Z^7!kDQ^kq+M{%N%kYgeX$vZEjnefSrY+))hCqh^f9gHrae5|?5ku)Y zZj5M3lc542fs7@lW$zdaf&`$0GhQex`w@JB?v>hA;N^`L$jZw93bsX@s)6NIET4@?k` z{Fl0BPXysl%Vjs%-bq9OWm#e~lJJ;#Ts8LWWT66IG@W7^Qv+2!lHDE`cT;0;JuV)k z=iil?GDTdacaKjM&(kw!ni#7(R>~h_DH^2i|H*0M1%<2u*RUxHAL3?jX4$<#aJpWW{FMyecHwsL4Gw$+#R?mJ3lLCScI=my6>J9w^X7II(L(>kypa7Difkf z#j?Ry{qSJKiFMup(22CUN z9qJjdn9lC{7WG7M`S-_xz^9R$my$Og`bRt|aWIkLF9K`DW|uYO<;0i7qH0K)-U2@& z@~quOC`dW7R6rHx4sO|Uz1SUiTZT4> zi?osc*r0{@;nyI$>b``D8zJqV{eoP-QS^;gRF>Q%@+^ERL-ID81Y(u=YRUUH(V^uO zkTSAK+@ONxD05GtB1>(CyawL#1)D{koY~l|!F=5__{S?fh?h-@NOufx7S8TUGd>Z~ zGF!0PLfOC8Db#PSxB1= z>VE;{Rv^sfqjLl4X~Ast88)=st>1y|x*@l3U6(>T#5!ug(p@`uh}_`O`SR2baX1b6 z{sxA#-6FYnCy{+H2Q&z-#4Zw{_%RN;?IMWwV;nrX3kokR(z0D*TJZ5$nK}zT#hoW7 z$a9B-S#tGlkPwV{OB7wRE7Eogc(L1X5jA&BN|rzb)E>%cpe5r2;P$GAv{d|;3y*Z>j#I^6xp3JY>&8^+Ho_Bb}r17 zhxX_yEe0&HSHL#M4+_zDFG`J1s<4|v^PF)nyES%$ZY^5nMvv~}A8aA~)#7{%X0 zzY6?q&y(NZrop=N1nOoMUh+H*wtX>Vn{kq10`MoohhwJXM$AOC1IcIa_-Y9y?$6#w zte!h@WQ%=-WrQ86d~Ba+OADY6df=8%_lcS+SRMqmqyq+APlL51J@167;N*NEx9t}h z)KN1ns-vgp%l7+;+ZS&8PuNeB3X6LUE~*%y`qX|=@tP%1e^*>b-`VZo`dv|5k-Q4= zfsm^oe3)j*g59ilMMqnK8sqox68j1Tn1Rcb_rQQ%oG%-{M=BKIu)&h|L|G**rJ+%c z_WU^bo@iAHX+zMeo?e*`s7ak23@6K+y`s1*JRowYGAmIXdVsi0*o~M*R~#T%5Kf|c z9Oc!ya{$2qYoKW7hVt^2_eHZtm_&76(?W*#Ekw7&38~KpDHCuG3pRa(We2KyG30j} zW1(M``9Q1>p8YU#@B?vcAUJuJtaXTVOwU9{9};&217jmcKNR2bKz?NBQBnD(;MQ4@ z(^W!ul?*PJCA&2bjSCdY51NNE0yoHSn}=$|ZFxEn)8w8&%ph5=Fw|buofU}LI75ys z40Q@Lk=qMHd8H`p(nEomLnu`)7>F7EWFThE7(63?6ozoe<-Qq#m>XhZ=(Ex-LVW@q zY$c6Ty>jQ&i%?_bDX~WUuuITOT@qw6rcxKA69Z=`K8FF5SP`dz=r#gh1tC3fk zK;y{o7-|p*Zk!Pr+zG=DUYHr#)H(EpMLV(`HH_W|(RL#TkXwT4_akQpyAvs7c=oRWD`}Gc$Emsoh)5t%Ee=16| zK`mxt2C}EiK>tv2xw>~KxhWN(cDv)nkAXl;8T@AWr*{83ZMq*zQI;yrmX~^mh9&Pq zlIq@x=eg-}be~Y};KZkNb+O0~;J-N14+9M7vva0=P2@Gi|9A}d?tyoWC}=ry#2t4H zQDvyS>XvzL>rvf89@W!OUg{Gn&zB&%T#o7!D%E7nsF5Sa48|+3oMC1qY zPxI9aJBR8zV(MD{lpK9asB2Oc^szC@WaD|0JakK_LZz|zNuL)tpWC67c_t83WQKH; z%Suvh+gE&C4EB`s$aqDEWEl2 zS=1U0IJ&b-kpBSwsp@=ru5YMw{dGtZ2B2|JHWeWV-f4;{>@cbsHQJ=csAe(WVkHjD zl=t=vT^BqxQ!ecn$`WU1DwMGczj+z#yo&NY(oYg;6Sb4FDHJ{K|2i`Mwz`Y~xziY&x=Zki-lGW$`Ft7GG56Jw n!DH#mv4bOn)`vOhpg9x$Vj| diff --git a/internal/wasm/test/provider.wasm b/internal/wasm/test/provider.wasm index 55e4afad4e9ed83bf6443b69b41f2102a2485fb4..1a902b11d131016a6eba6de3318756f7c2b43b49 100644 GIT binary patch delta 53160 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 z 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 TO321eV#3g2{(U{$B%1#N>{na= delta 52380 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%0A8?f- zURJNpQ%)+bdon+e^1^WK>x{LaQO;f<)jt8G9OS*{Em_zp7V@c=8<@6N{e6ql(%JKr_&(NT}}YQ_NkR`%jo!# z`>f8^cDzmoje;iISPrB>@WT*#r=*tt(VyhUE-a({@<`5`s!*Y6C{vF1sjQCUv8 zT>51oo`OIbNP7zTdKMsFYSYMPt*e0RwXAS8{2dweCnli4Mj!?HRvzatu$%ymO5#zO zMmLZqy$Q&IAn5UT(g8ufk=i8nhML-8HyOc}G3CRrX8YjcZEs-z(l$ zk~&e{RQw(34~@<&DoUS{2~(nSm}=Hz`QgvYL^oRN(&^~cBf+m$ z|7PjQ`m*CTT&Ci(R>g0FBAlx*e%`kYww!=#jEkOaGTN1e>)4&NYq;9FO?FNw1A#*u z@9GOPC+FY+Lk`?J{?=@`JO0kXY0HtO=}9Y%di8|trb6qa)43evYSpt2C9lV2srpl$ z?BlA@0@ai{8SQM*vGc36Y`UwP@8+$SbJ-E$E;RQ4w<|O{bD6r!b&?KZ+>NrLpjRE>G32V;#mV;=5 z9F2y)qoCqkm=lL+3@~DK1&~kYPtp742eE?~3upJRX07*G1@Q?T1=i_jMS=Rs-9bzb z#d_WB&`&PNPew*6#ydlrlzV>%Q4#tHD?ooDpFM?&@DAfJ@}(k9KjR?5fQoyJ+UcAg z|6+`_nZ8kkR=8z0d04lB$1dla!le-odKcgf&^WnrHtP>Jw93Yy2!40at_R{&m;FaX&{gE! zf;d+Pzn72vafPbq0fZzc_6J=nKqqAhK>&Vr%!jZ2`d$%&F7IzXba`7a7%!1oVvy2`=Wxfgjn1-@Z|9 z2cLBv4@3>l97hc@aNQZSBF#%&++^3F4DoI#-<W7_t_OkR`ZgtJ<^%(5`$9G%8gO zf" or just "addr". +func formatAddress(address providers.EmailAddress) string { + if address.Name != "" { + return fmt.Sprintf("%s <%s>", address.Name, address.Address) + } + return address.Address +} + +// classifyError inspects an error and returns the appropriate WASM +// exit code: transient (retryable) or permanent. +func classifyError(err error) int32 { + if err == nil { + return ExitSuccess + } + msg := err.Error() + if strings.Contains(msg, "Throttling") || strings.Contains(msg, "Rate exceeded") || strings.Contains(msg, "status 5") { + return ExitTransient + } + return ExitPermanent +} + +// ComposeSendEmailRequest converts platform email payload to an SES SDK request. +func ComposeSendEmailRequest(email providers.EmailPayload, cfg Config) *SESv2SendEmailRequest { + req := &SESv2SendEmailRequest{ + FromEmailAddress: formatAddress(email.From), + } + req.Destination.ToAddresses = []string{email.To} + if email.Cc != nil { + req.Destination.CcAddresses = []string{*email.Cc} + } + if email.Bcc != nil { + req.Destination.BccAddresses = []string{*email.Bcc} + } + if email.ReplyTo != nil { + req.ReplyToAddresses = []string{*email.ReplyTo} + } + req.Content.Simple.Subject.Data = email.Subject + if email.HTML != "" { + req.Content.Simple.Body.Html = &struct { + Data string `json:"Data"` + }{Data: email.HTML} + } + if email.Text != "" { + req.Content.Simple.Body.Text = &struct { + Data string `json:"Data"` + }{Data: email.Text} + } + if cfg.ConfigurationSet != "" { + req.ConfigurationSetName = &cfg.ConfigurationSet + } + return req +} + +// SignV4 adds the AWS V4 signature headers to the request. +func SignV4(req *http.Request, body []byte, accessKey, secretKey, sessionToken, region, service string, t time.Time) { + bodyHash := sha256Sum256(body) + bodyHashStr := hex.EncodeToString(bodyHash[:]) + + amzDate := t.UTC().Format("20060102T150405Z") + dateStamp := t.UTC().Format("20060102") + + req.Header.Set("x-amz-date", amzDate) + req.Header.Set("x-amz-content-sha256", bodyHashStr) + if sessionToken != "" { + req.Header.Set("X-Amz-Security-Token", sessionToken) + } + + if req.Host == "" { + req.Host = req.URL.Host + } + + canonicalReq := req.Method + "\n" + + canonicalURI := req.URL.Path + if canonicalURI == "" { + canonicalURI = "/" + } + if !strings.HasPrefix(canonicalURI, "/") { + canonicalURI = "/" + canonicalURI + } + canonicalReq += canonicalURI + "\n" + + canonicalReq += req.URL.RawQuery + "\n" + + signedHeaders := []string{"host"} + var canonicalHeaders string + for k := range req.Header { + hk := strings.ToLower(k) + if hk == "host" || strings.HasPrefix(hk, "x-amz-") || hk == "content-type" { + signedHeaders = append(signedHeaders, hk) + } + } + sort.Strings(signedHeaders) + + for _, hk := range signedHeaders { + if hk == "host" { + canonicalHeaders += hk + ":" + req.Host + "\n" + continue + } + val := req.Header.Get(hk) + canonicalHeaders += hk + ":" + strings.TrimSpace(val) + "\n" + } + canonicalReq += canonicalHeaders + "\n" + + signedHeadersStr := strings.Join(signedHeaders, ";") + canonicalReq += signedHeadersStr + "\n" + + canonicalReq += bodyHashStr + + canonicalReqHash := sha256Sum256([]byte(canonicalReq)) + canonicalReqHashStr := hex.EncodeToString(canonicalReqHash[:]) + + algorithm := "AWS4-HMAC-SHA256" + credentialScope := dateStamp + "/" + region + "/" + service + "/aws4_request" + stringToSign := algorithm + "\n" + amzDate + "\n" + credentialScope + "\n" + canonicalReqHashStr + + kDate := hmacSHA256([]byte("AWS4"+secretKey), []byte(dateStamp)) + kRegion := hmacSHA256(kDate, []byte(region)) + kService := hmacSHA256(kRegion, []byte(service)) + kSigning := hmacSHA256(kService, []byte("aws4_request")) + signature := hmacSHA256(kSigning, []byte(stringToSign)) + signatureStr := hex.EncodeToString(signature) + + authHeader := algorithm + " Credential=" + accessKey + "/" + credentialScope + ", SignedHeaders=" + signedHeadersStr + ", Signature=" + signatureStr + req.Header.Set("Authorization", authHeader) +} + +func hmacSHA256(key []byte, data []byte) []byte { + const blockSize = 64 + keyBlock := make([]byte, blockSize) + if len(key) > blockSize { + keySum := sha256Sum256(key) + copy(keyBlock, keySum[:]) + } else { + copy(keyBlock, key) + } + + oKeyPad := make([]byte, blockSize) + iKeyPad := make([]byte, blockSize) + for i := 0; i < blockSize; i++ { + oKeyPad[i] = keyBlock[i] ^ 0x5c + iKeyPad[i] = keyBlock[i] ^ 0x36 + } + + innerMsg := make([]byte, 0, blockSize+len(data)) + innerMsg = append(innerMsg, iKeyPad...) + innerMsg = append(innerMsg, data...) + innerSum := sha256Sum256(innerMsg) + + outerMsg := make([]byte, 0, blockSize+len(innerSum)) + outerMsg = append(outerMsg, oKeyPad...) + outerMsg = append(outerMsg, innerSum[:]...) + outerSum := sha256Sum256(outerMsg) + return outerSum[:] +} + +// sha256Sum256 is a tinygo-safe SHA-256 implementation to avoid WASM stdlib panics. +func sha256Sum256(data []byte) [32]byte { + var h0 uint32 = 0x6a09e667 + var h1 uint32 = 0xbb67ae85 + var h2 uint32 = 0x3c6ef372 + var h3 uint32 = 0xa54ff53a + var h4 uint32 = 0x510e527f + var h5 uint32 = 0x9b05688c + var h6 uint32 = 0x1f83d9ab + var h7 uint32 = 0x5be0cd19 + + bitLen := uint64(len(data)) * 8 + padLen := (56 - (len(data)+1)%64 + 64) % 64 + totalLen := len(data) + 1 + padLen + 8 + buf := make([]byte, totalLen) + copy(buf, data) + buf[len(data)] = 0x80 + binary.BigEndian.PutUint64(buf[totalLen-8:], bitLen) + + var w [64]uint32 + for i := 0; i < totalLen; i += 64 { + block := buf[i : i+64] + for j := 0; j < 16; j++ { + w[j] = binary.BigEndian.Uint32(block[j*4 : j*4+4]) + } + for j := 16; j < 64; j++ { + s0 := rotr(w[j-15], 7) ^ rotr(w[j-15], 18) ^ (w[j-15] >> 3) + s1 := rotr(w[j-2], 17) ^ rotr(w[j-2], 19) ^ (w[j-2] >> 10) + w[j] = w[j-16] + s0 + w[j-7] + s1 + } + + a := h0 + b := h1 + c := h2 + d := h3 + e := h4 + f := h5 + g := h6 + h := h7 + + for j := 0; j < 64; j++ { + s1 := rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25) + ch := (e & f) ^ (^e & g) + t1 := h + s1 + ch + sha256K[j] + w[j] + s0 := rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22) + maj := (a & b) ^ (a & c) ^ (b & c) + t2 := s0 + maj + + h = g + g = f + f = e + e = d + t1 + d = c + c = b + b = a + a = t1 + t2 + } + + h0 += a + h1 += b + h2 += c + h3 += d + h4 += e + h5 += f + h6 += g + h7 += h + } + + var out [32]byte + binary.BigEndian.PutUint32(out[0:], h0) + binary.BigEndian.PutUint32(out[4:], h1) + binary.BigEndian.PutUint32(out[8:], h2) + binary.BigEndian.PutUint32(out[12:], h3) + binary.BigEndian.PutUint32(out[16:], h4) + binary.BigEndian.PutUint32(out[20:], h5) + binary.BigEndian.PutUint32(out[24:], h6) + binary.BigEndian.PutUint32(out[28:], h7) + return out +} + +func rotr(x uint32, n uint32) uint32 { + return (x >> n) | (x << (32 - n)) +} + +var sha256K = [64]uint32{ + 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, + 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, + 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, + 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, + 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, + 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, + 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, + 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, + 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, + 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, + 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, + 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, + 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, + 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, + 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, + 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2, +} diff --git a/modules/providers/amazon_ses/go.mod b/modules/providers/amazon_ses/go.mod new file mode 100644 index 00000000..3b2a8243 --- /dev/null +++ b/modules/providers/amazon_ses/go.mod @@ -0,0 +1,12 @@ +module github.com/lunogram/platform/modules/providers/amazon_ses + +go 1.25.1 + +replace github.com/lunogram/platform => ../../../ + +require ( + github.com/extism/go-pdk v1.1.3 + github.com/lunogram/platform v0.0.0-00010101000000-000000000000 +) + +require github.com/google/uuid v1.6.0 // indirect diff --git a/modules/providers/amazon_ses/go.sum b/modules/providers/amazon_ses/go.sum new file mode 100644 index 00000000..79b7fb09 --- /dev/null +++ b/modules/providers/amazon_ses/go.sum @@ -0,0 +1,12 @@ +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/extism/go-pdk v1.1.3 h1:hfViMPWrqjN6u67cIYRALZTZLk/enSPpNKa+rZ9X2SQ= +github.com/extism/go-pdk v1.1.3/go.mod h1:Gz+LIU/YCKnKXhgge8yo5Yu1F/lbv7KtKFkiCSzW/P4= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/modules/providers/amazon_ses/main.go b/modules/providers/amazon_ses/main.go new file mode 100644 index 00000000..5571b9fe --- /dev/null +++ b/modules/providers/amazon_ses/main.go @@ -0,0 +1,239 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "net/http" + "time" + + "github.com/extism/go-pdk" + pdkhttp "github.com/extism/go-pdk/http" + "github.com/lunogram/platform/pkg/modules" + "github.com/lunogram/platform/pkg/modules/providers" +) + +type SESv2Client struct { + Config Config + client *http.Client +} + +type safeTransport struct { + inner http.RoundTripper +} + +func (t *safeTransport) RoundTrip(req *http.Request) (*http.Response, error) { + resp, err := t.inner.RoundTrip(req) + if err != nil { + return nil, err + } + if resp != nil && resp.Body == nil { + resp.Body = http.NoBody + } + return resp, nil +} + +func NewSESv2Client(cfg Config) *SESv2Client { + httpClient := &http.Client{ + Transport: &safeTransport{inner: &pdkhttp.HTTPTransport{}}, + } + return &SESv2Client{ + Config: cfg, + client: httpClient, + } +} + +func (c *SESv2Client) SendEmail(req *SESv2SendEmailRequest) (string, error) { + body, err := json.Marshal(req) + if err != nil { + return "", err + } + + endpoint := "https://email." + c.Config.Region + ".amazonaws.com/v2/email/outbound-emails" + httpReq, err := http.NewRequest("POST", endpoint, bytes.NewReader(body)) + if err != nil { + return "", err + } + + httpReq.Header.Set("Content-Type", "application/json") + + // Add V4 Signature + SignV4(httpReq, body, c.Config.AccessKeyID, c.Config.SecretAccessKey, c.Config.SessionToken, c.Config.Region, "ses", time.Now().UTC()) + + resp, err := c.client.Do(httpReq) + if err != nil { + return "", err + } + defer resp.Body.Close() + + respBody, _ := io.ReadAll(resp.Body) + if resp.StatusCode >= 300 { + return "", fmt.Errorf("ses error (status %d): %s", resp.StatusCode, string(respBody)) + } + + var res struct { + MessageId string `json:"MessageId"` + } + _ = json.Unmarshal(respBody, &res) + return res.MessageId, nil +} + +//go:export manifest +func Manifest() int32 { + manifest := providers.ProviderManifest{ + Metadata: modules.Metadata{ + ID: "amazon_ses", + Title: "Amazon SES", + Description: "Amazon Simple Email Service provider", + Icon: "https://cdn.lunogram.com/icons/amazon-ses.svg", + Color: "#FF9900", + Tags: []string{"email"}, + }, + Website: "https://aws.amazon.com/ses/", + Version: "1.0.0", + License: "MIT", + Author: modules.Author{ + Name: "Lunogram", + Email: "dev@lunogram.io", + URL: "https://lunogram.com", + }, + Spec: providers.ProviderSpec{ + Webhook: true, + Platforms: []providers.Platform{providers.PlatformEmail}, + Channels: []providers.Channel{providers.ChannelEmail}, + Config: &modules.JSONSchema{ + Type: "object", + Properties: []modules.JSONSchemaProperty{ + { + Name: "data", + Schema: &modules.JSONSchema{ + Type: "object", + Properties: []modules.JSONSchemaProperty{ + { + Name: "accessKeyId", + Schema: &modules.JSONSchema{Type: "string", Title: "Access Key ID"}, + }, + { + Name: "secretAccessKey", + Schema: &modules.JSONSchema{Type: "string", Title: "Secret Access Key", Format: "password"}, + }, + { + Name: "region", + Schema: &modules.JSONSchema{Type: "string", Title: "AWS Region", Description: "For example us-east-1"}, + }, + { + Name: "sessionToken", + Schema: &modules.JSONSchema{Type: "string", Title: "Session Token", Description: "Optional STS Session Token", Format: "password"}, + }, + { + Name: "configurationSet", + Schema: &modules.JSONSchema{Type: "string", Title: "Configuration Set", Description: "Optional SES Configuration Set name"}, + }, + }, + Required: []string{"accessKeyId", "secretAccessKey", "region"}, + }, + }, + }, + }, + }, + } + + if err := pdk.OutputJSON(manifest); err != nil { + pdk.SetError(err) + return -1 + } + return ExitSuccess +} + +//go:export send +func Send() int32 { + var req providers.SendRequest[Config] + if err := pdk.InputJSON(&req); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + if req.Channel != providers.ChannelEmail { + pdk.SetError(fmt.Errorf("unsupported channel: %s", req.Channel)) + return ExitPermanent + } + + email, err := req.GetEmailPayload() + if err != nil { + pdk.SetError(err) + return ExitPermanent + } + + if email.From.Address == "" { + pdk.SetError(fmt.Errorf("missing required 'from' address")) + return ExitPermanent + } + if email.Subject == "" { + pdk.SetError(fmt.Errorf("missing required 'subject'")) + return ExitPermanent + } + if email.HTML == "" && email.Text == "" { + pdk.SetError(fmt.Errorf("missing required 'html' or 'text' body content")) + return ExitPermanent + } + + if req.Config.AccessKeyID == "" || req.Config.SecretAccessKey == "" || req.Config.Region == "" { + pdk.SetError(fmt.Errorf("missing required config: accessKeyId, secretAccessKey, and region are required")) + return ExitPermanent + } + + client := NewSESv2Client(req.Config) + sendReq := ComposeSendEmailRequest(email, req.Config) + + // Log the outgoing request payload for debugging + debugPayload, _ := json.Marshal(struct { + From string `json:"from"` + To []string `json:"to"` + Subject string `json:"subject"` + HasHTML bool `json:"has_html"` + HasText bool `json:"has_text"` + }{ + From: sendReq.FromEmailAddress, + To: sendReq.Destination.ToAddresses, + Subject: sendReq.Content.Simple.Subject.Data, + HasHTML: sendReq.Content.Simple.Body.Html != nil, + HasText: sendReq.Content.Simple.Body.Text != nil, + }) + pdk.Log(pdk.LogDebug, fmt.Sprintf("amazon_ses send request: %s", string(debugPayload))) + + messageId, err := client.SendEmail(sendReq) + if err != nil { + pdk.SetError(fmt.Errorf("failed to send email via SES: %w", err)) + return classifyError(err) + } + + err = pdk.OutputJSON(providers.SendResponse{ + ID: messageId, + Status: "sent", + }) + if err != nil { + pdk.SetError(err) + return -1 + } + return ExitSuccess +} + +//go:export webhook +func WebhookHandler() int32 { + var req providers.WebhookRequest + if err := pdk.InputJSON(&req); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + // Not fully implemented for SES yet. SNS integration requires parsing SNS notification wrapping SES events. + pdk.Log(pdk.LogDebug, "amazon_ses webhook handler called but not fully implemented") + + err := pdk.OutputJSON(providers.WebhookResponse{Events: []providers.WebhookEvent{}}) + if err != nil { + pdk.SetError(err) + return ExitTransient + } + return ExitSuccess +} diff --git a/modules/providers/mailgun/Makefile b/modules/providers/mailgun/Makefile new file mode 100644 index 00000000..4d99fddb --- /dev/null +++ b/modules/providers/mailgun/Makefile @@ -0,0 +1,11 @@ +MODULE := mailgun +OUT := ../../../internal/providers/modules/$(MODULE).wasm +TINYGO ?= $(shell which tinygo) + +.PHONY: wasm clean + +wasm: + @$(TINYGO) build -target=wasi -buildmode c-shared -opt=2 -no-debug -o $(OUT) ./ + +clean: + @rm -f $(OUT) diff --git a/modules/providers/mailgun/README.md b/modules/providers/mailgun/README.md new file mode 100644 index 00000000..e52103a8 --- /dev/null +++ b/modules/providers/mailgun/README.md @@ -0,0 +1,13 @@ +# Mailgun Provider + +Email provider using [Mailgun](https://mailgun.com) for transactional email delivery. + +## Configuration + +| Field | Type | Required | Description | +|----------|--------|----------|------------------------------------------| +| `apiKey` | string | Yes | Your Mailgun API key | + +## Usage + +Configure the provider with your Resend API key from the [Mailgun dashboard](https://app.mailgun.com/settings/api_security). diff --git a/modules/providers/mailgun/go.mod b/modules/providers/mailgun/go.mod new file mode 100644 index 00000000..046e3e84 --- /dev/null +++ b/modules/providers/mailgun/go.mod @@ -0,0 +1,12 @@ +module mailgun + +go 1.25.8 + +replace github.com/lunogram/platform => ../../../ + +require ( + github.com/extism/go-pdk v1.1.3 + github.com/lunogram/platform v0.0.0-00010101000000-000000000000 +) + +require github.com/google/uuid v1.6.0 // indirect diff --git a/modules/providers/mailgun/go.sum b/modules/providers/mailgun/go.sum new file mode 100644 index 00000000..79b7fb09 --- /dev/null +++ b/modules/providers/mailgun/go.sum @@ -0,0 +1,12 @@ +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/extism/go-pdk v1.1.3 h1:hfViMPWrqjN6u67cIYRALZTZLk/enSPpNKa+rZ9X2SQ= +github.com/extism/go-pdk v1.1.3/go.mod h1:Gz+LIU/YCKnKXhgge8yo5Yu1F/lbv7KtKFkiCSzW/P4= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/modules/providers/mailgun/mailgun.go b/modules/providers/mailgun/mailgun.go new file mode 100644 index 00000000..bf60950d --- /dev/null +++ b/modules/providers/mailgun/mailgun.go @@ -0,0 +1,102 @@ +package main + +import ( + "errors" + "fmt" + "net/url" + "strings" + + "github.com/lunogram/platform/pkg/modules/providers" +) + +const ( + // Exit codes for the Mailgun provider module. + ExitSuccess int32 = 0 + ExitTransient int32 = -1 // retryable error (e.g. rate limit, network issue) + ExitPermanent int32 = -2 // non-retryable error (e.g. invalid recipient, auth failure) +) + +// Config holds the Mailgun provider configuration persisted by the platform. +type Config struct { + APIKey string `json:"apiKey"` + APIRegion string `json:"apiRegion"` + Domain string `json:"domain"` + WebhookSigningKey string `json:"webhookSigningKey"` + WebhookURL string `json:"webhookUrl"` +} + +type mailgunSendRequest struct { + Domain string + Form url.Values +} + +func validateConfig(config Config) map[string]string { + errs := make(map[string]string) + if config.APIKey == "" { + errs["apiKey"] = "API key is required" + } + if config.Domain == "" { + errs["domain"] = "Domain is required" + } + if config.APIRegion != "" { + region := strings.ToUpper(strings.TrimSpace(config.APIRegion)) + if region != "US" && region != "EU" { + errs["apiRegion"] = "API region must be 'US' or 'EU'" + } + } + return errs +} + +func formatAddress(address providers.EmailAddress) string { + if address.Name != "" { + return fmt.Sprintf("%s <%s>", address.Name, address.Address) + } + return address.Address +} + +// ComposeSendEmailRequest converts a generic EmailPayload to Mailgun API form fields. +func ComposeSendEmailRequest(email providers.EmailPayload, configuredDomain string) (*mailgunSendRequest, error) { + if email.Text == "" && email.HTML == "" { + return nil, errors.New("email must have at least text or html content") + } + + domain := configuredDomain + if domain == "" { + at := strings.LastIndex(email.From.Address, "@") + if at <= 0 || at == len(email.From.Address)-1 { + return nil, fmt.Errorf("invalid from address: %q", email.From.Address) + } + domain = email.From.Address[at+1:] + } + + form := url.Values{} + form.Set("from", formatAddress(email.From)) + form.Set("to", email.To) + form.Set("subject", email.Subject) + if email.Text != "" { + form.Set("text", email.Text) + } + if email.HTML != "" { + form.Set("html", email.HTML) + } + if email.Cc != nil && *email.Cc != "" { + form.Set("cc", *email.Cc) + } + if email.Bcc != nil && *email.Bcc != "" { + form.Set("bcc", *email.Bcc) + } + if email.ReplyTo != nil && *email.ReplyTo != "" { + form.Set("h:Reply-To", *email.ReplyTo) + } + for k, v := range email.Headers { + form.Set("h:"+k, v) + } + if email.List != nil && email.List.Unsubscribe != "" { + form.Set("h:List-Unsubscribe", email.List.Unsubscribe) + } + + return &mailgunSendRequest{ + Domain: domain, + Form: form, + }, nil +} diff --git a/modules/providers/mailgun/mailgun_webhook.go b/modules/providers/mailgun/mailgun_webhook.go new file mode 100644 index 00000000..c4e7b667 --- /dev/null +++ b/modules/providers/mailgun/mailgun_webhook.go @@ -0,0 +1,130 @@ +package main + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "encoding/json" + "errors" + "fmt" + "strconv" + "strings" + "time" + + "github.com/lunogram/platform/pkg/modules/providers" +) + +type mailgunWebhookPayload struct { + Signature struct { + TimeStamp string `json:"timestamp"` + Token string `json:"token"` + Signature string `json:"signature"` + } `json:"signature"` + EventData json.RawMessage `json:"event-data"` +} + +// mapWebhookEvent maps a Mailgun event type string to a canonical +// WebhookEventName. Returns (eventName, ok). +func mapWebhookEvent(eventType string) (providers.WebhookEventName, bool) { + switch eventType { + case "accepted": + return providers.EventSent, true + case "delivered": + return providers.EventDelivered, true + case "opened": + return providers.EventOpened, true + case "clicked": + return providers.EventClicked, true + case "complained": + return providers.EventComplained, true + case "unsubscribed": + return providers.EventUnsubscribed, true + case "failed": + return providers.EventBounced, true + default: + return 0, false + } +} + +// webhookEvents returns the list of Mailgun webhook event types this provider uses. +func webhookEvents() []string { + return []string{ + "accepted", + "delivered", + "failed", + "opened", + "clicked", + "complained", + "unsubscribed", + } +} + +func parseMailgunWebhookEvent(body []byte) (providers.WebhookEvent, bool, error) { + var payload mailgunWebhookPayload + if err := json.Unmarshal(body, &payload); err != nil { + return providers.WebhookEvent{}, false, fmt.Errorf("failed to parse webhook payload: %w", err) + } + + var eventData map[string]any + if err := json.Unmarshal(payload.EventData, &eventData); err != nil { + return providers.WebhookEvent{}, false, fmt.Errorf("failed to parse webhook event-data: %w", err) + } + + eventType, _ := eventData["event"].(string) + eventName, ok := mapWebhookEvent(eventType) + if ok && eventType == "failed" { + if deliveryStatus, ok := eventData["delivery-status"].(map[string]any); ok { + if severity, ok := deliveryStatus["severity"].(string); ok && strings.EqualFold(severity, "temporary") { + eventName = providers.EventDeferred + } + } + } + if !ok { + return providers.WebhookEvent{}, false, nil + } + + messageID, _ := eventData["id"].(string) + timestampISO := "" + if ts, ok := eventData["timestamp"].(float64); ok && ts > 0 { + timestampISO = time.Unix(int64(ts), 0).UTC().Format(time.RFC3339) + } + + event := providers.WebhookEvent{ + EventName: eventName, + MessageID: messageID, + Timestamp: timestampISO, + Data: eventData, + } + + return event, true, nil +} + +func verifyMailgunWebhookSignature(signingKey string, body []byte) error { + var payload mailgunWebhookPayload + if err := json.Unmarshal(body, &payload); err != nil { + return fmt.Errorf("failed to parse webhook payload for signature verification: %w", err) + } + + timestamp := payload.Signature.TimeStamp + token := payload.Signature.Token + signature := payload.Signature.Signature + if timestamp == "" || token == "" || signature == "" { + return errors.New("missing webhook signature fields") + } + + ts, err := strconv.ParseInt(timestamp, 10, 64) + if err != nil || ts <= 0 { + return errors.New("invalid webhook timestamp") + } + if delta := time.Now().UTC().Sub(time.Unix(ts, 0).UTC()); delta > 15*time.Minute || delta < -15*time.Minute { + return errors.New("expired webhook timestamp") + } + + mac := hmac.New(sha256.New, []byte(signingKey)) + _, _ = mac.Write([]byte(timestamp + token)) + expected := hex.EncodeToString(mac.Sum(nil)) + if !hmac.Equal([]byte(expected), []byte(signature)) { + return errors.New("invalid webhook signature") + } + return nil +} diff --git a/modules/providers/mailgun/main.go b/modules/providers/mailgun/main.go new file mode 100644 index 00000000..85c72a4b --- /dev/null +++ b/modules/providers/mailgun/main.go @@ -0,0 +1,318 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strings" + + "github.com/extism/go-pdk" + pdkhttp "github.com/extism/go-pdk/http" + "github.com/lunogram/platform/pkg/modules" + "github.com/lunogram/platform/pkg/modules/providers" +) + +type safeTransport struct { + inner http.RoundTripper +} + +func (t *safeTransport) RoundTrip(req *http.Request) (*http.Response, error) { + resp, err := t.inner.RoundTrip(req) + if err != nil { + return nil, err + } + if resp != nil && resp.Body == nil { + resp.Body = http.NoBody + } + return resp, nil +} + +func newHTTPClient() *http.Client { + return &http.Client{Transport: &safeTransport{inner: &pdkhttp.HTTPTransport{}}} +} + +func classifyHTTPStatus(status int) int32 { + switch { + case status == 429: + return ExitTransient + case status >= 500: + return ExitTransient + case status >= 400: + return ExitPermanent + default: + return ExitTransient + } +} + +func resolveMailgunAPIBase(region string) (string, error) { + normalized := strings.ToUpper(strings.TrimSpace(region)) + if normalized == "" || normalized == "US" { + return "https://api.mailgun.net", nil + } + if normalized == "EU" { + return "https://api.eu.mailgun.net", nil + } + return "", fmt.Errorf("unsupported Mailgun API region: %q", region) +} + +func callMailgun(ctx context.Context, apiKey, method, endpoint string, form url.Values) (int, []byte, error) { + var body io.Reader + if form != nil { + body = strings.NewReader(form.Encode()) + } + + req, err := http.NewRequestWithContext(ctx, method, endpoint, body) + if err != nil { + return 0, nil, err + } + req.SetBasicAuth("api", apiKey) + if form != nil { + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + } + + resp, err := newHTTPClient().Do(req) + if err != nil { + return 0, nil, err + } + defer resp.Body.Close() + + respBody, err := io.ReadAll(resp.Body) + if err != nil { + return 0, nil, err + } + + return resp.StatusCode, respBody, nil +} + +//go:export manifest +func Manifest() int32 { + manifest := providers.ProviderManifest{ + Metadata: modules.Metadata{ + ID: "mailgun", + Title: "Mailgun Email", + Description: "Mailgun email service integration", + Icon: "data:image/png;base64,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", + Color: "#111827", + Tags: []string{"email"}, + }, + Website: "https://mailgun.com", + Version: "1.0.0", + License: "MIT", + Author: modules.Author{ + Name: "Lunogram", + Email: "dev@lunogram.io", + URL: "https://lunogram.com", + }, + Spec: providers.ProviderSpec{ + Webhook: true, + Platforms: []providers.Platform{providers.PlatformEmail}, + Channels: []providers.Channel{providers.ChannelEmail}, + RateLimit: &providers.RateLimit{ + Limit: 5, + Interval: "1s", + Override: true, + }, + Config: &modules.JSONSchema{ + Type: "object", + Properties: []modules.JSONSchemaProperty{ + { + Name: "data", + Schema: &modules.JSONSchema{ + Type: "object", + Properties: []modules.JSONSchemaProperty{ + { + Name: "apiKey", + Schema: &modules.JSONSchema{Type: "string", Title: "Mailgun API Key", Format: "password"}, + }, + { + Name: "apiRegion", + Schema: &modules.JSONSchema{ + Type: "string", + Title: "API Region", + Description: "Mailgun API region (US or EU)", + Enum: []string{"US", "EU"}, + }, + }, + { + Name: "domain", + Schema: &modules.JSONSchema{Type: "string", Title: "Mailgun Domain", Description: "Verified Mailgun sending domain (e.g. mg.example.com)"}, + }, + { + Name: "webhookSigningKey", + Schema: &modules.JSONSchema{Type: "string", Title: "Webhook Signing Key", Format: "password", Description: "Optional Mailgun webhook signing key used to verify webhook signatures"}, + }, + { + Name: "webhookUrl", + Schema: &modules.JSONSchema{Type: "string", Title: "Webhook URL", Description: "Mailgun webhook callback URL (auto-configured)"}, + Hidden: true, + }, + }, + Required: []string{"apiKey", "domain"}, + }, + }, + }, + }, + }, + } + + if err := pdk.OutputJSON(manifest); err != nil { + pdk.SetError(err) + return ExitTransient + } + + return ExitSuccess +} + +//go:export send +func Send() int32 { + var req providers.SendRequest[Config] + if err := pdk.InputJSON(&req); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + if req.Channel != providers.ChannelEmail { + pdk.SetError(fmt.Errorf("unsupported channel: %s", req.Channel)) + return ExitPermanent + } + + email, err := req.GetEmailPayload() + if err != nil { + pdk.SetError(err) + return ExitPermanent + } + + if email.To == "" { + pdk.SetError(fmt.Errorf("missing required 'to' address")) + return ExitPermanent + } + if email.From.Address == "" { + pdk.SetError(fmt.Errorf("missing required 'from' address")) + return ExitPermanent + } + if email.Subject == "" { + pdk.SetError(fmt.Errorf("missing required 'subject'")) + return ExitPermanent + } + + sendReq, err := ComposeSendEmailRequest(email, req.Config.Domain) + if err != nil { + pdk.SetError(err) + return ExitPermanent + } + + apiBase, err := resolveMailgunAPIBase(req.Config.APIRegion) + if err != nil { + pdk.SetError(err) + return ExitPermanent + } + + endpoint := fmt.Sprintf("%s/v3/%s/messages", apiBase, sendReq.Domain) + status, respBody, err := callMailgun(context.Background(), req.Config.APIKey, http.MethodPost, endpoint, sendReq.Form) + if err != nil { + pdk.SetError(fmt.Errorf("failed to call Mailgun API: %w", err)) + return ExitTransient + } + + if status < 200 || status >= 300 { + pdk.SetError(fmt.Errorf("mailgun API error (status=%d): %s", status, string(respBody))) + return classifyHTTPStatus(status) + } + + var sendResp struct { + ID string `json:"id"` + } + if err := json.Unmarshal(respBody, &sendResp); err != nil { + pdk.SetError(fmt.Errorf("failed to decode Mailgun send response: %w", err)) + return ExitTransient + } + + if err := pdk.OutputJSON(providers.SendResponse{ID: sendResp.ID, Status: "sent"}); err != nil { + pdk.SetError(err) + return ExitTransient + } + + return ExitSuccess +} + +//go:export webhook +func WebhookHandler() int32 { + var req providers.WebhookRequest + if err := pdk.InputJSON(&req); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + var config Config + if err := json.Unmarshal(req.Config, &config); err != nil { + pdk.SetError(fmt.Errorf("failed to parse config: %w", err)) + return ExitPermanent + } + + if config.WebhookSigningKey != "" { + if err := verifyMailgunWebhookSignature(config.WebhookSigningKey, req.Body); err != nil { + pdk.SetError(fmt.Errorf("failed to verify mailgun webhook signature: %w", err)) + return ExitPermanent + } + } + + event, ok, err := parseMailgunWebhookEvent(req.Body) + if err != nil { + pdk.SetError(fmt.Errorf("failed to parse mailgun webhook body: %w", err)) + return ExitPermanent + } + + if !ok { + if err := pdk.OutputJSON(providers.WebhookResponse{Events: []providers.WebhookEvent{}}); err != nil { + pdk.SetError(err) + return ExitTransient + } + return ExitSuccess + } + + if err := pdk.OutputJSON(providers.WebhookResponse{Events: []providers.WebhookEvent{event}}); err != nil { + pdk.SetError(err) + return ExitTransient + } + + return ExitSuccess +} + +//go:export validate +func Validate() int32 { + var req providers.ValidateRequest + if err := pdk.InputJSON(&req); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + var config Config + if err := json.Unmarshal(req.Config, &config); err != nil { + pdk.SetError(fmt.Errorf("failed to parse config: %w", err)) + return ExitPermanent + } + + errs := validateConfig(config) + + if len(errs) > 0 { + if err := pdk.OutputJSON(providers.ValidateResponse{ + Valid: false, + Errors: errs, + Message: "invalid provider configuration", + }); err != nil { + pdk.SetError(err) + return ExitPermanent + } + return ExitSuccess + } + + if err := pdk.OutputJSON(providers.ValidateResponse{Valid: true}); err != nil { + pdk.SetError(err) + return ExitPermanent + } + + return ExitSuccess +} diff --git a/pkg/modules/providers/channel.go b/pkg/modules/providers/channel.go index 837a83d3..1375c4a9 100644 --- a/pkg/modules/providers/channel.go +++ b/pkg/modules/providers/channel.go @@ -31,6 +31,7 @@ const ( PlatformIOS Platform = "ios" PlatformAndroid Platform = "android" PlatformWeb Platform = "web" + PlatformEmail Platform = "email" ) // String returns the string representation of the platform. @@ -41,7 +42,7 @@ func (p Platform) String() string { // IsValid checks if the platform is a valid known platform type. func (p Platform) IsValid() bool { switch p { - case PlatformIOS, PlatformAndroid, PlatformWeb: + case PlatformIOS, PlatformAndroid, PlatformWeb, PlatformEmail: return true default: return false From 9c85df676679f2cc06b5c21b341c683546d80dac Mon Sep 17 00:00:00 2001 From: RickjanHoornbeeck <51879@hoornbeeck.nl> Date: Tue, 5 May 2026 12:48:16 +0200 Subject: [PATCH 2/4] chore: auto-generated files --- .../v1/client/oapi/resources_gen.go | 294 +- .../v1/management/oapi/resources_gen.go | 5109 ++++++++++++----- oapi/webhooks_gen.go | 24 +- 3 files changed, 3857 insertions(+), 1570 deletions(-) diff --git a/internal/http/controllers/v1/client/oapi/resources_gen.go b/internal/http/controllers/v1/client/oapi/resources_gen.go index 63efee83..23d63550 100644 --- a/internal/http/controllers/v1/client/oapi/resources_gen.go +++ b/internal/http/controllers/v1/client/oapi/resources_gen.go @@ -1,12 +1,13 @@ // Package oapi provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.0 DO NOT EDIT. package oapi import ( "bytes" "context" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -20,7 +21,7 @@ import ( ) const ( - HttpBearerAuthScopes = "HttpBearerAuth.Scopes" + HttpBearerAuthScopes httpBearerAuthContextKey = "HttpBearerAuth.Scopes" ) // Defines values for DeviceRegistrationOs. @@ -30,6 +31,20 @@ const ( Web DeviceRegistrationOs = "web" ) +// Valid indicates whether the value is a known member of the DeviceRegistrationOs enum. +func (e DeviceRegistrationOs) Valid() bool { + switch e { + case Android: + return true + case Ios: + return true + case Web: + return true + default: + return false + } +} + // DeleteOrganizationRequest defines model for DeleteOrganizationRequest. type DeleteOrganizationRequest struct { // Identifier One or more external identifiers to identify the organization @@ -75,7 +90,7 @@ type DeviceRegistration struct { // Token Device token for FCM or APNs Token *string `json:"token,omitempty"` } `json:"config"` - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` DeviceId string `json:"device_id"` // Identifier One or more external identifiers to identify the user @@ -97,7 +112,7 @@ type Event struct { Identifier *UserIdentifier `json:"identifier,omitempty"` // Match JSONB containment filter to match users by their data attributes. Mutually exclusive with identifier. When set, the event is delivered to every user whose data column contains the given key/value pairs. - Match *map[string]any `json:"match"` + Match *map[string]any `json:"match,omitempty"` // Name The name of the event Name string `json:"name"` @@ -109,7 +124,7 @@ type ExternalID struct { ExternalId string `json:"external_id"` // Metadata Optional metadata associated with this identifier - Metadata *map[string]any `json:"metadata"` + Metadata *map[string]any `json:"metadata,omitempty"` // Source Source of the identifier (e.g. "default", "anonymous", or a custom source). Defaults to "default" if not provided. Source *string `json:"source,omitempty"` @@ -120,7 +135,7 @@ type ExternalIDResponse struct { CreatedAt time.Time `json:"created_at"` ExternalId string `json:"external_id"` Id openapi_types.UUID `json:"id"` - Metadata *map[string]any `json:"metadata"` + Metadata *map[string]any `json:"metadata,omitempty"` Source string `json:"source"` UpdatedAt time.Time `json:"updated_at"` } @@ -128,16 +143,16 @@ type ExternalIDResponse struct { // IdentifyRequest defines model for IdentifyRequest. type IdentifyRequest struct { // Data User-specific attributes - Data *map[string]any `json:"data"` - Email *string `json:"email"` + Data *map[string]any `json:"data,omitempty"` + Email *string `json:"email,omitempty"` // Identifier One or more external identifiers to identify the user Identifier UserIdentifier `json:"identifier"` - Locale *string `json:"locale"` + Locale *string `json:"locale,omitempty"` // Phone E.164 formatted phone number - Phone *string `json:"phone"` - Timezone *string `json:"timezone"` + Phone *string `json:"phone,omitempty"` + Timezone *string `json:"timezone,omitempty"` } // Organization defines model for Organization. @@ -157,13 +172,13 @@ type Organization struct { // OrganizationEvent defines model for OrganizationEvent. type OrganizationEvent struct { // Data Event-specific data - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` // Identifier One or more external identifiers to identify the organization Identifier *OrganizationIdentifier `json:"identifier,omitempty"` // Match JSONB containment filter to match organizations by their data attributes. Mutually exclusive with identifier. When set, the event is delivered to every organization whose data column contains the given key/value pairs. - Match *map[string]any `json:"match"` + Match *map[string]any `json:"match,omitempty"` // Name The name of the event Name string `json:"name"` @@ -174,17 +189,17 @@ type OrganizationIdentifier = []ExternalID // OrganizationRequest defines model for OrganizationRequest. type OrganizationRequest struct { - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` // Identifier One or more external identifiers to identify the organization Identifier OrganizationIdentifier `json:"identifier"` - Name *string `json:"name"` + Name *string `json:"name,omitempty"` } // OrganizationUserRequest defines model for OrganizationUserRequest. type OrganizationUserRequest struct { // Data Organization-specific data for this user - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` Organization struct { // Identifier One or more external identifiers to identify the organization Identifier OrganizationIdentifier `json:"identifier"` @@ -225,7 +240,7 @@ type RemoveOrganizationUserRequest struct { // ScheduledAccepted defines model for ScheduledAccepted. type ScheduledAccepted struct { // Data Scheduled resource data - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` // Id The unique identifier for the scheduled instance Id openapi_types.UUID `json:"id"` @@ -240,43 +255,43 @@ type ScheduledAccepted struct { // UpsertOrganizationScheduledRequest defines model for UpsertOrganizationScheduledRequest. type UpsertOrganizationScheduledRequest struct { // Data Scheduled resource data - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` // Identifier One or more external identifiers to identify the organization Identifier OrganizationIdentifier `json:"identifier"` // Interval Interval for recurring schedules. When set, the schedule type is automatically set to recurring. - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` // Name The name of the scheduled resource Name string `json:"name"` // ScheduledAt The time at which the scheduled resource is set to trigger. Required for single schedules. - ScheduledAt *time.Time `json:"scheduled_at"` + ScheduledAt *time.Time `json:"scheduled_at,omitempty"` // StartAt Start time for recurring schedules. If omitted for recurring schedules, defaults to now. - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` } // UpsertUserScheduledRequest defines model for UpsertUserScheduledRequest. type UpsertUserScheduledRequest struct { // Data Scheduled resource data - Data *map[string]any `json:"data"` + Data *map[string]any `json:"data,omitempty"` // Identifier One or more external identifiers to identify the user Identifier *UserIdentifier `json:"identifier,omitempty"` // Interval Interval for recurring schedules. When set, the schedule type is automatically set to recurring. - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` // Name The name of the scheduled resource Name string `json:"name"` // ScheduledAt The time at which the scheduled resource is set to trigger. Required for single schedules. - ScheduledAt *time.Time `json:"scheduled_at"` + ScheduledAt *time.Time `json:"scheduled_at,omitempty"` // StartAt Start time for recurring schedules. If omitted for recurring schedules, defaults to now. - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` } // User defines model for User. @@ -311,6 +326,9 @@ type VapidPublicKey struct { // Error defines model for Error. type Error = Problem +// httpBearerAuthContextKey is the context key for HttpBearerAuth security scheme +type httpBearerAuthContextKey string + // UpdatePreferencesFormdataBody defines parameters for UpdatePreferences. type UpdatePreferencesFormdataBody struct { // SubscriptionIds Array of subscription IDs to keep subscribed @@ -920,7 +938,7 @@ func NewDeleteOrganizationClientRequestWithBody(server string, contentType strin return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), body) if err != nil { return nil, err } @@ -960,7 +978,7 @@ func NewUpsertOrganizationClientRequestWithBody(server string, contentType strin return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1000,7 +1018,7 @@ func NewPostOrganizationEventsClientRequestWithBody(server string, contentType s return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1040,7 +1058,7 @@ func NewDeleteOrganizationScheduledClientRequestWithBody(server string, contentT return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), body) if err != nil { return nil, err } @@ -1080,7 +1098,7 @@ func NewUpsertOrganizationScheduledClientRequestWithBody(server string, contentT return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1120,7 +1138,7 @@ func NewRemoveOrganizationUserClientRequestWithBody(server string, contentType s return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), body) if err != nil { return nil, err } @@ -1160,7 +1178,7 @@ func NewAddOrganizationUserClientRequestWithBody(server string, contentType stri return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1189,7 +1207,7 @@ func NewGetVapidPublicKeyRequest(server string) (*http.Request, error) { return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -1227,7 +1245,7 @@ func NewDeleteUserClientRequestWithBody(server string, contentType string, body return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), body) if err != nil { return nil, err } @@ -1267,7 +1285,7 @@ func NewUpsertUserClientRequestWithBody(server string, contentType string, body return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1307,7 +1325,7 @@ func NewRegisterDeviceRequestWithBody(server string, contentType string, body io return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1347,7 +1365,7 @@ func NewPostUserEventsRequestWithBody(server string, contentType string, body io return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1387,7 +1405,7 @@ func NewDeleteUserScheduledClientRequestWithBody(server string, contentType stri return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), body) if err != nil { return nil, err } @@ -1427,7 +1445,7 @@ func NewUpsertUserScheduledClientRequestWithBody(server string, contentType stri return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1443,14 +1461,14 @@ func NewGetPreferencesPageRequest(server string, projectID openapi_types.UUID, u var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -1470,7 +1488,7 @@ func NewGetPreferencesPageRequest(server string, projectID openapi_types.UUID, u return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -1495,14 +1513,14 @@ func NewUpdatePreferencesRequestWithBody(server string, projectID openapi_types. var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -1522,7 +1540,7 @@ func NewUpdatePreferencesRequestWithBody(server string, projectID openapi_types. return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -1552,24 +1570,29 @@ func NewEmailUnsubscribeRequest(server string, params *EmailUnsubscribeParams) ( } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "link", runtime.ParamLocationQuery, params.Link); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "link", params.Link, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -1722,6 +1745,14 @@ func (r DeleteOrganizationClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertOrganizationClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1745,6 +1776,14 @@ func (r UpsertOrganizationClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertOrganizationClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type PostOrganizationEventsClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1767,6 +1806,14 @@ func (r PostOrganizationEventsClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r PostOrganizationEventsClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteOrganizationScheduledClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1789,6 +1836,14 @@ func (r DeleteOrganizationScheduledClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationScheduledClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertOrganizationScheduledClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1812,6 +1867,14 @@ func (r UpsertOrganizationScheduledClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertOrganizationScheduledClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type RemoveOrganizationUserClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1834,6 +1897,14 @@ func (r RemoveOrganizationUserClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r RemoveOrganizationUserClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type AddOrganizationUserClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1856,6 +1927,14 @@ func (r AddOrganizationUserClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AddOrganizationUserClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetVapidPublicKeyResponse struct { Body []byte HTTPResponse *http.Response @@ -1879,6 +1958,14 @@ func (r GetVapidPublicKeyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetVapidPublicKeyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1901,6 +1988,14 @@ func (r DeleteUserClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertUserClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1924,6 +2019,14 @@ func (r UpsertUserClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertUserClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type RegisterDeviceResponse struct { Body []byte HTTPResponse *http.Response @@ -1946,6 +2049,14 @@ func (r RegisterDeviceResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r RegisterDeviceResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type PostUserEventsResponse struct { Body []byte HTTPResponse *http.Response @@ -1968,6 +2079,14 @@ func (r PostUserEventsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r PostUserEventsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserScheduledClientResponse struct { Body []byte HTTPResponse *http.Response @@ -1990,6 +2109,14 @@ func (r DeleteUserScheduledClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserScheduledClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertUserScheduledClientResponse struct { Body []byte HTTPResponse *http.Response @@ -2013,6 +2140,14 @@ func (r UpsertUserScheduledClientResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertUserScheduledClientResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetPreferencesPageResponse struct { Body []byte HTTPResponse *http.Response @@ -2034,6 +2169,14 @@ func (r GetPreferencesPageResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetPreferencesPageResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdatePreferencesResponse struct { Body []byte HTTPResponse *http.Response @@ -2055,6 +2198,14 @@ func (r UpdatePreferencesResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdatePreferencesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type EmailUnsubscribeResponse struct { Body []byte HTTPResponse *http.Response @@ -2076,6 +2227,14 @@ func (r EmailUnsubscribeResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r EmailUnsubscribeResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + // DeleteOrganizationClientWithBodyWithResponse request with arbitrary body returning *DeleteOrganizationClientResponse func (c *ClientWithResponses) DeleteOrganizationClientWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteOrganizationClientResponse, error) { rsp, err := c.DeleteOrganizationClientWithBody(ctx, contentType, body, reqEditors...) @@ -3242,11 +3401,12 @@ func (siw *ServerInterfaceWrapper) UpsertUserScheduledClient(w http.ResponseWrit func (siw *ServerInterfaceWrapper) GetPreferencesPage(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -3255,7 +3415,7 @@ func (siw *ServerInterfaceWrapper) GetPreferencesPage(w http.ResponseWriter, r * // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -3276,11 +3436,12 @@ func (siw *ServerInterfaceWrapper) GetPreferencesPage(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) UpdatePreferences(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -3289,7 +3450,7 @@ func (siw *ServerInterfaceWrapper) UpdatePreferences(w http.ResponseWriter, r *h // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -3310,22 +3471,21 @@ func (siw *ServerInterfaceWrapper) UpdatePreferences(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) EmailUnsubscribe(w http.ResponseWriter, r *http.Request) { var err error + _ = err // Parameter object where we will unmarshal all parameters from the context var params EmailUnsubscribeParams // ------------- Required query parameter "link" ------------- - if paramValue := r.URL.Query().Get("link"); paramValue != "" { - - } else { - siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "link"}) - return - } - - err = runtime.BindQueryParameter("form", true, true, "link", r.URL.Query(), ¶ms.Link) + err = runtime.BindQueryParameterWithOptions("form", true, true, "link", r.URL.Query(), ¶ms.Link, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "link", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "link"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "link", Err: err}) + } return } diff --git a/internal/http/controllers/v1/management/oapi/resources_gen.go b/internal/http/controllers/v1/management/oapi/resources_gen.go index f50662f5..e5f67433 100644 --- a/internal/http/controllers/v1/management/oapi/resources_gen.go +++ b/internal/http/controllers/v1/management/oapi/resources_gen.go @@ -1,12 +1,13 @@ // Package oapi provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.0 DO NOT EDIT. package oapi import ( "bytes" "context" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -21,7 +22,7 @@ import ( ) const ( - HttpBearerAuthScopes = "HttpBearerAuth.Scopes" + HttpBearerAuthScopes httpBearerAuthContextKey = "HttpBearerAuth.Scopes" ) // Defines values for ApiKeyScope. @@ -30,6 +31,18 @@ const ( Secret ApiKeyScope = "secret" ) +// Valid indicates whether the value is a known member of the ApiKeyScope enum. +func (e ApiKeyScope) Valid() bool { + switch e { + case Public: + return true + case Secret: + return true + default: + return false + } +} + // Defines values for BroadcastState. const ( BroadcastStateCancelled BroadcastState = "cancelled" @@ -40,6 +53,26 @@ const ( BroadcastStateSending BroadcastState = "sending" ) +// Valid indicates whether the value is a known member of the BroadcastState enum. +func (e BroadcastState) Valid() bool { + switch e { + case BroadcastStateCancelled: + return true + case BroadcastStateCompleted: + return true + case BroadcastStateFailed: + return true + case BroadcastStatePending: + return true + case BroadcastStateScheduled: + return true + case BroadcastStateSending: + return true + default: + return false + } +} + // Defines values for CampaignUserStatus. const ( CampaignUserStatusAborted CampaignUserStatus = "aborted" @@ -50,6 +83,26 @@ const ( CampaignUserStatusThrottled CampaignUserStatus = "throttled" ) +// Valid indicates whether the value is a known member of the CampaignUserStatus enum. +func (e CampaignUserStatus) Valid() bool { + switch e { + case CampaignUserStatusAborted: + return true + case CampaignUserStatusFailed: + return true + case CampaignUserStatusOpened: + return true + case CampaignUserStatusPending: + return true + case CampaignUserStatusSent: + return true + case CampaignUserStatusThrottled: + return true + default: + return false + } +} + // Defines values for Channel. const ( ChannelEmail Channel = "email" @@ -57,24 +110,74 @@ const ( ChannelSms Channel = "sms" ) +// Valid indicates whether the value is a known member of the Channel enum. +func (e Channel) Valid() bool { + switch e { + case ChannelEmail: + return true + case ChannelPush: + return true + case ChannelSms: + return true + default: + return false + } +} + // Defines values for CreateListType. const ( CreateListTypeDynamic CreateListType = "dynamic" CreateListTypeStatic CreateListType = "static" ) +// Valid indicates whether the value is a known member of the CreateListType enum. +func (e CreateListType) Valid() bool { + switch e { + case CreateListTypeDynamic: + return true + case CreateListTypeStatic: + return true + default: + return false + } +} + // Defines values for CreateScheduleOffsetRequestDirection. const ( CreateScheduleOffsetRequestDirectionAfter CreateScheduleOffsetRequestDirection = "after" CreateScheduleOffsetRequestDirectionBefore CreateScheduleOffsetRequestDirection = "before" ) +// Valid indicates whether the value is a known member of the CreateScheduleOffsetRequestDirection enum. +func (e CreateScheduleOffsetRequestDirection) Valid() bool { + switch e { + case CreateScheduleOffsetRequestDirectionAfter: + return true + case CreateScheduleOffsetRequestDirectionBefore: + return true + default: + return false + } +} + // Defines values for CreateSenderIdentityChannel. const ( CreateSenderIdentityChannelEmail CreateSenderIdentityChannel = "email" CreateSenderIdentityChannelSms CreateSenderIdentityChannel = "sms" ) +// Valid indicates whether the value is a known member of the CreateSenderIdentityChannel enum. +func (e CreateSenderIdentityChannel) Valid() bool { + switch e { + case CreateSenderIdentityChannelEmail: + return true + case CreateSenderIdentityChannelSms: + return true + default: + return false + } +} + // Defines values for CreateUserDeviceOs. const ( CreateUserDeviceOsAndroid CreateUserDeviceOs = "android" @@ -82,6 +185,20 @@ const ( CreateUserDeviceOsWeb CreateUserDeviceOs = "web" ) +// Valid indicates whether the value is a known member of the CreateUserDeviceOs enum. +func (e CreateUserDeviceOs) Valid() bool { + switch e { + case CreateUserDeviceOsAndroid: + return true + case CreateUserDeviceOsIos: + return true + case CreateUserDeviceOsWeb: + return true + default: + return false + } +} + // Defines values for JourneyStatus. const ( JourneyStatusArchived JourneyStatus = "archived" @@ -89,6 +206,20 @@ const ( JourneyStatusPublished JourneyStatus = "published" ) +// Valid indicates whether the value is a known member of the JourneyStatus enum. +func (e JourneyStatus) Valid() bool { + switch e { + case JourneyStatusArchived: + return true + case JourneyStatusDraft: + return true + case JourneyStatusPublished: + return true + default: + return false + } +} + // Defines values for JourneyStepType. const ( JourneyStepTypeAction JourneyStepType = "action" @@ -105,6 +236,38 @@ const ( JourneyStepTypeUpdate JourneyStepType = "update" ) +// Valid indicates whether the value is a known member of the JourneyStepType enum. +func (e JourneyStepType) Valid() bool { + switch e { + case JourneyStepTypeAction: + return true + case JourneyStepTypeBalancer: + return true + case JourneyStepTypeCampaign: + return true + case JourneyStepTypeDelay: + return true + case JourneyStepTypeEntrance: + return true + case JourneyStepTypeEvent: + return true + case JourneyStepTypeExit: + return true + case JourneyStepTypeExperiment: + return true + case JourneyStepTypeGate: + return true + case JourneyStepTypeSchedule: + return true + case JourneyStepTypeSticky: + return true + case JourneyStepTypeUpdate: + return true + default: + return false + } +} + // Defines values for ListState. const ( ListStateDraft ListState = "draft" @@ -112,12 +275,38 @@ const ( ListStateReady ListState = "ready" ) +// Valid indicates whether the value is a known member of the ListState enum. +func (e ListState) Valid() bool { + switch e { + case ListStateDraft: + return true + case ListStateLoading: + return true + case ListStateReady: + return true + default: + return false + } +} + // Defines values for ListType. const ( ListTypeDynamic ListType = "dynamic" ListTypeStatic ListType = "static" ) +// Valid indicates whether the value is a known member of the ListType enum. +func (e ListType) Valid() bool { + switch e { + case ListTypeDynamic: + return true + case ListTypeStatic: + return true + default: + return false + } +} + // Defines values for OrganizationRole. const ( OrganizationRoleAdmin OrganizationRole = "admin" @@ -125,6 +314,20 @@ const ( OrganizationRoleOwner OrganizationRole = "owner" ) +// Valid indicates whether the value is a known member of the OrganizationRole enum. +func (e OrganizationRole) Valid() bool { + switch e { + case OrganizationRoleAdmin: + return true + case OrganizationRoleMember: + return true + case OrganizationRoleOwner: + return true + default: + return false + } +} + // Defines values for ProjectPushProviderPlatform. const ( ProjectPushProviderPlatformAndroid ProjectPushProviderPlatform = "android" @@ -132,6 +335,20 @@ const ( ProjectPushProviderPlatformWeb ProjectPushProviderPlatform = "web" ) +// Valid indicates whether the value is a known member of the ProjectPushProviderPlatform enum. +func (e ProjectPushProviderPlatform) Valid() bool { + switch e { + case ProjectPushProviderPlatformAndroid: + return true + case ProjectPushProviderPlatformIos: + return true + case ProjectPushProviderPlatformWeb: + return true + default: + return false + } +} + // Defines values for ProjectRole. const ( ProjectRoleAdmin ProjectRole = "admin" @@ -140,65 +357,199 @@ const ( ProjectRoleSupport ProjectRole = "support" ) +// Valid indicates whether the value is a known member of the ProjectRole enum. +func (e ProjectRole) Valid() bool { + switch e { + case ProjectRoleAdmin: + return true + case ProjectRoleClient: + return true + case ProjectRoleEditor: + return true + case ProjectRoleSupport: + return true + default: + return false + } +} + // Defines values for ScheduleOffsetDirection. const ( ScheduleOffsetDirectionAfter ScheduleOffsetDirection = "after" ScheduleOffsetDirectionBefore ScheduleOffsetDirection = "before" ) +// Valid indicates whether the value is a known member of the ScheduleOffsetDirection enum. +func (e ScheduleOffsetDirection) Valid() bool { + switch e { + case ScheduleOffsetDirectionAfter: + return true + case ScheduleOffsetDirectionBefore: + return true + default: + return false + } +} + // Defines values for SenderIdentityChannel. const ( SenderIdentityChannelEmail SenderIdentityChannel = "email" SenderIdentityChannelSms SenderIdentityChannel = "sms" ) +// Valid indicates whether the value is a known member of the SenderIdentityChannel enum. +func (e SenderIdentityChannel) Valid() bool { + switch e { + case SenderIdentityChannelEmail: + return true + case SenderIdentityChannelSms: + return true + default: + return false + } +} + // Defines values for SubscriptionState. const ( Subscribed SubscriptionState = "subscribed" Unsubscribed SubscriptionState = "unsubscribed" ) +// Valid indicates whether the value is a known member of the SubscriptionState enum. +func (e SubscriptionState) Valid() bool { + switch e { + case Subscribed: + return true + case Unsubscribed: + return true + default: + return false + } +} + // Defines values for UpdateOrganizationScheduledRequestPause. const ( UpdateOrganizationScheduledRequestPauseAfterNextInterval UpdateOrganizationScheduledRequestPause = "after_next_interval" UpdateOrganizationScheduledRequestPauseImmediately UpdateOrganizationScheduledRequestPause = "immediately" ) +// Valid indicates whether the value is a known member of the UpdateOrganizationScheduledRequestPause enum. +func (e UpdateOrganizationScheduledRequestPause) Valid() bool { + switch e { + case UpdateOrganizationScheduledRequestPauseAfterNextInterval: + return true + case UpdateOrganizationScheduledRequestPauseImmediately: + return true + default: + return false + } +} + // Defines values for UpdateOrganizationScheduledRequestResume. const ( UpdateOrganizationScheduledRequestResumeAtNextInterval UpdateOrganizationScheduledRequestResume = "at_next_interval" UpdateOrganizationScheduledRequestResumeImmediately UpdateOrganizationScheduledRequestResume = "immediately" ) +// Valid indicates whether the value is a known member of the UpdateOrganizationScheduledRequestResume enum. +func (e UpdateOrganizationScheduledRequestResume) Valid() bool { + switch e { + case UpdateOrganizationScheduledRequestResumeAtNextInterval: + return true + case UpdateOrganizationScheduledRequestResumeImmediately: + return true + default: + return false + } +} + // Defines values for UpdateUserScheduledRequestPause. const ( UpdateUserScheduledRequestPauseAfterNextInterval UpdateUserScheduledRequestPause = "after_next_interval" UpdateUserScheduledRequestPauseImmediately UpdateUserScheduledRequestPause = "immediately" ) +// Valid indicates whether the value is a known member of the UpdateUserScheduledRequestPause enum. +func (e UpdateUserScheduledRequestPause) Valid() bool { + switch e { + case UpdateUserScheduledRequestPauseAfterNextInterval: + return true + case UpdateUserScheduledRequestPauseImmediately: + return true + default: + return false + } +} + // Defines values for UpdateUserScheduledRequestResume. const ( UpdateUserScheduledRequestResumeAtNextInterval UpdateUserScheduledRequestResume = "at_next_interval" UpdateUserScheduledRequestResumeImmediately UpdateUserScheduledRequestResume = "immediately" ) +// Valid indicates whether the value is a known member of the UpdateUserScheduledRequestResume enum. +func (e UpdateUserScheduledRequestResume) Valid() bool { + switch e { + case UpdateUserScheduledRequestResumeAtNextInterval: + return true + case UpdateUserScheduledRequestResumeImmediately: + return true + default: + return false + } +} + // Defines values for ListSenderIdentitiesParamsChannel. const ( ListSenderIdentitiesParamsChannelEmail ListSenderIdentitiesParamsChannel = "email" ListSenderIdentitiesParamsChannelSms ListSenderIdentitiesParamsChannel = "sms" ) +// Valid indicates whether the value is a known member of the ListSenderIdentitiesParamsChannel enum. +func (e ListSenderIdentitiesParamsChannel) Valid() bool { + switch e { + case ListSenderIdentitiesParamsChannelEmail: + return true + case ListSenderIdentitiesParamsChannelSms: + return true + default: + return false + } +} + // Defines values for AuthCallbackParamsDriver. const ( AuthCallbackParamsDriverBasic AuthCallbackParamsDriver = "basic" AuthCallbackParamsDriverClerk AuthCallbackParamsDriver = "clerk" ) +// Valid indicates whether the value is a known member of the AuthCallbackParamsDriver enum. +func (e AuthCallbackParamsDriver) Valid() bool { + switch e { + case AuthCallbackParamsDriverBasic: + return true + case AuthCallbackParamsDriverClerk: + return true + default: + return false + } +} + // Defines values for AuthWebhookParamsDriver. const ( AuthWebhookParamsDriverClerk AuthWebhookParamsDriver = "clerk" ) +// Valid indicates whether the value is a known member of the AuthWebhookParamsDriver enum. +func (e AuthWebhookParamsDriver) Valid() bool { + switch e { + case AuthWebhookParamsDriverClerk: + return true + default: + return false + } +} + // Action defines model for Action. type Action struct { // Config Action configuration (varies by type) @@ -575,19 +926,19 @@ type CreateTag struct { // CreateTemplate defines model for CreateTemplate. type CreateTemplate struct { // Data Template-specific data based on type. Structure varies by template type. - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` // Locale The locale/language code for the template Locale string `json:"locale"` // SenderIdentityId The ID of the sender identity to use for this template - SenderIdentityId *openapi_types.UUID `json:"sender_identity_id"` + SenderIdentityId *openapi_types.UUID `json:"sender_identity_id,omitempty"` } // CreateUserDevice defines model for CreateUserDevice. type CreateUserDevice struct { - AppBuild *string `json:"app_build"` - AppVersion *string `json:"app_version"` + AppBuild *string `json:"app_build,omitempty"` + AppVersion *string `json:"app_version,omitempty"` Config struct { // Endpoint Web Push subscription endpoint URL Endpoint *string `json:"endpoint,omitempty"` @@ -600,11 +951,11 @@ type CreateUserDevice struct { // Token Device token for FCM or APNs Token *string `json:"token,omitempty"` } `json:"config"` - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` DeviceId string `json:"device_id"` - Model *string `json:"model"` + Model *string `json:"model,omitempty"` Os CreateUserDeviceOs `json:"os"` - OsVersion *string `json:"os_version"` + OsVersion *string `json:"os_version,omitempty"` } // CreateUserDeviceOs defines model for CreateUserDevice.Os. @@ -735,7 +1086,7 @@ type ExternalID struct { ExternalId string `json:"external_id"` // Metadata Optional metadata associated with this identifier - Metadata *map[string]any `json:"metadata"` + Metadata *map[string]any `json:"metadata,omitempty"` // Source Source of the identifier (e.g. "default", "anonymous", or a custom source). Defaults to "default" if not provided. Source *string `json:"source,omitempty"` @@ -746,7 +1097,7 @@ type ExternalIDResponse struct { CreatedAt time.Time `json:"created_at"` ExternalId string `json:"external_id"` Id openapi_types.UUID `json:"id"` - Metadata *map[string]any `json:"metadata"` + Metadata *map[string]any `json:"metadata,omitempty"` Source string `json:"source"` UpdatedAt time.Time `json:"updated_at"` } @@ -822,7 +1173,7 @@ type JourneyStep struct { // JourneyStepChild defines model for JourneyStepChild. type JourneyStepChild struct { // Data Child-specific configuration data (structure varies by parent step type) - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` // ExternalId External ID of the child step ExternalId string `json:"external_id"` @@ -979,16 +1330,16 @@ type OrganizationScheduled struct { Id openapi_types.UUID `json:"id"` // Interval Interval for recurring schedules - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` OrganizationId openapi_types.UUID `json:"organization_id"` // PausedAt When set, the schedule is paused and the scheduler will not advance it - PausedAt *time.Time `json:"paused_at"` + PausedAt *time.Time `json:"paused_at,omitempty"` ScheduledAt time.Time `json:"scheduled_at"` ScheduledId openapi_types.UUID `json:"scheduled_id"` // StartAt Start time of the recurring schedule interval - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` UpdatedAt time.Time `json:"updated_at"` } @@ -1298,7 +1649,7 @@ type Template struct { ProjectId openapi_types.UUID `json:"project_id"` // SenderIdentityId The ID of the sender identity to use for this template - SenderIdentityId *openapi_types.UUID `json:"sender_identity_id"` + SenderIdentityId *openapi_types.UUID `json:"sender_identity_id,omitempty"` // Type Communication channel type Type Channel `json:"type"` @@ -1370,7 +1721,7 @@ type UpdateApiKey struct { // UpdateBroadcast defines model for UpdateBroadcast. type UpdateBroadcast struct { // ScheduledAt Set or update the scheduled send time. Pass null to remove the schedule and revert to pending. Only allowed when the broadcast is in 'pending' or 'scheduled' state. - ScheduledAt *time.Time `json:"scheduled_at"` + ScheduledAt *time.Time `json:"scheduled_at,omitempty"` } // UpdateCampaign defines model for UpdateCampaign. @@ -1461,10 +1812,10 @@ type UpdateTag struct { // UpdateTemplate defines model for UpdateTemplate. type UpdateTemplate struct { // Data Template-specific data based on type. Structure varies by template type. - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` // SenderIdentityId The ID of the sender identity to use for this template - SenderIdentityId *openapi_types.UUID `json:"sender_identity_id"` + SenderIdentityId *openapi_types.UUID `json:"sender_identity_id,omitempty"` } // UpdateUser defines model for UpdateUser. @@ -1515,13 +1866,13 @@ type UpsertOrganization struct { // UpsertOrganizationScheduledRequest defines model for UpsertOrganizationScheduledRequest. type UpsertOrganizationScheduledRequest struct { // Data Scheduled resource data - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` // Interval Interval for recurring schedules. When set, the schedule type is automatically set to recurring. - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` // ScheduledAt The time at which the scheduled resource is set to trigger. Required for single schedules. - ScheduledAt *time.Time `json:"scheduled_at"` + ScheduledAt *time.Time `json:"scheduled_at,omitempty"` // ScheduledId The scheduled definition ID. Either scheduled_id or scheduled_name must be provided. ScheduledId *openapi_types.UUID `json:"scheduled_id,omitempty"` @@ -1530,7 +1881,7 @@ type UpsertOrganizationScheduledRequest struct { ScheduledName *string `json:"scheduled_name,omitempty"` // StartAt Start time for recurring schedules. If omitted for recurring schedules, defaults to now. - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` } // UpsertProjectPushProvider defines model for UpsertProjectPushProvider. @@ -1542,13 +1893,13 @@ type UpsertProjectPushProvider struct { // UpsertUserScheduledRequest defines model for UpsertUserScheduledRequest. type UpsertUserScheduledRequest struct { // Data Scheduled resource data - Data *json.RawMessage `json:"data"` + Data *json.RawMessage `json:"data,omitempty"` // Interval Interval for recurring schedules. When set, the schedule type is automatically set to recurring. - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` // ScheduledAt The time at which the scheduled resource is set to trigger. Required for single schedules. - ScheduledAt *time.Time `json:"scheduled_at"` + ScheduledAt *time.Time `json:"scheduled_at,omitempty"` // ScheduledId The scheduled definition ID. Either scheduled_id or scheduled_name must be provided. ScheduledId *openapi_types.UUID `json:"scheduled_id,omitempty"` @@ -1557,7 +1908,7 @@ type UpsertUserScheduledRequest struct { ScheduledName *string `json:"scheduled_name,omitempty"` // StartAt Start time for recurring schedules. If omitted for recurring schedules, defaults to now. - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` } // User defines model for User. @@ -1582,15 +1933,15 @@ type User struct { // UserDevice defines model for UserDevice. type UserDevice struct { - AppBuild *string `json:"app_build"` - AppVersion *string `json:"app_version"` + AppBuild *string `json:"app_build,omitempty"` + AppVersion *string `json:"app_version,omitempty"` CreatedAt time.Time `json:"created_at"` Data json.RawMessage `json:"data"` DeviceId string `json:"device_id"` Id openapi_types.UUID `json:"id"` - Model *string `json:"model"` - Os *string `json:"os"` - OsVersion *string `json:"os_version"` + Model *string `json:"model,omitempty"` + Os *string `json:"os,omitempty"` + OsVersion *string `json:"os_version,omitempty"` UpdatedAt time.Time `json:"updated_at"` } @@ -1662,21 +2013,21 @@ type UserList struct { // UserScheduled defines model for UserScheduled. type UserScheduled struct { // AnchorAt Anchor time used as the base for occurrence calculations. Rebased when scheduled_at is explicitly set. - AnchorAt *time.Time `json:"anchor_at"` + AnchorAt *time.Time `json:"anchor_at,omitempty"` CreatedAt time.Time `json:"created_at"` Data json.RawMessage `json:"data"` Id openapi_types.UUID `json:"id"` // Interval Interval for recurring schedules - Interval *string `json:"interval"` + Interval *string `json:"interval,omitempty"` // PausedAt When set, the schedule is paused and the scheduler will not advance it - PausedAt *time.Time `json:"paused_at"` + PausedAt *time.Time `json:"paused_at,omitempty"` ScheduledAt time.Time `json:"scheduled_at"` ScheduledId openapi_types.UUID `json:"scheduled_id"` // StartAt Start time of the recurring schedule interval - StartAt *time.Time `json:"start_at"` + StartAt *time.Time `json:"start_at,omitempty"` UpdatedAt time.Time `json:"updated_at"` UserId openapi_types.UUID `json:"user_id"` } @@ -1883,6 +2234,9 @@ type TagListResponse struct { Total int `json:"total"` } +// httpBearerAuthContextKey is the context key for HttpBearerAuth security scheme +type httpBearerAuthContextKey string + // ListProjectsParams defines parameters for ListProjects. type ListProjectsParams struct { // Limit Maximum number of items to return @@ -5524,7 +5878,7 @@ func NewGetProfileRequest(server string) (*http.Request, error) { return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5552,19 +5906,21 @@ func NewListProjectsRequest(server string, params *ListProjectsParams) (*http.Re } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -5572,15 +5928,11 @@ func NewListProjectsRequest(server string, params *ListProjectsParams) (*http.Re if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -5588,24 +5940,23 @@ func NewListProjectsRequest(server string, params *ListProjectsParams) (*http.Re if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5643,7 +5994,7 @@ func NewCreateProjectRequestWithBody(server string, contentType string, body io. return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -5659,7 +6010,7 @@ func NewDeleteProjectRequest(server string, projectID openapi_types.UUID) (*http var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5679,7 +6030,7 @@ func NewDeleteProjectRequest(server string, projectID openapi_types.UUID) (*http return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -5693,7 +6044,7 @@ func NewGetProjectRequest(server string, projectID openapi_types.UUID) (*http.Re var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5713,7 +6064,7 @@ func NewGetProjectRequest(server string, projectID openapi_types.UUID) (*http.Re return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5738,7 +6089,7 @@ func NewUpdateProjectRequestWithBody(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5758,7 +6109,7 @@ func NewUpdateProjectRequestWithBody(server string, projectID openapi_types.UUID return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -5774,7 +6125,7 @@ func NewListActionsRequest(server string, projectID openapi_types.UUID, params * var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5795,19 +6146,21 @@ func NewListActionsRequest(server string, projectID openapi_types.UUID, params * } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -5815,15 +6168,11 @@ func NewListActionsRequest(server string, projectID openapi_types.UUID, params * if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -5831,24 +6180,23 @@ func NewListActionsRequest(server string, projectID openapi_types.UUID, params * if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5873,7 +6221,7 @@ func NewCreateActionRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5893,7 +6241,7 @@ func NewCreateActionRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -5909,7 +6257,7 @@ func NewListActionMetaRequest(server string, projectID openapi_types.UUID) (*htt var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -5929,7 +6277,7 @@ func NewListActionMetaRequest(server string, projectID openapi_types.UUID) (*htt return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5943,14 +6291,14 @@ func NewGetActionPreviewRequest(server string, projectID openapi_types.UUID, act var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionType", runtime.ParamLocationPath, actionType) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionType", actionType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -5970,7 +6318,7 @@ func NewGetActionPreviewRequest(server string, projectID openapi_types.UUID, act return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -5995,7 +6343,7 @@ func NewTestActionRequestWithBody(server string, projectID openapi_types.UUID, c var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6015,7 +6363,7 @@ func NewTestActionRequestWithBody(server string, projectID openapi_types.UUID, c return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -6031,14 +6379,14 @@ func NewDeleteActionRequest(server string, projectID openapi_types.UUID, actionI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionID", runtime.ParamLocationPath, actionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionID", actionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6058,7 +6406,7 @@ func NewDeleteActionRequest(server string, projectID openapi_types.UUID, actionI return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -6072,14 +6420,14 @@ func NewGetActionRequest(server string, projectID openapi_types.UUID, actionID o var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionID", runtime.ParamLocationPath, actionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionID", actionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6099,7 +6447,7 @@ func NewGetActionRequest(server string, projectID openapi_types.UUID, actionID o return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6124,14 +6472,14 @@ func NewUpdateActionRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionID", runtime.ParamLocationPath, actionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionID", actionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6151,7 +6499,7 @@ func NewUpdateActionRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -6167,21 +6515,21 @@ func NewListActionSchemasRequest(server string, projectID openapi_types.UUID, ac var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionID", runtime.ParamLocationPath, actionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionID", actionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "functionID", runtime.ParamLocationPath, functionID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "functionID", functionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -6201,7 +6549,7 @@ func NewListActionSchemasRequest(server string, projectID openapi_types.UUID, ac return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6226,21 +6574,21 @@ func NewTestActionFunctionRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "actionID", runtime.ParamLocationPath, actionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "actionID", actionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "functionID", runtime.ParamLocationPath, functionID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "functionID", functionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -6260,7 +6608,7 @@ func NewTestActionFunctionRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -6276,7 +6624,7 @@ func NewListProjectAdminsRequest(server string, projectID openapi_types.UUID, pa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6297,19 +6645,21 @@ func NewListProjectAdminsRequest(server string, projectID openapi_types.UUID, pa } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6317,15 +6667,11 @@ func NewListProjectAdminsRequest(server string, projectID openapi_types.UUID, pa if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6333,24 +6679,23 @@ func NewListProjectAdminsRequest(server string, projectID openapi_types.UUID, pa if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6364,14 +6709,14 @@ func NewDeleteProjectAdminRequest(server string, projectID openapi_types.UUID, a var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6391,7 +6736,7 @@ func NewDeleteProjectAdminRequest(server string, projectID openapi_types.UUID, a return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -6405,14 +6750,14 @@ func NewGetProjectAdminRequest(server string, projectID openapi_types.UUID, admi var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6432,7 +6777,7 @@ func NewGetProjectAdminRequest(server string, projectID openapi_types.UUID, admi return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6457,14 +6802,14 @@ func NewUpdateProjectAdminRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6484,7 +6829,7 @@ func NewUpdateProjectAdminRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -6500,7 +6845,7 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6521,19 +6866,21 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6541,15 +6888,11 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6557,15 +6900,11 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6573,15 +6912,11 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param if params.CampaignId != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "campaign_id", runtime.ParamLocationQuery, *params.CampaignId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "campaign_id", *params.CampaignId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "uuid"}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6589,15 +6924,11 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param if params.ListId != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "list_id", runtime.ParamLocationQuery, *params.ListId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "list_id", *params.ListId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "uuid"}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6605,24 +6936,23 @@ func NewListBroadcastsRequest(server string, projectID openapi_types.UUID, param if params.State != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "state", runtime.ParamLocationQuery, *params.State); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "state", *params.State, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6647,7 +6977,7 @@ func NewCreateBroadcastRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6667,7 +6997,7 @@ func NewCreateBroadcastRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -6683,14 +7013,14 @@ func NewCancelBroadcastRequest(server string, projectID openapi_types.UUID, broa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6710,7 +7040,7 @@ func NewCancelBroadcastRequest(server string, projectID openapi_types.UUID, broa return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -6724,14 +7054,14 @@ func NewGetBroadcastRequest(server string, projectID openapi_types.UUID, broadca var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6751,7 +7081,7 @@ func NewGetBroadcastRequest(server string, projectID openapi_types.UUID, broadca return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6776,14 +7106,14 @@ func NewUpdateBroadcastRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6803,7 +7133,7 @@ func NewUpdateBroadcastRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -6819,14 +7149,14 @@ func NewStreamBroadcastProgressRequest(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6846,7 +7176,7 @@ func NewStreamBroadcastProgressRequest(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6860,14 +7190,14 @@ func NewSendBroadcastRequest(server string, projectID openapi_types.UUID, broadc var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6887,7 +7217,7 @@ func NewSendBroadcastRequest(server string, projectID openapi_types.UUID, broadc return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -6901,14 +7231,14 @@ func NewGetBroadcastUsersRequest(server string, projectID openapi_types.UUID, br var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "broadcastID", runtime.ParamLocationPath, broadcastID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "broadcastID", broadcastID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -6929,19 +7259,21 @@ func NewGetBroadcastUsersRequest(server string, projectID openapi_types.UUID, br } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6949,15 +7281,11 @@ func NewGetBroadcastUsersRequest(server string, projectID openapi_types.UUID, br if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -6965,24 +7293,23 @@ func NewGetBroadcastUsersRequest(server string, projectID openapi_types.UUID, br if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -6996,7 +7323,7 @@ func NewListCampaignsRequest(server string, projectID openapi_types.UUID, params var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7017,19 +7344,21 @@ func NewListCampaignsRequest(server string, projectID openapi_types.UUID, params } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7037,15 +7366,11 @@ func NewListCampaignsRequest(server string, projectID openapi_types.UUID, params if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7053,24 +7378,23 @@ func NewListCampaignsRequest(server string, projectID openapi_types.UUID, params if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7095,7 +7419,7 @@ func NewCreateCampaignRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7115,7 +7439,7 @@ func NewCreateCampaignRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -7131,14 +7455,14 @@ func NewDeleteCampaignRequest(server string, projectID openapi_types.UUID, campa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7158,7 +7482,7 @@ func NewDeleteCampaignRequest(server string, projectID openapi_types.UUID, campa return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -7172,14 +7496,14 @@ func NewGetCampaignRequest(server string, projectID openapi_types.UUID, campaign var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7199,7 +7523,7 @@ func NewGetCampaignRequest(server string, projectID openapi_types.UUID, campaign return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7224,14 +7548,14 @@ func NewUpdateCampaignRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7251,7 +7575,7 @@ func NewUpdateCampaignRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -7267,14 +7591,14 @@ func NewDuplicateCampaignRequest(server string, projectID openapi_types.UUID, ca var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7294,7 +7618,7 @@ func NewDuplicateCampaignRequest(server string, projectID openapi_types.UUID, ca return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -7319,14 +7643,14 @@ func NewCreateTemplateRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7346,7 +7670,7 @@ func NewCreateTemplateRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -7362,21 +7686,21 @@ func NewDeleteTemplateRequest(server string, projectID openapi_types.UUID, campa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "templateID", runtime.ParamLocationPath, templateID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "templateID", templateID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7396,7 +7720,7 @@ func NewDeleteTemplateRequest(server string, projectID openapi_types.UUID, campa return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -7410,21 +7734,21 @@ func NewGetTemplateRequest(server string, projectID openapi_types.UUID, campaign var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "templateID", runtime.ParamLocationPath, templateID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "templateID", templateID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7444,7 +7768,7 @@ func NewGetTemplateRequest(server string, projectID openapi_types.UUID, campaign return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7469,21 +7793,21 @@ func NewUpdateTemplateRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "templateID", runtime.ParamLocationPath, templateID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "templateID", templateID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7503,7 +7827,7 @@ func NewUpdateTemplateRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -7530,21 +7854,21 @@ func NewSendTestRequestWithBody(server string, projectID openapi_types.UUID, cam var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "templateID", runtime.ParamLocationPath, templateID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "templateID", templateID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7564,7 +7888,7 @@ func NewSendTestRequestWithBody(server string, projectID openapi_types.UUID, cam return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -7580,14 +7904,14 @@ func NewGetCampaignUsersRequest(server string, projectID openapi_types.UUID, cam var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "campaignID", runtime.ParamLocationPath, campaignID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "campaignID", campaignID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7608,19 +7932,21 @@ func NewGetCampaignUsersRequest(server string, projectID openapi_types.UUID, cam } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7628,24 +7954,23 @@ func NewGetCampaignUsersRequest(server string, projectID openapi_types.UUID, cam if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7659,7 +7984,7 @@ func NewListDocumentsRequest(server string, projectID openapi_types.UUID, params var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7680,19 +8005,21 @@ func NewListDocumentsRequest(server string, projectID openapi_types.UUID, params } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7700,24 +8027,23 @@ func NewListDocumentsRequest(server string, projectID openapi_types.UUID, params if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7731,7 +8057,7 @@ func NewUploadDocumentsRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7751,7 +8077,7 @@ func NewUploadDocumentsRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -7767,14 +8093,14 @@ func NewDeleteDocumentRequest(server string, projectID openapi_types.UUID, docum var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "documentID", runtime.ParamLocationPath, documentID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "documentID", documentID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7794,7 +8120,7 @@ func NewDeleteDocumentRequest(server string, projectID openapi_types.UUID, docum return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -7808,14 +8134,14 @@ func NewGetDocumentRequest(server string, projectID openapi_types.UUID, document var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "documentID", runtime.ParamLocationPath, documentID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "documentID", documentID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7835,7 +8161,7 @@ func NewGetDocumentRequest(server string, projectID openapi_types.UUID, document return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7849,14 +8175,14 @@ func NewGetDocumentMetadataRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "documentID", runtime.ParamLocationPath, documentID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "documentID", documentID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7876,7 +8202,7 @@ func NewGetDocumentMetadataRequest(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7890,7 +8216,7 @@ func NewListEmailTemplatesRequest(server string, projectID openapi_types.UUID, p var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7911,19 +8237,21 @@ func NewListEmailTemplatesRequest(server string, projectID openapi_types.UUID, p } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7931,15 +8259,11 @@ func NewListEmailTemplatesRequest(server string, projectID openapi_types.UUID, p if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -7947,24 +8271,23 @@ func NewListEmailTemplatesRequest(server string, projectID openapi_types.UUID, p if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -7978,7 +8301,7 @@ func NewListJourneysRequest(server string, projectID openapi_types.UUID, params var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -7999,19 +8322,21 @@ func NewListJourneysRequest(server string, projectID openapi_types.UUID, params } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -8019,15 +8344,11 @@ func NewListJourneysRequest(server string, projectID openapi_types.UUID, params if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -8035,24 +8356,23 @@ func NewListJourneysRequest(server string, projectID openapi_types.UUID, params if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8077,7 +8397,7 @@ func NewCreateJourneyRequestWithBody(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8098,28 +8418,33 @@ func NewCreateJourneyRequestWithBody(server string, projectID openapi_types.UUID } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Publish != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "publish", runtime.ParamLocationQuery, *params.Publish); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "publish", *params.Publish, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "boolean", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -8135,14 +8460,14 @@ func NewDeleteJourneyRequest(server string, projectID openapi_types.UUID, journe var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8162,7 +8487,7 @@ func NewDeleteJourneyRequest(server string, projectID openapi_types.UUID, journe return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -8176,14 +8501,14 @@ func NewGetJourneyRequest(server string, projectID openapi_types.UUID, journeyID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8203,7 +8528,7 @@ func NewGetJourneyRequest(server string, projectID openapi_types.UUID, journeyID return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8228,14 +8553,14 @@ func NewUpdateJourneyRequestWithBody(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8255,7 +8580,7 @@ func NewUpdateJourneyRequestWithBody(server string, projectID openapi_types.UUID return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -8271,14 +8596,14 @@ func NewDuplicateJourneyRequest(server string, projectID openapi_types.UUID, jou var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8298,7 +8623,7 @@ func NewDuplicateJourneyRequest(server string, projectID openapi_types.UUID, jou return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -8312,14 +8637,14 @@ func NewPublishJourneyRequest(server string, projectID openapi_types.UUID, journ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8339,7 +8664,7 @@ func NewPublishJourneyRequest(server string, projectID openapi_types.UUID, journ return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -8353,14 +8678,14 @@ func NewGetJourneyStepsRequest(server string, projectID openapi_types.UUID, jour var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8380,7 +8705,7 @@ func NewGetJourneyStepsRequest(server string, projectID openapi_types.UUID, jour return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8405,14 +8730,14 @@ func NewSetJourneyStepsRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8432,7 +8757,7 @@ func NewSetJourneyStepsRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPut, queryURL.String(), body) if err != nil { return nil, err } @@ -8448,21 +8773,21 @@ func NewCancelUserJourneyRequest(server string, projectID openapi_types.UUID, jo var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8482,7 +8807,7 @@ func NewCancelUserJourneyRequest(server string, projectID openapi_types.UUID, jo return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -8496,21 +8821,21 @@ func NewStreamUserJourneyStepsRequest(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8530,7 +8855,7 @@ func NewStreamUserJourneyStepsRequest(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8555,21 +8880,21 @@ func NewTriggerUserRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8589,7 +8914,7 @@ func NewTriggerUserRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -8616,21 +8941,21 @@ func NewAdvanceUserStepRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8650,7 +8975,7 @@ func NewAdvanceUserStepRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPut, queryURL.String(), body) if err != nil { return nil, err } @@ -8666,21 +8991,21 @@ func NewGetUserJourneyStateRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8700,7 +9025,7 @@ func NewGetUserJourneyStateRequest(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8714,14 +9039,14 @@ func NewVersionJourneyRequest(server string, projectID openapi_types.UUID, journ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "journeyID", runtime.ParamLocationPath, journeyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "journeyID", journeyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8741,7 +9066,7 @@ func NewVersionJourneyRequest(server string, projectID openapi_types.UUID, journ return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -8755,7 +9080,7 @@ func NewListApiKeysRequest(server string, projectID openapi_types.UUID, params * var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8776,19 +9101,21 @@ func NewListApiKeysRequest(server string, projectID openapi_types.UUID, params * } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -8796,24 +9123,23 @@ func NewListApiKeysRequest(server string, projectID openapi_types.UUID, params * if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8838,7 +9164,7 @@ func NewCreateApiKeyRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8858,7 +9184,7 @@ func NewCreateApiKeyRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -8874,14 +9200,14 @@ func NewDeleteApiKeyRequest(server string, projectID openapi_types.UUID, keyID o var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "keyID", runtime.ParamLocationPath, keyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "keyID", keyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8901,7 +9227,7 @@ func NewDeleteApiKeyRequest(server string, projectID openapi_types.UUID, keyID o return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -8915,14 +9241,14 @@ func NewGetApiKeyRequest(server string, projectID openapi_types.UUID, keyID open var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "keyID", runtime.ParamLocationPath, keyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "keyID", keyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8942,7 +9268,7 @@ func NewGetApiKeyRequest(server string, projectID openapi_types.UUID, keyID open return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -8967,14 +9293,14 @@ func NewUpdateApiKeyRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "keyID", runtime.ParamLocationPath, keyID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "keyID", keyID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -8994,7 +9320,7 @@ func NewUpdateApiKeyRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -9010,7 +9336,7 @@ func NewListListsRequest(server string, projectID openapi_types.UUID, params *Li var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9031,19 +9357,21 @@ func NewListListsRequest(server string, projectID openapi_types.UUID, params *Li } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9051,15 +9379,11 @@ func NewListListsRequest(server string, projectID openapi_types.UUID, params *Li if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9067,24 +9391,23 @@ func NewListListsRequest(server string, projectID openapi_types.UUID, params *Li if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9109,7 +9432,7 @@ func NewCreateListRequestWithBody(server string, projectID openapi_types.UUID, c var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9129,7 +9452,7 @@ func NewCreateListRequestWithBody(server string, projectID openapi_types.UUID, c return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -9145,14 +9468,14 @@ func NewDeleteListRequest(server string, projectID openapi_types.UUID, listID op var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9172,7 +9495,7 @@ func NewDeleteListRequest(server string, projectID openapi_types.UUID, listID op return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -9186,14 +9509,14 @@ func NewGetListRequest(server string, projectID openapi_types.UUID, listID opena var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9213,7 +9536,7 @@ func NewGetListRequest(server string, projectID openapi_types.UUID, listID opena return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9238,14 +9561,14 @@ func NewUpdateListRequestWithBody(server string, projectID openapi_types.UUID, l var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9265,7 +9588,7 @@ func NewUpdateListRequestWithBody(server string, projectID openapi_types.UUID, l return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -9281,14 +9604,14 @@ func NewDuplicateListRequest(server string, projectID openapi_types.UUID, listID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9308,7 +9631,7 @@ func NewDuplicateListRequest(server string, projectID openapi_types.UUID, listID return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -9322,14 +9645,14 @@ func NewGetListUsersRequest(server string, projectID openapi_types.UUID, listID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9350,19 +9673,21 @@ func NewGetListUsersRequest(server string, projectID openapi_types.UUID, listID } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9370,15 +9695,11 @@ func NewGetListUsersRequest(server string, projectID openapi_types.UUID, listID if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9386,24 +9707,23 @@ func NewGetListUsersRequest(server string, projectID openapi_types.UUID, listID if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9417,14 +9737,14 @@ func NewPreviewListUsersRequest(server string, projectID openapi_types.UUID, lis var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9445,28 +9765,33 @@ func NewPreviewListUsersRequest(server string, projectID openapi_types.UUID, lis } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9480,14 +9805,14 @@ func NewImportListUsersRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "listID", runtime.ParamLocationPath, listID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "listID", listID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9507,7 +9832,7 @@ func NewImportListUsersRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -9523,7 +9848,7 @@ func NewListLocalesRequest(server string, projectID openapi_types.UUID, params * var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9544,19 +9869,21 @@ func NewListLocalesRequest(server string, projectID openapi_types.UUID, params * } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9564,24 +9891,23 @@ func NewListLocalesRequest(server string, projectID openapi_types.UUID, params * if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9606,7 +9932,7 @@ func NewCreateLocaleRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9626,7 +9952,7 @@ func NewCreateLocaleRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -9642,14 +9968,14 @@ func NewDeleteLocaleRequest(server string, projectID openapi_types.UUID, localeI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "localeID", runtime.ParamLocationPath, localeID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "localeID", localeID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9669,7 +9995,7 @@ func NewDeleteLocaleRequest(server string, projectID openapi_types.UUID, localeI return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -9683,14 +10009,14 @@ func NewGetLocaleRequest(server string, projectID openapi_types.UUID, localeID s var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "localeID", runtime.ParamLocationPath, localeID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "localeID", localeID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -9710,7 +10036,7 @@ func NewGetLocaleRequest(server string, projectID openapi_types.UUID, localeID s return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9724,7 +10050,7 @@ func NewListProvidersRequest(server string, projectID openapi_types.UUID, params var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9745,19 +10071,21 @@ func NewListProvidersRequest(server string, projectID openapi_types.UUID, params } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -9765,24 +10093,23 @@ func NewListProvidersRequest(server string, projectID openapi_types.UUID, params if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9796,7 +10123,7 @@ func NewListProviderMetaRequest(server string, projectID openapi_types.UUID) (*h var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9816,7 +10143,7 @@ func NewListProviderMetaRequest(server string, projectID openapi_types.UUID) (*h return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9830,14 +10157,14 @@ func NewDeleteProviderRequest(server string, projectID openapi_types.UUID, provi var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "providerID", runtime.ParamLocationPath, providerID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "providerID", providerID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9857,7 +10184,7 @@ func NewDeleteProviderRequest(server string, projectID openapi_types.UUID, provi return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -9882,14 +10209,14 @@ func NewCreateProviderRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "type", pType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -9909,7 +10236,7 @@ func NewCreateProviderRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -9925,21 +10252,21 @@ func NewGetProviderRequest(server string, projectID openapi_types.UUID, pType st var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "type", pType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "providerID", runtime.ParamLocationPath, providerID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "providerID", providerID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -9959,7 +10286,7 @@ func NewGetProviderRequest(server string, projectID openapi_types.UUID, pType st return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -9984,21 +10311,21 @@ func NewUpdateProviderRequestWithBody(server string, projectID openapi_types.UUI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "type", runtime.ParamLocationPath, pType) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "type", pType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "providerID", runtime.ParamLocationPath, providerID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "providerID", providerID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10018,7 +10345,7 @@ func NewUpdateProviderRequestWithBody(server string, projectID openapi_types.UUI return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -10034,7 +10361,7 @@ func NewListProjectPushProvidersRequest(server string, projectID openapi_types.U var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10054,7 +10381,7 @@ func NewListProjectPushProvidersRequest(server string, projectID openapi_types.U return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10068,14 +10395,14 @@ func NewDeleteProjectPushProviderRequest(server string, projectID openapi_types. var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "platform", runtime.ParamLocationPath, platform) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "platform", platform, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -10095,7 +10422,7 @@ func NewDeleteProjectPushProviderRequest(server string, projectID openapi_types. return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -10120,14 +10447,14 @@ func NewUpsertProjectPushProviderRequestWithBody(server string, projectID openap var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "platform", runtime.ParamLocationPath, platform) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "platform", platform, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -10147,7 +10474,7 @@ func NewUpsertProjectPushProviderRequestWithBody(server string, projectID openap return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPut, queryURL.String(), body) if err != nil { return nil, err } @@ -10163,7 +10490,7 @@ func NewListSenderIdentitiesRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10184,19 +10511,21 @@ func NewListSenderIdentitiesRequest(server string, projectID openapi_types.UUID, } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.ProviderId != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "provider_id", runtime.ParamLocationQuery, *params.ProviderId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "provider_id", *params.ProviderId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "uuid"}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10204,15 +10533,11 @@ func NewListSenderIdentitiesRequest(server string, projectID openapi_types.UUID, if params.Channel != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "channel", runtime.ParamLocationQuery, *params.Channel); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "channel", *params.Channel, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10220,15 +10545,11 @@ func NewListSenderIdentitiesRequest(server string, projectID openapi_types.UUID, if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10236,24 +10557,23 @@ func NewListSenderIdentitiesRequest(server string, projectID openapi_types.UUID, if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10278,7 +10598,7 @@ func NewCreateSenderIdentityRequestWithBody(server string, projectID openapi_typ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10298,7 +10618,7 @@ func NewCreateSenderIdentityRequestWithBody(server string, projectID openapi_typ return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -10314,14 +10634,14 @@ func NewDeleteSenderIdentityRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "senderIdentityID", runtime.ParamLocationPath, senderIdentityID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "senderIdentityID", senderIdentityID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10341,7 +10661,7 @@ func NewDeleteSenderIdentityRequest(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -10355,14 +10675,14 @@ func NewGetSenderIdentityRequest(server string, projectID openapi_types.UUID, se var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "senderIdentityID", runtime.ParamLocationPath, senderIdentityID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "senderIdentityID", senderIdentityID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10382,7 +10702,7 @@ func NewGetSenderIdentityRequest(server string, projectID openapi_types.UUID, se return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10396,7 +10716,7 @@ func NewListOrganizationEventSchemasRequest(server string, projectID openapi_typ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10416,7 +10736,7 @@ func NewListOrganizationEventSchemasRequest(server string, projectID openapi_typ return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10430,14 +10750,14 @@ func NewDeleteOrganizationEventSchemaRequest(server string, projectID openapi_ty var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "eventID", runtime.ParamLocationPath, eventID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "eventID", eventID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10457,7 +10777,7 @@ func NewDeleteOrganizationEventSchemaRequest(server string, projectID openapi_ty return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -10471,7 +10791,7 @@ func NewListOrganizationsRequest(server string, projectID openapi_types.UUID, pa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10492,19 +10812,21 @@ func NewListOrganizationsRequest(server string, projectID openapi_types.UUID, pa } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10512,15 +10834,11 @@ func NewListOrganizationsRequest(server string, projectID openapi_types.UUID, pa if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10528,24 +10846,23 @@ func NewListOrganizationsRequest(server string, projectID openapi_types.UUID, pa if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10570,7 +10887,7 @@ func NewUpsertOrganizationRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10590,7 +10907,7 @@ func NewUpsertOrganizationRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -10606,7 +10923,7 @@ func NewListOrganizationSchemasRequest(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10626,7 +10943,7 @@ func NewListOrganizationSchemasRequest(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10640,7 +10957,7 @@ func NewListOrganizationMemberSchemasRequest(server string, projectID openapi_ty var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10660,7 +10977,7 @@ func NewListOrganizationMemberSchemasRequest(server string, projectID openapi_ty return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10674,14 +10991,14 @@ func NewDeleteOrganizationRequest(server string, projectID openapi_types.UUID, o var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10701,7 +11018,7 @@ func NewDeleteOrganizationRequest(server string, projectID openapi_types.UUID, o return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -10715,14 +11032,14 @@ func NewGetOrganizationRequest(server string, projectID openapi_types.UUID, orga var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10742,7 +11059,7 @@ func NewGetOrganizationRequest(server string, projectID openapi_types.UUID, orga return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10767,14 +11084,14 @@ func NewUpdateOrganizationRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10794,7 +11111,7 @@ func NewUpdateOrganizationRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -10810,14 +11127,14 @@ func NewGetOrganizationEventsRequest(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10838,19 +11155,21 @@ func NewGetOrganizationEventsRequest(server string, projectID openapi_types.UUID } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10858,15 +11177,11 @@ func NewGetOrganizationEventsRequest(server string, projectID openapi_types.UUID if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -10874,24 +11189,23 @@ func NewGetOrganizationEventsRequest(server string, projectID openapi_types.UUID if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -10916,14 +11230,14 @@ func NewCreateOrganizationEventRequestWithBody(server string, projectID openapi_ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10943,7 +11257,7 @@ func NewCreateOrganizationEventRequestWithBody(server string, projectID openapi_ return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -10959,21 +11273,21 @@ func NewDeleteOrganizationExternalIDRequest(server string, projectID openapi_typ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "identifierID", runtime.ParamLocationPath, identifierID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "identifierID", identifierID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -10993,7 +11307,7 @@ func NewDeleteOrganizationExternalIDRequest(server string, projectID openapi_typ return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11007,14 +11321,14 @@ func NewGetOrganizationScheduledRequest(server string, projectID openapi_types.U var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11035,19 +11349,21 @@ func NewGetOrganizationScheduledRequest(server string, projectID openapi_types.U } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -11055,24 +11371,23 @@ func NewGetOrganizationScheduledRequest(server string, projectID openapi_types.U if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11097,14 +11412,14 @@ func NewUpsertOrganizationScheduledRequestWithBody(server string, projectID open var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11124,7 +11439,7 @@ func NewUpsertOrganizationScheduledRequestWithBody(server string, projectID open return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPut, queryURL.String(), body) if err != nil { return nil, err } @@ -11140,21 +11455,21 @@ func NewDeleteOrganizationScheduledRequest(server string, projectID openapi_type var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "scheduledInstanceID", runtime.ParamLocationPath, scheduledInstanceID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "scheduledInstanceID", scheduledInstanceID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11174,7 +11489,7 @@ func NewDeleteOrganizationScheduledRequest(server string, projectID openapi_type return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11199,21 +11514,21 @@ func NewUpdateOrganizationScheduledRequestWithBody(server string, projectID open var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "scheduledInstanceID", runtime.ParamLocationPath, scheduledInstanceID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "scheduledInstanceID", scheduledInstanceID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11233,7 +11548,7 @@ func NewUpdateOrganizationScheduledRequestWithBody(server string, projectID open return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -11249,14 +11564,14 @@ func NewListOrganizationMembersRequest(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11277,19 +11592,21 @@ func NewListOrganizationMembersRequest(server string, projectID openapi_types.UU } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -11297,24 +11614,23 @@ func NewListOrganizationMembersRequest(server string, projectID openapi_types.UU if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11339,14 +11655,14 @@ func NewAddOrganizationMemberRequestWithBody(server string, projectID openapi_ty var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11366,7 +11682,7 @@ func NewAddOrganizationMemberRequestWithBody(server string, projectID openapi_ty return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -11382,21 +11698,21 @@ func NewRemoveOrganizationMemberRequest(server string, projectID openapi_types.U var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "organizationID", runtime.ParamLocationPath, organizationID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "organizationID", organizationID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11416,7 +11732,7 @@ func NewRemoveOrganizationMemberRequest(server string, projectID openapi_types.U return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11430,7 +11746,7 @@ func NewListUserEventSchemasRequest(server string, projectID openapi_types.UUID) var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11450,7 +11766,7 @@ func NewListUserEventSchemasRequest(server string, projectID openapi_types.UUID) return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11464,14 +11780,14 @@ func NewDeleteUserEventSchemaRequest(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "eventID", runtime.ParamLocationPath, eventID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "eventID", eventID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11491,7 +11807,7 @@ func NewDeleteUserEventSchemaRequest(server string, projectID openapi_types.UUID return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11505,7 +11821,7 @@ func NewListScheduledSchemasRequest(server string, projectID openapi_types.UUID) var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11525,7 +11841,7 @@ func NewListScheduledSchemasRequest(server string, projectID openapi_types.UUID) return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11539,14 +11855,14 @@ func NewDeleteScheduledSchemaRequest(server string, projectID openapi_types.UUID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "scheduledID", runtime.ParamLocationPath, scheduledID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "scheduledID", scheduledID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11566,7 +11882,7 @@ func NewDeleteScheduledSchemaRequest(server string, projectID openapi_types.UUID return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11591,14 +11907,14 @@ func NewCreateScheduleOffsetRequestWithBody(server string, projectID openapi_typ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "scheduledID", runtime.ParamLocationPath, scheduledID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "scheduledID", scheduledID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11618,7 +11934,7 @@ func NewCreateScheduleOffsetRequestWithBody(server string, projectID openapi_typ return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -11634,7 +11950,7 @@ func NewListUsersRequest(server string, projectID openapi_types.UUID, params *Li var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11655,19 +11971,21 @@ func NewListUsersRequest(server string, projectID openapi_types.UUID, params *Li } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -11675,15 +11993,11 @@ func NewListUsersRequest(server string, projectID openapi_types.UUID, params *Li if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -11691,24 +12005,23 @@ func NewListUsersRequest(server string, projectID openapi_types.UUID, params *Li if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11733,7 +12046,7 @@ func NewIdentifyUserRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11753,7 +12066,7 @@ func NewIdentifyUserRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -11769,7 +12082,7 @@ func NewImportUsersRequestWithBody(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11789,7 +12102,7 @@ func NewImportUsersRequestWithBody(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -11805,7 +12118,7 @@ func NewListUserSchemasRequest(server string, projectID openapi_types.UUID) (*ht var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11825,7 +12138,7 @@ func NewListUserSchemasRequest(server string, projectID openapi_types.UUID) (*ht return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11839,14 +12152,14 @@ func NewDeleteUserRequest(server string, projectID openapi_types.UUID, userID op var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11866,7 +12179,7 @@ func NewDeleteUserRequest(server string, projectID openapi_types.UUID, userID op return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -11880,14 +12193,14 @@ func NewGetUserRequest(server string, projectID openapi_types.UUID, userID opena var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11907,7 +12220,7 @@ func NewGetUserRequest(server string, projectID openapi_types.UUID, userID opena return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -11932,14 +12245,14 @@ func NewUpdateUserRequestWithBody(server string, projectID openapi_types.UUID, u var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -11959,7 +12272,7 @@ func NewUpdateUserRequestWithBody(server string, projectID openapi_types.UUID, u return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -11975,14 +12288,14 @@ func NewGetUserDevicesRequest(server string, projectID openapi_types.UUID, userI var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12002,7 +12315,7 @@ func NewGetUserDevicesRequest(server string, projectID openapi_types.UUID, userI return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12027,14 +12340,14 @@ func NewCreateUserDeviceRequestWithBody(server string, projectID openapi_types.U var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12054,7 +12367,7 @@ func NewCreateUserDeviceRequestWithBody(server string, projectID openapi_types.U return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -12070,21 +12383,21 @@ func NewDeleteUserDeviceRequest(server string, projectID openapi_types.UUID, use var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "deviceID", runtime.ParamLocationPath, deviceID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "deviceID", deviceID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12104,7 +12417,7 @@ func NewDeleteUserDeviceRequest(server string, projectID openapi_types.UUID, use return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -12118,14 +12431,14 @@ func NewGetUserEventsRequest(server string, projectID openapi_types.UUID, userID var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12146,19 +12459,21 @@ func NewGetUserEventsRequest(server string, projectID openapi_types.UUID, userID } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12166,15 +12481,11 @@ func NewGetUserEventsRequest(server string, projectID openapi_types.UUID, userID if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12182,24 +12493,23 @@ func NewGetUserEventsRequest(server string, projectID openapi_types.UUID, userID if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12224,14 +12534,14 @@ func NewCreateUserEventRequestWithBody(server string, projectID openapi_types.UU var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12251,7 +12561,7 @@ func NewCreateUserEventRequestWithBody(server string, projectID openapi_types.UU return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -12267,21 +12577,21 @@ func NewDeleteUserExternalIDRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "identifierID", runtime.ParamLocationPath, identifierID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "identifierID", identifierID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12301,7 +12611,7 @@ func NewDeleteUserExternalIDRequest(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -12315,14 +12625,14 @@ func NewGetUserJourneysRequest(server string, projectID openapi_types.UUID, user var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12343,19 +12653,21 @@ func NewGetUserJourneysRequest(server string, projectID openapi_types.UUID, user } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12363,24 +12675,23 @@ func NewGetUserJourneysRequest(server string, projectID openapi_types.UUID, user if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12394,14 +12705,14 @@ func NewGetUserScheduledRequest(server string, projectID openapi_types.UUID, use var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12422,19 +12733,21 @@ func NewGetUserScheduledRequest(server string, projectID openapi_types.UUID, use } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12442,24 +12755,23 @@ func NewGetUserScheduledRequest(server string, projectID openapi_types.UUID, use if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12484,14 +12796,14 @@ func NewUpsertUserScheduledRequestWithBody(server string, projectID openapi_type var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12511,7 +12823,7 @@ func NewUpsertUserScheduledRequestWithBody(server string, projectID openapi_type return nil, err } - req, err := http.NewRequest("PUT", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPut, queryURL.String(), body) if err != nil { return nil, err } @@ -12527,21 +12839,21 @@ func NewDeleteUserScheduledRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "scheduledInstanceID", runtime.ParamLocationPath, scheduledInstanceID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "scheduledInstanceID", scheduledInstanceID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12561,7 +12873,7 @@ func NewDeleteUserScheduledRequest(server string, projectID openapi_types.UUID, return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -12586,21 +12898,21 @@ func NewUpdateUserScheduledRequestWithBody(server string, projectID openapi_type var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam2 string - pathParam2, err = runtime.StyleParamWithLocation("simple", false, "scheduledInstanceID", runtime.ParamLocationPath, scheduledInstanceID) + pathParam2, err = runtime.StyleParamWithOptions("simple", false, "scheduledInstanceID", scheduledInstanceID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12620,7 +12932,7 @@ func NewUpdateUserScheduledRequestWithBody(server string, projectID openapi_type return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -12636,14 +12948,14 @@ func NewGetUserOrganizationsRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12664,19 +12976,21 @@ func NewGetUserOrganizationsRequest(server string, projectID openapi_types.UUID, } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12684,15 +12998,11 @@ func NewGetUserOrganizationsRequest(server string, projectID openapi_types.UUID, if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12700,24 +13010,23 @@ func NewGetUserOrganizationsRequest(server string, projectID openapi_types.UUID, if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12731,14 +13040,14 @@ func NewGetUserSubscriptionsRequest(server string, projectID openapi_types.UUID, var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12759,19 +13068,21 @@ func NewGetUserSubscriptionsRequest(server string, projectID openapi_types.UUID, } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12779,24 +13090,23 @@ func NewGetUserSubscriptionsRequest(server string, projectID openapi_types.UUID, if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12821,14 +13131,14 @@ func NewUpdateUserSubscriptionsRequestWithBody(server string, projectID openapi_ var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "userID", runtime.ParamLocationPath, userID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "userID", userID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12848,7 +13158,7 @@ func NewUpdateUserSubscriptionsRequestWithBody(server string, projectID openapi_ return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -12864,7 +13174,7 @@ func NewListSubscriptionsRequest(server string, projectID openapi_types.UUID, pa var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12885,19 +13195,21 @@ func NewListSubscriptionsRequest(server string, projectID openapi_types.UUID, pa } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -12905,24 +13217,23 @@ func NewListSubscriptionsRequest(server string, projectID openapi_types.UUID, pa if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12947,7 +13258,7 @@ func NewCreateSubscriptionRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -12967,7 +13278,7 @@ func NewCreateSubscriptionRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -12983,14 +13294,14 @@ func NewGetSubscriptionRequest(server string, projectID openapi_types.UUID, subs var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "subscriptionID", runtime.ParamLocationPath, subscriptionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "subscriptionID", subscriptionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13010,7 +13321,7 @@ func NewGetSubscriptionRequest(server string, projectID openapi_types.UUID, subs return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13035,14 +13346,14 @@ func NewUpdateSubscriptionRequestWithBody(server string, projectID openapi_types var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "subscriptionID", runtime.ParamLocationPath, subscriptionID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "subscriptionID", subscriptionID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13062,7 +13373,7 @@ func NewUpdateSubscriptionRequestWithBody(server string, projectID openapi_types return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -13078,7 +13389,7 @@ func NewListTagsRequest(server string, projectID openapi_types.UUID, params *Lis var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13099,19 +13410,21 @@ func NewListTagsRequest(server string, projectID openapi_types.UUID, params *Lis } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -13119,15 +13432,11 @@ func NewListTagsRequest(server string, projectID openapi_types.UUID, params *Lis if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -13135,24 +13444,23 @@ func NewListTagsRequest(server string, projectID openapi_types.UUID, params *Lis if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13177,7 +13485,7 @@ func NewCreateTagRequestWithBody(server string, projectID openapi_types.UUID, co var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13197,7 +13505,7 @@ func NewCreateTagRequestWithBody(server string, projectID openapi_types.UUID, co return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -13213,14 +13521,14 @@ func NewDeleteTagRequest(server string, projectID openapi_types.UUID, tagID open var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "tagID", runtime.ParamLocationPath, tagID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "tagID", tagID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13240,7 +13548,7 @@ func NewDeleteTagRequest(server string, projectID openapi_types.UUID, tagID open return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -13254,14 +13562,14 @@ func NewGetTagRequest(server string, projectID openapi_types.UUID, tagID openapi var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "tagID", runtime.ParamLocationPath, tagID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "tagID", tagID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13281,7 +13589,7 @@ func NewGetTagRequest(server string, projectID openapi_types.UUID, tagID openapi return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13306,14 +13614,14 @@ func NewUpdateTagRequestWithBody(server string, projectID openapi_types.UUID, ta var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "projectID", runtime.ParamLocationPath, projectID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectID", projectID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } var pathParam1 string - pathParam1, err = runtime.StyleParamWithLocation("simple", false, "tagID", runtime.ParamLocationPath, tagID) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "tagID", tagID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13333,7 +13641,7 @@ func NewUpdateTagRequestWithBody(server string, projectID openapi_types.UUID, ta return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -13363,19 +13671,21 @@ func NewListAdminsRequest(server string, params *ListAdminsParams) (*http.Reques } if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string if params.Limit != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "limit", runtime.ParamLocationQuery, *params.Limit); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "limit", *params.Limit, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -13383,15 +13693,11 @@ func NewListAdminsRequest(server string, params *ListAdminsParams) (*http.Reques if params.Offset != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "offset", runtime.ParamLocationQuery, *params.Offset); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "offset", *params.Offset, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } @@ -13399,24 +13705,23 @@ func NewListAdminsRequest(server string, params *ListAdminsParams) (*http.Reques if params.Search != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "search", runtime.ParamLocationQuery, *params.Search); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "search", *params.Search, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) } } } - queryURL.RawQuery = queryValues.Encode() + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13454,7 +13759,7 @@ func NewCreateAdminRequestWithBody(server string, contentType string, body io.Re return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -13470,7 +13775,7 @@ func NewDeleteAdminRequest(server string, adminID openapi_types.UUID) (*http.Req var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13490,7 +13795,7 @@ func NewDeleteAdminRequest(server string, adminID openapi_types.UUID) (*http.Req return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -13504,7 +13809,7 @@ func NewGetAdminRequest(server string, adminID openapi_types.UUID) (*http.Reques var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13524,7 +13829,7 @@ func NewGetAdminRequest(server string, adminID openapi_types.UUID) (*http.Reques return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13549,7 +13854,7 @@ func NewUpdateAdminRequestWithBody(server string, adminID openapi_types.UUID, co var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "adminID", runtime.ParamLocationPath, adminID) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "adminID", adminID, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: "uuid"}) if err != nil { return nil, err } @@ -13569,7 +13874,7 @@ func NewUpdateAdminRequestWithBody(server string, adminID openapi_types.UUID, co return nil, err } - req, err := http.NewRequest("PATCH", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -13598,7 +13903,7 @@ func NewWhoamiRequest(server string) (*http.Request, error) { return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13623,7 +13928,7 @@ func NewAuthCallbackRequestWithBody(server string, driver AuthCallbackParamsDriv var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "driver", runtime.ParamLocationPath, driver) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "driver", driver, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -13643,7 +13948,7 @@ func NewAuthCallbackRequestWithBody(server string, driver AuthCallbackParamsDriv return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -13672,7 +13977,7 @@ func NewGetAuthMethodsRequest(server string) (*http.Request, error) { return nil, err } - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -13686,7 +13991,7 @@ func NewAuthWebhookRequest(server string, driver AuthWebhookParamsDriver) (*http var pathParam0 string - pathParam0, err = runtime.StyleParamWithLocation("simple", false, "driver", runtime.ParamLocationPath, driver) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "driver", driver, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -13706,7 +14011,7 @@ func NewAuthWebhookRequest(server string, driver AuthWebhookParamsDriver) (*http return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -14344,6 +14649,14 @@ func (r GetProfileResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetProfileResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListProjectsResponse struct { Body []byte HTTPResponse *http.Response @@ -14367,6 +14680,14 @@ func (r ListProjectsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListProjectsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateProjectResponse struct { Body []byte HTTPResponse *http.Response @@ -14390,6 +14711,14 @@ func (r CreateProjectResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteProjectResponse struct { Body []byte HTTPResponse *http.Response @@ -14412,6 +14741,14 @@ func (r DeleteProjectResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetProjectResponse struct { Body []byte HTTPResponse *http.Response @@ -14435,6 +14772,14 @@ func (r GetProjectResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateProjectResponse struct { Body []byte HTTPResponse *http.Response @@ -14458,6 +14803,14 @@ func (r UpdateProjectResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListActionsResponse struct { Body []byte HTTPResponse *http.Response @@ -14481,6 +14834,14 @@ func (r ListActionsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListActionsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateActionResponse struct { Body []byte HTTPResponse *http.Response @@ -14504,6 +14865,14 @@ func (r CreateActionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateActionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListActionMetaResponse struct { Body []byte HTTPResponse *http.Response @@ -14527,6 +14896,14 @@ func (r ListActionMetaResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListActionMetaResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetActionPreviewResponse struct { Body []byte HTTPResponse *http.Response @@ -14549,6 +14926,14 @@ func (r GetActionPreviewResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetActionPreviewResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type TestActionResponse struct { Body []byte HTTPResponse *http.Response @@ -14572,6 +14957,14 @@ func (r TestActionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r TestActionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteActionResponse struct { Body []byte HTTPResponse *http.Response @@ -14594,6 +14987,14 @@ func (r DeleteActionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteActionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetActionResponse struct { Body []byte HTTPResponse *http.Response @@ -14617,6 +15018,14 @@ func (r GetActionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetActionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateActionResponse struct { Body []byte HTTPResponse *http.Response @@ -14640,6 +15049,14 @@ func (r UpdateActionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateActionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListActionSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -14663,8 +15080,16 @@ func (r ListActionSchemasResponse) StatusCode() int { return 0 } -type TestActionFunctionResponse struct { - Body []byte +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListActionSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + +type TestActionFunctionResponse struct { + Body []byte HTTPResponse *http.Response JSON200 *TestActionFunctionResult JSONDefault *Error @@ -14686,6 +15111,14 @@ func (r TestActionFunctionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r TestActionFunctionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListProjectAdminsResponse struct { Body []byte HTTPResponse *http.Response @@ -14709,6 +15142,14 @@ func (r ListProjectAdminsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListProjectAdminsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteProjectAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -14731,6 +15172,14 @@ func (r DeleteProjectAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteProjectAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetProjectAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -14754,6 +15203,14 @@ func (r GetProjectAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetProjectAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateProjectAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -14777,6 +15234,14 @@ func (r UpdateProjectAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateProjectAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListBroadcastsResponse struct { Body []byte HTTPResponse *http.Response @@ -14800,6 +15265,14 @@ func (r ListBroadcastsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListBroadcastsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateBroadcastResponse struct { Body []byte HTTPResponse *http.Response @@ -14823,6 +15296,14 @@ func (r CreateBroadcastResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateBroadcastResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CancelBroadcastResponse struct { Body []byte HTTPResponse *http.Response @@ -14846,6 +15327,14 @@ func (r CancelBroadcastResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CancelBroadcastResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetBroadcastResponse struct { Body []byte HTTPResponse *http.Response @@ -14869,6 +15358,14 @@ func (r GetBroadcastResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetBroadcastResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateBroadcastResponse struct { Body []byte HTTPResponse *http.Response @@ -14892,6 +15389,14 @@ func (r UpdateBroadcastResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateBroadcastResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type StreamBroadcastProgressResponse struct { Body []byte HTTPResponse *http.Response @@ -14914,6 +15419,14 @@ func (r StreamBroadcastProgressResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r StreamBroadcastProgressResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type SendBroadcastResponse struct { Body []byte HTTPResponse *http.Response @@ -14937,6 +15450,14 @@ func (r SendBroadcastResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r SendBroadcastResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetBroadcastUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -14973,6 +15494,14 @@ func (r GetBroadcastUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetBroadcastUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListCampaignsResponse struct { Body []byte HTTPResponse *http.Response @@ -14996,6 +15525,14 @@ func (r ListCampaignsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListCampaignsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateCampaignResponse struct { Body []byte HTTPResponse *http.Response @@ -15019,6 +15556,14 @@ func (r CreateCampaignResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateCampaignResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteCampaignResponse struct { Body []byte HTTPResponse *http.Response @@ -15041,6 +15586,14 @@ func (r DeleteCampaignResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteCampaignResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetCampaignResponse struct { Body []byte HTTPResponse *http.Response @@ -15066,6 +15619,14 @@ func (r GetCampaignResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetCampaignResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateCampaignResponse struct { Body []byte HTTPResponse *http.Response @@ -15089,6 +15650,14 @@ func (r UpdateCampaignResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateCampaignResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DuplicateCampaignResponse struct { Body []byte HTTPResponse *http.Response @@ -15112,6 +15681,14 @@ func (r DuplicateCampaignResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DuplicateCampaignResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateTemplateResponse struct { Body []byte HTTPResponse *http.Response @@ -15135,6 +15712,14 @@ func (r CreateTemplateResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateTemplateResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteTemplateResponse struct { Body []byte HTTPResponse *http.Response @@ -15157,6 +15742,14 @@ func (r DeleteTemplateResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteTemplateResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetTemplateResponse struct { Body []byte HTTPResponse *http.Response @@ -15182,6 +15775,14 @@ func (r GetTemplateResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetTemplateResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateTemplateResponse struct { Body []byte HTTPResponse *http.Response @@ -15205,6 +15806,14 @@ func (r UpdateTemplateResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateTemplateResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type SendTestResponse struct { Body []byte HTTPResponse *http.Response @@ -15227,6 +15836,14 @@ func (r SendTestResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r SendTestResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetCampaignUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -15255,6 +15872,14 @@ func (r GetCampaignUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetCampaignUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListDocumentsResponse struct { Body []byte HTTPResponse *http.Response @@ -15278,6 +15903,14 @@ func (r ListDocumentsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListDocumentsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UploadDocumentsResponse struct { Body []byte HTTPResponse *http.Response @@ -15304,6 +15937,14 @@ func (r UploadDocumentsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UploadDocumentsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteDocumentResponse struct { Body []byte HTTPResponse *http.Response @@ -15326,6 +15967,14 @@ func (r DeleteDocumentResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteDocumentResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetDocumentResponse struct { Body []byte HTTPResponse *http.Response @@ -15348,6 +15997,14 @@ func (r GetDocumentResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetDocumentResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetDocumentMetadataResponse struct { Body []byte HTTPResponse *http.Response @@ -15371,6 +16028,14 @@ func (r GetDocumentMetadataResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetDocumentMetadataResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListEmailTemplatesResponse struct { Body []byte HTTPResponse *http.Response @@ -15394,6 +16059,14 @@ func (r ListEmailTemplatesResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListEmailTemplatesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListJourneysResponse struct { Body []byte HTTPResponse *http.Response @@ -15417,6 +16090,14 @@ func (r ListJourneysResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListJourneysResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15440,6 +16121,14 @@ func (r CreateJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15462,6 +16151,14 @@ func (r DeleteJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15485,6 +16182,14 @@ func (r GetJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15508,6 +16213,14 @@ func (r UpdateJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DuplicateJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15531,6 +16244,14 @@ func (r DuplicateJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DuplicateJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type PublishJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15554,6 +16275,14 @@ func (r PublishJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r PublishJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetJourneyStepsResponse struct { Body []byte HTTPResponse *http.Response @@ -15577,6 +16306,14 @@ func (r GetJourneyStepsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetJourneyStepsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type SetJourneyStepsResponse struct { Body []byte HTTPResponse *http.Response @@ -15600,6 +16337,14 @@ func (r SetJourneyStepsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r SetJourneyStepsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CancelUserJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15622,6 +16367,14 @@ func (r CancelUserJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CancelUserJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type StreamUserJourneyStepsResponse struct { Body []byte HTTPResponse *http.Response @@ -15644,6 +16397,14 @@ func (r StreamUserJourneyStepsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r StreamUserJourneyStepsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type TriggerUserResponse struct { Body []byte HTTPResponse *http.Response @@ -15666,6 +16427,14 @@ func (r TriggerUserResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r TriggerUserResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type AdvanceUserStepResponse struct { Body []byte HTTPResponse *http.Response @@ -15688,6 +16457,14 @@ func (r AdvanceUserStepResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AdvanceUserStepResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserJourneyStateResponse struct { Body []byte HTTPResponse *http.Response @@ -15715,6 +16492,14 @@ func (r GetUserJourneyStateResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserJourneyStateResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type VersionJourneyResponse struct { Body []byte HTTPResponse *http.Response @@ -15738,6 +16523,14 @@ func (r VersionJourneyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r VersionJourneyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListApiKeysResponse struct { Body []byte HTTPResponse *http.Response @@ -15761,6 +16554,14 @@ func (r ListApiKeysResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListApiKeysResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateApiKeyResponse struct { Body []byte HTTPResponse *http.Response @@ -15784,6 +16585,14 @@ func (r CreateApiKeyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateApiKeyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteApiKeyResponse struct { Body []byte HTTPResponse *http.Response @@ -15806,6 +16615,14 @@ func (r DeleteApiKeyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteApiKeyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetApiKeyResponse struct { Body []byte HTTPResponse *http.Response @@ -15829,6 +16646,14 @@ func (r GetApiKeyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetApiKeyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateApiKeyResponse struct { Body []byte HTTPResponse *http.Response @@ -15852,6 +16677,14 @@ func (r UpdateApiKeyResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateApiKeyResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListListsResponse struct { Body []byte HTTPResponse *http.Response @@ -15875,6 +16708,14 @@ func (r ListListsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListListsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateListResponse struct { Body []byte HTTPResponse *http.Response @@ -15898,6 +16739,14 @@ func (r CreateListResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateListResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteListResponse struct { Body []byte HTTPResponse *http.Response @@ -15920,6 +16769,14 @@ func (r DeleteListResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteListResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetListResponse struct { Body []byte HTTPResponse *http.Response @@ -15943,6 +16800,14 @@ func (r GetListResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetListResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateListResponse struct { Body []byte HTTPResponse *http.Response @@ -15966,6 +16831,14 @@ func (r UpdateListResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateListResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DuplicateListResponse struct { Body []byte HTTPResponse *http.Response @@ -15989,6 +16862,14 @@ func (r DuplicateListResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DuplicateListResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetListUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -16012,6 +16893,14 @@ func (r GetListUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetListUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type PreviewListUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -16035,6 +16924,14 @@ func (r PreviewListUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r PreviewListUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ImportListUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -16057,6 +16954,14 @@ func (r ImportListUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ImportListUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListLocalesResponse struct { Body []byte HTTPResponse *http.Response @@ -16090,6 +16995,14 @@ func (r ListLocalesResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListLocalesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateLocaleResponse struct { Body []byte HTTPResponse *http.Response @@ -16113,6 +17026,14 @@ func (r CreateLocaleResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateLocaleResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteLocaleResponse struct { Body []byte HTTPResponse *http.Response @@ -16135,6 +17056,14 @@ func (r DeleteLocaleResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteLocaleResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetLocaleResponse struct { Body []byte HTTPResponse *http.Response @@ -16158,6 +17087,14 @@ func (r GetLocaleResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetLocaleResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListProvidersResponse struct { Body []byte HTTPResponse *http.Response @@ -16181,6 +17118,14 @@ func (r ListProvidersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListProvidersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListProviderMetaResponse struct { Body []byte HTTPResponse *http.Response @@ -16204,6 +17149,14 @@ func (r ListProviderMetaResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListProviderMetaResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16226,6 +17179,14 @@ func (r DeleteProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16249,6 +17210,14 @@ func (r CreateProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16272,6 +17241,14 @@ func (r GetProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16295,6 +17272,14 @@ func (r UpdateProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListProjectPushProvidersResponse struct { Body []byte HTTPResponse *http.Response @@ -16320,6 +17305,14 @@ func (r ListProjectPushProvidersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListProjectPushProvidersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteProjectPushProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16342,6 +17335,14 @@ func (r DeleteProjectPushProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteProjectPushProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertProjectPushProviderResponse struct { Body []byte HTTPResponse *http.Response @@ -16365,6 +17366,14 @@ func (r UpsertProjectPushProviderResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertProjectPushProviderResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListSenderIdentitiesResponse struct { Body []byte HTTPResponse *http.Response @@ -16398,6 +17407,14 @@ func (r ListSenderIdentitiesResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListSenderIdentitiesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateSenderIdentityResponse struct { Body []byte HTTPResponse *http.Response @@ -16421,6 +17438,14 @@ func (r CreateSenderIdentityResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateSenderIdentityResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteSenderIdentityResponse struct { Body []byte HTTPResponse *http.Response @@ -16443,6 +17468,14 @@ func (r DeleteSenderIdentityResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteSenderIdentityResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetSenderIdentityResponse struct { Body []byte HTTPResponse *http.Response @@ -16466,6 +17499,14 @@ func (r GetSenderIdentityResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetSenderIdentityResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListOrganizationEventSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -16489,6 +17530,14 @@ func (r ListOrganizationEventSchemasResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListOrganizationEventSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteOrganizationEventSchemaResponse struct { Body []byte HTTPResponse *http.Response @@ -16511,6 +17560,14 @@ func (r DeleteOrganizationEventSchemaResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationEventSchemaResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListOrganizationsResponse struct { Body []byte HTTPResponse *http.Response @@ -16534,6 +17591,14 @@ func (r ListOrganizationsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListOrganizationsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertOrganizationResponse struct { Body []byte HTTPResponse *http.Response @@ -16557,6 +17622,14 @@ func (r UpsertOrganizationResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertOrganizationResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListOrganizationSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -16582,6 +17655,14 @@ func (r ListOrganizationSchemasResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListOrganizationSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListOrganizationMemberSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -16607,6 +17688,14 @@ func (r ListOrganizationMemberSchemasResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListOrganizationMemberSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteOrganizationResponse struct { Body []byte HTTPResponse *http.Response @@ -16629,6 +17718,14 @@ func (r DeleteOrganizationResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetOrganizationResponse struct { Body []byte HTTPResponse *http.Response @@ -16652,6 +17749,14 @@ func (r GetOrganizationResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetOrganizationResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateOrganizationResponse struct { Body []byte HTTPResponse *http.Response @@ -16675,6 +17780,14 @@ func (r UpdateOrganizationResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateOrganizationResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetOrganizationEventsResponse struct { Body []byte HTTPResponse *http.Response @@ -16698,6 +17811,14 @@ func (r GetOrganizationEventsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetOrganizationEventsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateOrganizationEventResponse struct { Body []byte HTTPResponse *http.Response @@ -16720,6 +17841,14 @@ func (r CreateOrganizationEventResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateOrganizationEventResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteOrganizationExternalIDResponse struct { Body []byte HTTPResponse *http.Response @@ -16742,6 +17871,14 @@ func (r DeleteOrganizationExternalIDResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationExternalIDResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetOrganizationScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -16765,6 +17902,14 @@ func (r GetOrganizationScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetOrganizationScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertOrganizationScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -16788,6 +17933,14 @@ func (r UpsertOrganizationScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertOrganizationScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteOrganizationScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -16810,6 +17963,14 @@ func (r DeleteOrganizationScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteOrganizationScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateOrganizationScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -16833,6 +17994,14 @@ func (r UpdateOrganizationScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateOrganizationScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListOrganizationMembersResponse struct { Body []byte HTTPResponse *http.Response @@ -16856,6 +18025,14 @@ func (r ListOrganizationMembersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListOrganizationMembersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type AddOrganizationMemberResponse struct { Body []byte HTTPResponse *http.Response @@ -16878,6 +18055,14 @@ func (r AddOrganizationMemberResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AddOrganizationMemberResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type RemoveOrganizationMemberResponse struct { Body []byte HTTPResponse *http.Response @@ -16900,6 +18085,14 @@ func (r RemoveOrganizationMemberResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r RemoveOrganizationMemberResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListUserEventSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -16918,9 +18111,17 @@ func (r ListUserEventSchemasResponse) Status() string { // StatusCode returns HTTPResponse.StatusCode func (r ListUserEventSchemasResponse) StatusCode() int { if r.HTTPResponse != nil { - return r.HTTPResponse.StatusCode + return r.HTTPResponse.StatusCode + } + return 0 +} + +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListUserEventSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") } - return 0 + return "" } type DeleteUserEventSchemaResponse struct { @@ -16945,6 +18146,14 @@ func (r DeleteUserEventSchemaResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserEventSchemaResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListScheduledSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -16968,6 +18177,14 @@ func (r ListScheduledSchemasResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListScheduledSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteScheduledSchemaResponse struct { Body []byte HTTPResponse *http.Response @@ -16990,6 +18207,14 @@ func (r DeleteScheduledSchemaResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteScheduledSchemaResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateScheduleOffsetResponse struct { Body []byte HTTPResponse *http.Response @@ -17013,6 +18238,14 @@ func (r CreateScheduleOffsetResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateScheduleOffsetResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -17036,6 +18269,14 @@ func (r ListUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type IdentifyUserResponse struct { Body []byte HTTPResponse *http.Response @@ -17059,6 +18300,14 @@ func (r IdentifyUserResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r IdentifyUserResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ImportUsersResponse struct { Body []byte HTTPResponse *http.Response @@ -17081,6 +18330,14 @@ func (r ImportUsersResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ImportUsersResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListUserSchemasResponse struct { Body []byte HTTPResponse *http.Response @@ -17106,6 +18363,14 @@ func (r ListUserSchemasResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListUserSchemasResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserResponse struct { Body []byte HTTPResponse *http.Response @@ -17128,6 +18393,14 @@ func (r DeleteUserResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserResponse struct { Body []byte HTTPResponse *http.Response @@ -17151,6 +18424,14 @@ func (r GetUserResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateUserResponse struct { Body []byte HTTPResponse *http.Response @@ -17174,6 +18455,14 @@ func (r UpdateUserResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateUserResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserDevicesResponse struct { Body []byte HTTPResponse *http.Response @@ -17197,6 +18486,14 @@ func (r GetUserDevicesResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserDevicesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateUserDeviceResponse struct { Body []byte HTTPResponse *http.Response @@ -17219,6 +18516,14 @@ func (r CreateUserDeviceResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateUserDeviceResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserDeviceResponse struct { Body []byte HTTPResponse *http.Response @@ -17241,6 +18546,14 @@ func (r DeleteUserDeviceResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserDeviceResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserEventsResponse struct { Body []byte HTTPResponse *http.Response @@ -17264,6 +18577,14 @@ func (r GetUserEventsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserEventsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateUserEventResponse struct { Body []byte HTTPResponse *http.Response @@ -17286,6 +18607,14 @@ func (r CreateUserEventResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateUserEventResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserExternalIDResponse struct { Body []byte HTTPResponse *http.Response @@ -17308,6 +18637,14 @@ func (r DeleteUserExternalIDResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserExternalIDResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserJourneysResponse struct { Body []byte HTTPResponse *http.Response @@ -17331,6 +18668,14 @@ func (r GetUserJourneysResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserJourneysResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -17354,6 +18699,14 @@ func (r GetUserScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpsertUserScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -17377,6 +18730,14 @@ func (r UpsertUserScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpsertUserScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteUserScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -17399,6 +18760,14 @@ func (r DeleteUserScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteUserScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateUserScheduledResponse struct { Body []byte HTTPResponse *http.Response @@ -17422,6 +18791,14 @@ func (r UpdateUserScheduledResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateUserScheduledResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserOrganizationsResponse struct { Body []byte HTTPResponse *http.Response @@ -17450,6 +18827,14 @@ func (r GetUserOrganizationsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserOrganizationsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetUserSubscriptionsResponse struct { Body []byte HTTPResponse *http.Response @@ -17473,6 +18858,14 @@ func (r GetUserSubscriptionsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetUserSubscriptionsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateUserSubscriptionsResponse struct { Body []byte HTTPResponse *http.Response @@ -17496,6 +18889,14 @@ func (r UpdateUserSubscriptionsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateUserSubscriptionsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListSubscriptionsResponse struct { Body []byte HTTPResponse *http.Response @@ -17519,6 +18920,14 @@ func (r ListSubscriptionsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListSubscriptionsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateSubscriptionResponse struct { Body []byte HTTPResponse *http.Response @@ -17542,6 +18951,14 @@ func (r CreateSubscriptionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateSubscriptionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetSubscriptionResponse struct { Body []byte HTTPResponse *http.Response @@ -17565,6 +18982,14 @@ func (r GetSubscriptionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetSubscriptionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateSubscriptionResponse struct { Body []byte HTTPResponse *http.Response @@ -17588,6 +19013,14 @@ func (r UpdateSubscriptionResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateSubscriptionResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListTagsResponse struct { Body []byte HTTPResponse *http.Response @@ -17611,6 +19044,14 @@ func (r ListTagsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListTagsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateTagResponse struct { Body []byte HTTPResponse *http.Response @@ -17634,6 +19075,14 @@ func (r CreateTagResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateTagResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteTagResponse struct { Body []byte HTTPResponse *http.Response @@ -17656,6 +19105,14 @@ func (r DeleteTagResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteTagResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetTagResponse struct { Body []byte HTTPResponse *http.Response @@ -17679,6 +19136,14 @@ func (r GetTagResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetTagResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateTagResponse struct { Body []byte HTTPResponse *http.Response @@ -17702,6 +19167,14 @@ func (r UpdateTagResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateTagResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type ListAdminsResponse struct { Body []byte HTTPResponse *http.Response @@ -17725,6 +19198,14 @@ func (r ListAdminsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ListAdminsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type CreateAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -17748,6 +19229,14 @@ func (r CreateAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r CreateAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type DeleteAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -17770,6 +19259,14 @@ func (r DeleteAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DeleteAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -17793,6 +19290,14 @@ func (r GetAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type UpdateAdminResponse struct { Body []byte HTTPResponse *http.Response @@ -17816,6 +19321,14 @@ func (r UpdateAdminResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r UpdateAdminResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type WhoamiResponse struct { Body []byte HTTPResponse *http.Response @@ -17839,6 +19352,14 @@ func (r WhoamiResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r WhoamiResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type AuthCallbackResponse struct { Body []byte HTTPResponse *http.Response @@ -17861,6 +19382,14 @@ func (r AuthCallbackResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AuthCallbackResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type GetAuthMethodsResponse struct { Body []byte HTTPResponse *http.Response @@ -17884,6 +19413,14 @@ func (r GetAuthMethodsResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r GetAuthMethodsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + type AuthWebhookResponse struct { Body []byte HTTPResponse *http.Response @@ -17906,6 +19443,14 @@ func (r AuthWebhookResponse) StatusCode() int { return 0 } +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AuthWebhookResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + // GetProfileWithResponse request returning *GetProfileResponse func (c *ClientWithResponses) GetProfileWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetProfileResponse, error) { rsp, err := c.GetProfile(ctx, reqEditors...) @@ -26012,6 +27557,7 @@ func (siw *ServerInterfaceWrapper) GetProfile(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) ListProjects(w http.ResponseWriter, r *http.Request) { var err error + _ = err ctx := r.Context() @@ -26024,25 +27570,40 @@ func (siw *ServerInterfaceWrapper) ListProjects(w http.ResponseWriter, r *http.R // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -26081,11 +27642,12 @@ func (siw *ServerInterfaceWrapper) CreateProject(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) DeleteProject(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26112,11 +27674,12 @@ func (siw *ServerInterfaceWrapper) DeleteProject(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) GetProject(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26143,11 +27706,12 @@ func (siw *ServerInterfaceWrapper) GetProject(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) UpdateProject(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26174,11 +27738,12 @@ func (siw *ServerInterfaceWrapper) UpdateProject(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) ListActions(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26195,25 +27760,40 @@ func (siw *ServerInterfaceWrapper) ListActions(w http.ResponseWriter, r *http.Re // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -26232,11 +27812,12 @@ func (siw *ServerInterfaceWrapper) ListActions(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) CreateAction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26263,11 +27844,12 @@ func (siw *ServerInterfaceWrapper) CreateAction(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) ListActionMeta(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26294,11 +27876,12 @@ func (siw *ServerInterfaceWrapper) ListActionMeta(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetActionPreview(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26307,7 +27890,7 @@ func (siw *ServerInterfaceWrapper) GetActionPreview(w http.ResponseWriter, r *ht // ------------- Path parameter "actionType" ------------- var actionType string - err = runtime.BindStyledParameterWithOptions("simple", "actionType", chi.URLParam(r, "actionType"), &actionType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionType", chi.URLParam(r, "actionType"), &actionType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionType", Err: err}) return @@ -26334,11 +27917,12 @@ func (siw *ServerInterfaceWrapper) GetActionPreview(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) TestAction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26365,11 +27949,12 @@ func (siw *ServerInterfaceWrapper) TestAction(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) DeleteAction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26378,7 +27963,7 @@ func (siw *ServerInterfaceWrapper) DeleteAction(w http.ResponseWriter, r *http.R // ------------- Path parameter "actionID" ------------- var actionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionID", Err: err}) return @@ -26405,11 +27990,12 @@ func (siw *ServerInterfaceWrapper) DeleteAction(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) GetAction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26418,7 +28004,7 @@ func (siw *ServerInterfaceWrapper) GetAction(w http.ResponseWriter, r *http.Requ // ------------- Path parameter "actionID" ------------- var actionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionID", Err: err}) return @@ -26445,11 +28031,12 @@ func (siw *ServerInterfaceWrapper) GetAction(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) UpdateAction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26458,7 +28045,7 @@ func (siw *ServerInterfaceWrapper) UpdateAction(w http.ResponseWriter, r *http.R // ------------- Path parameter "actionID" ------------- var actionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionID", Err: err}) return @@ -26485,11 +28072,12 @@ func (siw *ServerInterfaceWrapper) UpdateAction(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) ListActionSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26498,7 +28086,7 @@ func (siw *ServerInterfaceWrapper) ListActionSchemas(w http.ResponseWriter, r *h // ------------- Path parameter "actionID" ------------- var actionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionID", Err: err}) return @@ -26507,7 +28095,7 @@ func (siw *ServerInterfaceWrapper) ListActionSchemas(w http.ResponseWriter, r *h // ------------- Path parameter "functionID" ------------- var functionID string - err = runtime.BindStyledParameterWithOptions("simple", "functionID", chi.URLParam(r, "functionID"), &functionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "functionID", chi.URLParam(r, "functionID"), &functionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "functionID", Err: err}) return @@ -26534,11 +28122,12 @@ func (siw *ServerInterfaceWrapper) ListActionSchemas(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) TestActionFunction(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26547,7 +28136,7 @@ func (siw *ServerInterfaceWrapper) TestActionFunction(w http.ResponseWriter, r * // ------------- Path parameter "actionID" ------------- var actionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "actionID", chi.URLParam(r, "actionID"), &actionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "actionID", Err: err}) return @@ -26556,7 +28145,7 @@ func (siw *ServerInterfaceWrapper) TestActionFunction(w http.ResponseWriter, r * // ------------- Path parameter "functionID" ------------- var functionID string - err = runtime.BindStyledParameterWithOptions("simple", "functionID", chi.URLParam(r, "functionID"), &functionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "functionID", chi.URLParam(r, "functionID"), &functionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "functionID", Err: err}) return @@ -26583,11 +28172,12 @@ func (siw *ServerInterfaceWrapper) TestActionFunction(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) ListProjectAdmins(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26604,25 +28194,40 @@ func (siw *ServerInterfaceWrapper) ListProjectAdmins(w http.ResponseWriter, r *h // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -26641,11 +28246,12 @@ func (siw *ServerInterfaceWrapper) ListProjectAdmins(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) DeleteProjectAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26654,7 +28260,7 @@ func (siw *ServerInterfaceWrapper) DeleteProjectAdmin(w http.ResponseWriter, r * // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -26681,11 +28287,12 @@ func (siw *ServerInterfaceWrapper) DeleteProjectAdmin(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) GetProjectAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26694,7 +28301,7 @@ func (siw *ServerInterfaceWrapper) GetProjectAdmin(w http.ResponseWriter, r *htt // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -26721,11 +28328,12 @@ func (siw *ServerInterfaceWrapper) GetProjectAdmin(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) UpdateProjectAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26734,7 +28342,7 @@ func (siw *ServerInterfaceWrapper) UpdateProjectAdmin(w http.ResponseWriter, r * // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -26761,11 +28369,12 @@ func (siw *ServerInterfaceWrapper) UpdateProjectAdmin(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) ListBroadcasts(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26782,49 +28391,79 @@ func (siw *ServerInterfaceWrapper) ListBroadcasts(w http.ResponseWriter, r *http // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } // ------------- Optional query parameter "campaign_id" ------------- - err = runtime.BindQueryParameter("form", true, false, "campaign_id", r.URL.Query(), ¶ms.CampaignId) + err = runtime.BindQueryParameterWithOptions("form", true, false, "campaign_id", r.URL.Query(), ¶ms.CampaignId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaign_id", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "campaign_id"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaign_id", Err: err}) + } return } // ------------- Optional query parameter "list_id" ------------- - err = runtime.BindQueryParameter("form", true, false, "list_id", r.URL.Query(), ¶ms.ListId) + err = runtime.BindQueryParameterWithOptions("form", true, false, "list_id", r.URL.Query(), ¶ms.ListId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "list_id", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "list_id"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "list_id", Err: err}) + } return } // ------------- Optional query parameter "state" ------------- - err = runtime.BindQueryParameter("form", true, false, "state", r.URL.Query(), ¶ms.State) + err = runtime.BindQueryParameterWithOptions("form", true, false, "state", r.URL.Query(), ¶ms.State, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "state"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "state", Err: err}) + } return } @@ -26843,11 +28482,12 @@ func (siw *ServerInterfaceWrapper) ListBroadcasts(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) CreateBroadcast(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26874,11 +28514,12 @@ func (siw *ServerInterfaceWrapper) CreateBroadcast(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) CancelBroadcast(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26887,7 +28528,7 @@ func (siw *ServerInterfaceWrapper) CancelBroadcast(w http.ResponseWriter, r *htt // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -26914,11 +28555,12 @@ func (siw *ServerInterfaceWrapper) CancelBroadcast(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) GetBroadcast(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26927,7 +28569,7 @@ func (siw *ServerInterfaceWrapper) GetBroadcast(w http.ResponseWriter, r *http.R // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -26954,11 +28596,12 @@ func (siw *ServerInterfaceWrapper) GetBroadcast(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) UpdateBroadcast(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -26967,7 +28610,7 @@ func (siw *ServerInterfaceWrapper) UpdateBroadcast(w http.ResponseWriter, r *htt // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -26994,11 +28637,12 @@ func (siw *ServerInterfaceWrapper) UpdateBroadcast(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) StreamBroadcastProgress(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27007,7 +28651,7 @@ func (siw *ServerInterfaceWrapper) StreamBroadcastProgress(w http.ResponseWriter // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -27034,11 +28678,12 @@ func (siw *ServerInterfaceWrapper) StreamBroadcastProgress(w http.ResponseWriter func (siw *ServerInterfaceWrapper) SendBroadcast(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27047,7 +28692,7 @@ func (siw *ServerInterfaceWrapper) SendBroadcast(w http.ResponseWriter, r *http. // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -27074,11 +28719,12 @@ func (siw *ServerInterfaceWrapper) SendBroadcast(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) GetBroadcastUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27087,7 +28733,7 @@ func (siw *ServerInterfaceWrapper) GetBroadcastUsers(w http.ResponseWriter, r *h // ------------- Path parameter "broadcastID" ------------- var broadcastID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "broadcastID", chi.URLParam(r, "broadcastID"), &broadcastID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "broadcastID", Err: err}) return @@ -27104,25 +28750,40 @@ func (siw *ServerInterfaceWrapper) GetBroadcastUsers(w http.ResponseWriter, r *h // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -27141,11 +28802,12 @@ func (siw *ServerInterfaceWrapper) GetBroadcastUsers(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) ListCampaigns(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27162,25 +28824,40 @@ func (siw *ServerInterfaceWrapper) ListCampaigns(w http.ResponseWriter, r *http. // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -27199,11 +28876,12 @@ func (siw *ServerInterfaceWrapper) ListCampaigns(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) CreateCampaign(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27230,11 +28908,12 @@ func (siw *ServerInterfaceWrapper) CreateCampaign(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) DeleteCampaign(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27243,7 +28922,7 @@ func (siw *ServerInterfaceWrapper) DeleteCampaign(w http.ResponseWriter, r *http // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27270,11 +28949,12 @@ func (siw *ServerInterfaceWrapper) DeleteCampaign(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetCampaign(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27283,7 +28963,7 @@ func (siw *ServerInterfaceWrapper) GetCampaign(w http.ResponseWriter, r *http.Re // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27310,11 +28990,12 @@ func (siw *ServerInterfaceWrapper) GetCampaign(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) UpdateCampaign(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27323,7 +29004,7 @@ func (siw *ServerInterfaceWrapper) UpdateCampaign(w http.ResponseWriter, r *http // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27350,11 +29031,12 @@ func (siw *ServerInterfaceWrapper) UpdateCampaign(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) DuplicateCampaign(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27363,7 +29045,7 @@ func (siw *ServerInterfaceWrapper) DuplicateCampaign(w http.ResponseWriter, r *h // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27390,11 +29072,12 @@ func (siw *ServerInterfaceWrapper) DuplicateCampaign(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) CreateTemplate(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27403,7 +29086,7 @@ func (siw *ServerInterfaceWrapper) CreateTemplate(w http.ResponseWriter, r *http // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27430,11 +29113,12 @@ func (siw *ServerInterfaceWrapper) CreateTemplate(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) DeleteTemplate(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27443,7 +29127,7 @@ func (siw *ServerInterfaceWrapper) DeleteTemplate(w http.ResponseWriter, r *http // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27452,7 +29136,7 @@ func (siw *ServerInterfaceWrapper) DeleteTemplate(w http.ResponseWriter, r *http // ------------- Path parameter "templateID" ------------- var templateID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "templateID", Err: err}) return @@ -27479,11 +29163,12 @@ func (siw *ServerInterfaceWrapper) DeleteTemplate(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetTemplate(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27492,7 +29177,7 @@ func (siw *ServerInterfaceWrapper) GetTemplate(w http.ResponseWriter, r *http.Re // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27501,7 +29186,7 @@ func (siw *ServerInterfaceWrapper) GetTemplate(w http.ResponseWriter, r *http.Re // ------------- Path parameter "templateID" ------------- var templateID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "templateID", Err: err}) return @@ -27528,11 +29213,12 @@ func (siw *ServerInterfaceWrapper) GetTemplate(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) UpdateTemplate(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27541,7 +29227,7 @@ func (siw *ServerInterfaceWrapper) UpdateTemplate(w http.ResponseWriter, r *http // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27550,7 +29236,7 @@ func (siw *ServerInterfaceWrapper) UpdateTemplate(w http.ResponseWriter, r *http // ------------- Path parameter "templateID" ------------- var templateID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "templateID", Err: err}) return @@ -27577,11 +29263,12 @@ func (siw *ServerInterfaceWrapper) UpdateTemplate(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) SendTest(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27590,7 +29277,7 @@ func (siw *ServerInterfaceWrapper) SendTest(w http.ResponseWriter, r *http.Reque // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27599,7 +29286,7 @@ func (siw *ServerInterfaceWrapper) SendTest(w http.ResponseWriter, r *http.Reque // ------------- Path parameter "templateID" ------------- var templateID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "templateID", chi.URLParam(r, "templateID"), &templateID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "templateID", Err: err}) return @@ -27626,11 +29313,12 @@ func (siw *ServerInterfaceWrapper) SendTest(w http.ResponseWriter, r *http.Reque func (siw *ServerInterfaceWrapper) GetCampaignUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27639,7 +29327,7 @@ func (siw *ServerInterfaceWrapper) GetCampaignUsers(w http.ResponseWriter, r *ht // ------------- Path parameter "campaignID" ------------- var campaignID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "campaignID", chi.URLParam(r, "campaignID"), &campaignID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "campaignID", Err: err}) return @@ -27656,17 +29344,27 @@ func (siw *ServerInterfaceWrapper) GetCampaignUsers(w http.ResponseWriter, r *ht // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -27685,11 +29383,12 @@ func (siw *ServerInterfaceWrapper) GetCampaignUsers(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) ListDocuments(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27706,17 +29405,27 @@ func (siw *ServerInterfaceWrapper) ListDocuments(w http.ResponseWriter, r *http. // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -27735,11 +29444,12 @@ func (siw *ServerInterfaceWrapper) ListDocuments(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) UploadDocuments(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27766,11 +29476,12 @@ func (siw *ServerInterfaceWrapper) UploadDocuments(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) DeleteDocument(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27779,7 +29490,7 @@ func (siw *ServerInterfaceWrapper) DeleteDocument(w http.ResponseWriter, r *http // ------------- Path parameter "documentID" ------------- var documentID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "documentID", Err: err}) return @@ -27806,11 +29517,12 @@ func (siw *ServerInterfaceWrapper) DeleteDocument(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetDocument(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27819,7 +29531,7 @@ func (siw *ServerInterfaceWrapper) GetDocument(w http.ResponseWriter, r *http.Re // ------------- Path parameter "documentID" ------------- var documentID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "documentID", Err: err}) return @@ -27846,11 +29558,12 @@ func (siw *ServerInterfaceWrapper) GetDocument(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) GetDocumentMetadata(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27859,7 +29572,7 @@ func (siw *ServerInterfaceWrapper) GetDocumentMetadata(w http.ResponseWriter, r // ------------- Path parameter "documentID" ------------- var documentID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "documentID", chi.URLParam(r, "documentID"), &documentID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "documentID", Err: err}) return @@ -27886,11 +29599,12 @@ func (siw *ServerInterfaceWrapper) GetDocumentMetadata(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) ListEmailTemplates(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27907,25 +29621,40 @@ func (siw *ServerInterfaceWrapper) ListEmailTemplates(w http.ResponseWriter, r * // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -27944,11 +29673,12 @@ func (siw *ServerInterfaceWrapper) ListEmailTemplates(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) ListJourneys(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -27965,25 +29695,40 @@ func (siw *ServerInterfaceWrapper) ListJourneys(w http.ResponseWriter, r *http.R // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -28002,11 +29747,12 @@ func (siw *ServerInterfaceWrapper) ListJourneys(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) CreateJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28023,9 +29769,14 @@ func (siw *ServerInterfaceWrapper) CreateJourney(w http.ResponseWriter, r *http. // ------------- Optional query parameter "publish" ------------- - err = runtime.BindQueryParameter("form", true, false, "publish", r.URL.Query(), ¶ms.Publish) + err = runtime.BindQueryParameterWithOptions("form", true, false, "publish", r.URL.Query(), ¶ms.Publish, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "publish", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "publish"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "publish", Err: err}) + } return } @@ -28044,11 +29795,12 @@ func (siw *ServerInterfaceWrapper) CreateJourney(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) DeleteJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28057,7 +29809,7 @@ func (siw *ServerInterfaceWrapper) DeleteJourney(w http.ResponseWriter, r *http. // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28084,11 +29836,12 @@ func (siw *ServerInterfaceWrapper) DeleteJourney(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) GetJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28097,7 +29850,7 @@ func (siw *ServerInterfaceWrapper) GetJourney(w http.ResponseWriter, r *http.Req // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28124,11 +29877,12 @@ func (siw *ServerInterfaceWrapper) GetJourney(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) UpdateJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28137,7 +29891,7 @@ func (siw *ServerInterfaceWrapper) UpdateJourney(w http.ResponseWriter, r *http. // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28164,11 +29918,12 @@ func (siw *ServerInterfaceWrapper) UpdateJourney(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) DuplicateJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28177,7 +29932,7 @@ func (siw *ServerInterfaceWrapper) DuplicateJourney(w http.ResponseWriter, r *ht // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28204,11 +29959,12 @@ func (siw *ServerInterfaceWrapper) DuplicateJourney(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) PublishJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28217,7 +29973,7 @@ func (siw *ServerInterfaceWrapper) PublishJourney(w http.ResponseWriter, r *http // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28244,11 +30000,12 @@ func (siw *ServerInterfaceWrapper) PublishJourney(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetJourneySteps(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28257,7 +30014,7 @@ func (siw *ServerInterfaceWrapper) GetJourneySteps(w http.ResponseWriter, r *htt // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28284,11 +30041,12 @@ func (siw *ServerInterfaceWrapper) GetJourneySteps(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) SetJourneySteps(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28297,7 +30055,7 @@ func (siw *ServerInterfaceWrapper) SetJourneySteps(w http.ResponseWriter, r *htt // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28324,11 +30082,12 @@ func (siw *ServerInterfaceWrapper) SetJourneySteps(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) CancelUserJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28337,7 +30096,7 @@ func (siw *ServerInterfaceWrapper) CancelUserJourney(w http.ResponseWriter, r *h // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28346,7 +30105,7 @@ func (siw *ServerInterfaceWrapper) CancelUserJourney(w http.ResponseWriter, r *h // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -28373,11 +30132,12 @@ func (siw *ServerInterfaceWrapper) CancelUserJourney(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) StreamUserJourneySteps(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28386,7 +30146,7 @@ func (siw *ServerInterfaceWrapper) StreamUserJourneySteps(w http.ResponseWriter, // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28395,7 +30155,7 @@ func (siw *ServerInterfaceWrapper) StreamUserJourneySteps(w http.ResponseWriter, // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -28422,11 +30182,12 @@ func (siw *ServerInterfaceWrapper) StreamUserJourneySteps(w http.ResponseWriter, func (siw *ServerInterfaceWrapper) TriggerUser(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28435,7 +30196,7 @@ func (siw *ServerInterfaceWrapper) TriggerUser(w http.ResponseWriter, r *http.Re // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28444,7 +30205,7 @@ func (siw *ServerInterfaceWrapper) TriggerUser(w http.ResponseWriter, r *http.Re // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -28471,11 +30232,12 @@ func (siw *ServerInterfaceWrapper) TriggerUser(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) AdvanceUserStep(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28484,7 +30246,7 @@ func (siw *ServerInterfaceWrapper) AdvanceUserStep(w http.ResponseWriter, r *htt // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28493,7 +30255,7 @@ func (siw *ServerInterfaceWrapper) AdvanceUserStep(w http.ResponseWriter, r *htt // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -28520,11 +30282,12 @@ func (siw *ServerInterfaceWrapper) AdvanceUserStep(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) GetUserJourneyState(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28533,7 +30296,7 @@ func (siw *ServerInterfaceWrapper) GetUserJourneyState(w http.ResponseWriter, r // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28542,7 +30305,7 @@ func (siw *ServerInterfaceWrapper) GetUserJourneyState(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -28569,11 +30332,12 @@ func (siw *ServerInterfaceWrapper) GetUserJourneyState(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) VersionJourney(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28582,7 +30346,7 @@ func (siw *ServerInterfaceWrapper) VersionJourney(w http.ResponseWriter, r *http // ------------- Path parameter "journeyID" ------------- var journeyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "journeyID", chi.URLParam(r, "journeyID"), &journeyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "journeyID", Err: err}) return @@ -28609,11 +30373,12 @@ func (siw *ServerInterfaceWrapper) VersionJourney(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) ListApiKeys(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28630,17 +30395,27 @@ func (siw *ServerInterfaceWrapper) ListApiKeys(w http.ResponseWriter, r *http.Re // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -28659,11 +30434,12 @@ func (siw *ServerInterfaceWrapper) ListApiKeys(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) CreateApiKey(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28690,11 +30466,12 @@ func (siw *ServerInterfaceWrapper) CreateApiKey(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) DeleteApiKey(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28703,7 +30480,7 @@ func (siw *ServerInterfaceWrapper) DeleteApiKey(w http.ResponseWriter, r *http.R // ------------- Path parameter "keyID" ------------- var keyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyID", Err: err}) return @@ -28730,11 +30507,12 @@ func (siw *ServerInterfaceWrapper) DeleteApiKey(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) GetApiKey(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28743,7 +30521,7 @@ func (siw *ServerInterfaceWrapper) GetApiKey(w http.ResponseWriter, r *http.Requ // ------------- Path parameter "keyID" ------------- var keyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyID", Err: err}) return @@ -28770,11 +30548,12 @@ func (siw *ServerInterfaceWrapper) GetApiKey(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) UpdateApiKey(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28783,7 +30562,7 @@ func (siw *ServerInterfaceWrapper) UpdateApiKey(w http.ResponseWriter, r *http.R // ------------- Path parameter "keyID" ------------- var keyID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "keyID", chi.URLParam(r, "keyID"), &keyID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "keyID", Err: err}) return @@ -28810,11 +30589,12 @@ func (siw *ServerInterfaceWrapper) UpdateApiKey(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) ListLists(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28831,25 +30611,40 @@ func (siw *ServerInterfaceWrapper) ListLists(w http.ResponseWriter, r *http.Requ // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -28868,11 +30663,12 @@ func (siw *ServerInterfaceWrapper) ListLists(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) CreateList(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28899,11 +30695,12 @@ func (siw *ServerInterfaceWrapper) CreateList(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) DeleteList(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28912,7 +30709,7 @@ func (siw *ServerInterfaceWrapper) DeleteList(w http.ResponseWriter, r *http.Req // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -28939,11 +30736,12 @@ func (siw *ServerInterfaceWrapper) DeleteList(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) GetList(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28952,7 +30750,7 @@ func (siw *ServerInterfaceWrapper) GetList(w http.ResponseWriter, r *http.Reques // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -28979,11 +30777,12 @@ func (siw *ServerInterfaceWrapper) GetList(w http.ResponseWriter, r *http.Reques func (siw *ServerInterfaceWrapper) UpdateList(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -28992,7 +30791,7 @@ func (siw *ServerInterfaceWrapper) UpdateList(w http.ResponseWriter, r *http.Req // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -29019,11 +30818,12 @@ func (siw *ServerInterfaceWrapper) UpdateList(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) DuplicateList(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29032,7 +30832,7 @@ func (siw *ServerInterfaceWrapper) DuplicateList(w http.ResponseWriter, r *http. // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -29059,11 +30859,12 @@ func (siw *ServerInterfaceWrapper) DuplicateList(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) GetListUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29072,7 +30873,7 @@ func (siw *ServerInterfaceWrapper) GetListUsers(w http.ResponseWriter, r *http.R // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -29089,25 +30890,40 @@ func (siw *ServerInterfaceWrapper) GetListUsers(w http.ResponseWriter, r *http.R // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -29126,11 +30942,12 @@ func (siw *ServerInterfaceWrapper) GetListUsers(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) PreviewListUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29139,7 +30956,7 @@ func (siw *ServerInterfaceWrapper) PreviewListUsers(w http.ResponseWriter, r *ht // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -29156,9 +30973,14 @@ func (siw *ServerInterfaceWrapper) PreviewListUsers(w http.ResponseWriter, r *ht // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } @@ -29177,11 +30999,12 @@ func (siw *ServerInterfaceWrapper) PreviewListUsers(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) ImportListUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29190,7 +31013,7 @@ func (siw *ServerInterfaceWrapper) ImportListUsers(w http.ResponseWriter, r *htt // ------------- Path parameter "listID" ------------- var listID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "listID", chi.URLParam(r, "listID"), &listID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "listID", Err: err}) return @@ -29217,11 +31040,12 @@ func (siw *ServerInterfaceWrapper) ImportListUsers(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) ListLocales(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29238,17 +31062,27 @@ func (siw *ServerInterfaceWrapper) ListLocales(w http.ResponseWriter, r *http.Re // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -29267,11 +31101,12 @@ func (siw *ServerInterfaceWrapper) ListLocales(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) CreateLocale(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29298,11 +31133,12 @@ func (siw *ServerInterfaceWrapper) CreateLocale(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) DeleteLocale(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29311,7 +31147,7 @@ func (siw *ServerInterfaceWrapper) DeleteLocale(w http.ResponseWriter, r *http.R // ------------- Path parameter "localeID" ------------- var localeID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "localeID", chi.URLParam(r, "localeID"), &localeID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "localeID", chi.URLParam(r, "localeID"), &localeID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "localeID", Err: err}) return @@ -29338,11 +31174,12 @@ func (siw *ServerInterfaceWrapper) DeleteLocale(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) GetLocale(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29351,7 +31188,7 @@ func (siw *ServerInterfaceWrapper) GetLocale(w http.ResponseWriter, r *http.Requ // ------------- Path parameter "localeID" ------------- var localeID string - err = runtime.BindStyledParameterWithOptions("simple", "localeID", chi.URLParam(r, "localeID"), &localeID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "localeID", chi.URLParam(r, "localeID"), &localeID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "localeID", Err: err}) return @@ -29378,11 +31215,12 @@ func (siw *ServerInterfaceWrapper) GetLocale(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) ListProviders(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29399,17 +31237,27 @@ func (siw *ServerInterfaceWrapper) ListProviders(w http.ResponseWriter, r *http. // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -29428,11 +31276,12 @@ func (siw *ServerInterfaceWrapper) ListProviders(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) ListProviderMeta(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29459,11 +31308,12 @@ func (siw *ServerInterfaceWrapper) ListProviderMeta(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) DeleteProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29472,7 +31322,7 @@ func (siw *ServerInterfaceWrapper) DeleteProvider(w http.ResponseWriter, r *http // ------------- Path parameter "providerID" ------------- var providerID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "providerID", Err: err}) return @@ -29499,11 +31349,12 @@ func (siw *ServerInterfaceWrapper) DeleteProvider(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) CreateProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29512,7 +31363,7 @@ func (siw *ServerInterfaceWrapper) CreateProvider(w http.ResponseWriter, r *http // ------------- Path parameter "type" ------------- var pType string - err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return @@ -29539,11 +31390,12 @@ func (siw *ServerInterfaceWrapper) CreateProvider(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) GetProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29552,7 +31404,7 @@ func (siw *ServerInterfaceWrapper) GetProvider(w http.ResponseWriter, r *http.Re // ------------- Path parameter "type" ------------- var pType string - err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return @@ -29561,7 +31413,7 @@ func (siw *ServerInterfaceWrapper) GetProvider(w http.ResponseWriter, r *http.Re // ------------- Path parameter "providerID" ------------- var providerID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "providerID", Err: err}) return @@ -29588,11 +31440,12 @@ func (siw *ServerInterfaceWrapper) GetProvider(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) UpdateProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29601,7 +31454,7 @@ func (siw *ServerInterfaceWrapper) UpdateProvider(w http.ResponseWriter, r *http // ------------- Path parameter "type" ------------- var pType string - err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "type", chi.URLParam(r, "type"), &pType, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "type", Err: err}) return @@ -29610,7 +31463,7 @@ func (siw *ServerInterfaceWrapper) UpdateProvider(w http.ResponseWriter, r *http // ------------- Path parameter "providerID" ------------- var providerID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "providerID", chi.URLParam(r, "providerID"), &providerID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "providerID", Err: err}) return @@ -29637,11 +31490,12 @@ func (siw *ServerInterfaceWrapper) UpdateProvider(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) ListProjectPushProviders(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29668,11 +31522,12 @@ func (siw *ServerInterfaceWrapper) ListProjectPushProviders(w http.ResponseWrite func (siw *ServerInterfaceWrapper) DeleteProjectPushProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29681,7 +31536,7 @@ func (siw *ServerInterfaceWrapper) DeleteProjectPushProvider(w http.ResponseWrit // ------------- Path parameter "platform" ------------- var platform ProjectPushProviderPlatform - err = runtime.BindStyledParameterWithOptions("simple", "platform", chi.URLParam(r, "platform"), &platform, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "platform", chi.URLParam(r, "platform"), &platform, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "platform", Err: err}) return @@ -29708,11 +31563,12 @@ func (siw *ServerInterfaceWrapper) DeleteProjectPushProvider(w http.ResponseWrit func (siw *ServerInterfaceWrapper) UpsertProjectPushProvider(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29721,7 +31577,7 @@ func (siw *ServerInterfaceWrapper) UpsertProjectPushProvider(w http.ResponseWrit // ------------- Path parameter "platform" ------------- var platform ProjectPushProviderPlatform - err = runtime.BindStyledParameterWithOptions("simple", "platform", chi.URLParam(r, "platform"), &platform, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "platform", chi.URLParam(r, "platform"), &platform, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "platform", Err: err}) return @@ -29748,11 +31604,12 @@ func (siw *ServerInterfaceWrapper) UpsertProjectPushProvider(w http.ResponseWrit func (siw *ServerInterfaceWrapper) ListSenderIdentities(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29769,33 +31626,53 @@ func (siw *ServerInterfaceWrapper) ListSenderIdentities(w http.ResponseWriter, r // ------------- Optional query parameter "provider_id" ------------- - err = runtime.BindQueryParameter("form", true, false, "provider_id", r.URL.Query(), ¶ms.ProviderId) + err = runtime.BindQueryParameterWithOptions("form", true, false, "provider_id", r.URL.Query(), ¶ms.ProviderId, runtime.BindQueryParameterOptions{Type: "string", Format: "uuid"}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "provider_id", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "provider_id"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "provider_id", Err: err}) + } return } // ------------- Optional query parameter "channel" ------------- - err = runtime.BindQueryParameter("form", true, false, "channel", r.URL.Query(), ¶ms.Channel) + err = runtime.BindQueryParameterWithOptions("form", true, false, "channel", r.URL.Query(), ¶ms.Channel, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channel", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "channel"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "channel", Err: err}) + } return } // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -29814,11 +31691,12 @@ func (siw *ServerInterfaceWrapper) ListSenderIdentities(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) CreateSenderIdentity(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29845,11 +31723,12 @@ func (siw *ServerInterfaceWrapper) CreateSenderIdentity(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) DeleteSenderIdentity(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29858,7 +31737,7 @@ func (siw *ServerInterfaceWrapper) DeleteSenderIdentity(w http.ResponseWriter, r // ------------- Path parameter "senderIdentityID" ------------- var senderIdentityID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "senderIdentityID", chi.URLParam(r, "senderIdentityID"), &senderIdentityID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "senderIdentityID", chi.URLParam(r, "senderIdentityID"), &senderIdentityID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "senderIdentityID", Err: err}) return @@ -29885,11 +31764,12 @@ func (siw *ServerInterfaceWrapper) DeleteSenderIdentity(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) GetSenderIdentity(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29898,7 +31778,7 @@ func (siw *ServerInterfaceWrapper) GetSenderIdentity(w http.ResponseWriter, r *h // ------------- Path parameter "senderIdentityID" ------------- var senderIdentityID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "senderIdentityID", chi.URLParam(r, "senderIdentityID"), &senderIdentityID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "senderIdentityID", chi.URLParam(r, "senderIdentityID"), &senderIdentityID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "senderIdentityID", Err: err}) return @@ -29925,11 +31805,12 @@ func (siw *ServerInterfaceWrapper) GetSenderIdentity(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) ListOrganizationEventSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29956,11 +31837,12 @@ func (siw *ServerInterfaceWrapper) ListOrganizationEventSchemas(w http.ResponseW func (siw *ServerInterfaceWrapper) DeleteOrganizationEventSchema(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -29969,7 +31851,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationEventSchema(w http.Response // ------------- Path parameter "eventID" ------------- var eventID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "eventID", chi.URLParam(r, "eventID"), &eventID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "eventID", chi.URLParam(r, "eventID"), &eventID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "eventID", Err: err}) return @@ -29996,11 +31878,12 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationEventSchema(w http.Response func (siw *ServerInterfaceWrapper) ListOrganizations(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30017,25 +31900,40 @@ func (siw *ServerInterfaceWrapper) ListOrganizations(w http.ResponseWriter, r *h // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -30054,11 +31952,12 @@ func (siw *ServerInterfaceWrapper) ListOrganizations(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) UpsertOrganization(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30085,11 +31984,12 @@ func (siw *ServerInterfaceWrapper) UpsertOrganization(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) ListOrganizationSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30116,11 +32016,12 @@ func (siw *ServerInterfaceWrapper) ListOrganizationSchemas(w http.ResponseWriter func (siw *ServerInterfaceWrapper) ListOrganizationMemberSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30147,11 +32048,12 @@ func (siw *ServerInterfaceWrapper) ListOrganizationMemberSchemas(w http.Response func (siw *ServerInterfaceWrapper) DeleteOrganization(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30160,7 +32062,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganization(w http.ResponseWriter, r * // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30187,11 +32089,12 @@ func (siw *ServerInterfaceWrapper) DeleteOrganization(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) GetOrganization(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30200,7 +32103,7 @@ func (siw *ServerInterfaceWrapper) GetOrganization(w http.ResponseWriter, r *htt // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30227,11 +32130,12 @@ func (siw *ServerInterfaceWrapper) GetOrganization(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) UpdateOrganization(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30240,7 +32144,7 @@ func (siw *ServerInterfaceWrapper) UpdateOrganization(w http.ResponseWriter, r * // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30267,11 +32171,12 @@ func (siw *ServerInterfaceWrapper) UpdateOrganization(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) GetOrganizationEvents(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30280,7 +32185,7 @@ func (siw *ServerInterfaceWrapper) GetOrganizationEvents(w http.ResponseWriter, // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30297,25 +32202,40 @@ func (siw *ServerInterfaceWrapper) GetOrganizationEvents(w http.ResponseWriter, // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -30334,11 +32254,12 @@ func (siw *ServerInterfaceWrapper) GetOrganizationEvents(w http.ResponseWriter, func (siw *ServerInterfaceWrapper) CreateOrganizationEvent(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30347,7 +32268,7 @@ func (siw *ServerInterfaceWrapper) CreateOrganizationEvent(w http.ResponseWriter // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30374,11 +32295,12 @@ func (siw *ServerInterfaceWrapper) CreateOrganizationEvent(w http.ResponseWriter func (siw *ServerInterfaceWrapper) DeleteOrganizationExternalID(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30387,7 +32309,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationExternalID(w http.ResponseW // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30396,7 +32318,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationExternalID(w http.ResponseW // ------------- Path parameter "identifierID" ------------- var identifierID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "identifierID", chi.URLParam(r, "identifierID"), &identifierID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "identifierID", chi.URLParam(r, "identifierID"), &identifierID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "identifierID", Err: err}) return @@ -30423,11 +32345,12 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationExternalID(w http.ResponseW func (siw *ServerInterfaceWrapper) GetOrganizationScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30436,7 +32359,7 @@ func (siw *ServerInterfaceWrapper) GetOrganizationScheduled(w http.ResponseWrite // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30453,17 +32376,27 @@ func (siw *ServerInterfaceWrapper) GetOrganizationScheduled(w http.ResponseWrite // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -30482,11 +32415,12 @@ func (siw *ServerInterfaceWrapper) GetOrganizationScheduled(w http.ResponseWrite func (siw *ServerInterfaceWrapper) UpsertOrganizationScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30495,7 +32429,7 @@ func (siw *ServerInterfaceWrapper) UpsertOrganizationScheduled(w http.ResponseWr // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30522,11 +32456,12 @@ func (siw *ServerInterfaceWrapper) UpsertOrganizationScheduled(w http.ResponseWr func (siw *ServerInterfaceWrapper) DeleteOrganizationScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30535,7 +32470,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationScheduled(w http.ResponseWr // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30544,7 +32479,7 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationScheduled(w http.ResponseWr // ------------- Path parameter "scheduledInstanceID" ------------- var scheduledInstanceID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledInstanceID", Err: err}) return @@ -30571,11 +32506,12 @@ func (siw *ServerInterfaceWrapper) DeleteOrganizationScheduled(w http.ResponseWr func (siw *ServerInterfaceWrapper) UpdateOrganizationScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30584,7 +32520,7 @@ func (siw *ServerInterfaceWrapper) UpdateOrganizationScheduled(w http.ResponseWr // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30593,7 +32529,7 @@ func (siw *ServerInterfaceWrapper) UpdateOrganizationScheduled(w http.ResponseWr // ------------- Path parameter "scheduledInstanceID" ------------- var scheduledInstanceID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledInstanceID", Err: err}) return @@ -30620,11 +32556,12 @@ func (siw *ServerInterfaceWrapper) UpdateOrganizationScheduled(w http.ResponseWr func (siw *ServerInterfaceWrapper) ListOrganizationMembers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30633,7 +32570,7 @@ func (siw *ServerInterfaceWrapper) ListOrganizationMembers(w http.ResponseWriter // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30650,17 +32587,27 @@ func (siw *ServerInterfaceWrapper) ListOrganizationMembers(w http.ResponseWriter // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -30679,11 +32626,12 @@ func (siw *ServerInterfaceWrapper) ListOrganizationMembers(w http.ResponseWriter func (siw *ServerInterfaceWrapper) AddOrganizationMember(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30692,7 +32640,7 @@ func (siw *ServerInterfaceWrapper) AddOrganizationMember(w http.ResponseWriter, // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30719,11 +32667,12 @@ func (siw *ServerInterfaceWrapper) AddOrganizationMember(w http.ResponseWriter, func (siw *ServerInterfaceWrapper) RemoveOrganizationMember(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30732,7 +32681,7 @@ func (siw *ServerInterfaceWrapper) RemoveOrganizationMember(w http.ResponseWrite // ------------- Path parameter "organizationID" ------------- var organizationID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "organizationID", chi.URLParam(r, "organizationID"), &organizationID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "organizationID", Err: err}) return @@ -30741,7 +32690,7 @@ func (siw *ServerInterfaceWrapper) RemoveOrganizationMember(w http.ResponseWrite // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -30768,11 +32717,12 @@ func (siw *ServerInterfaceWrapper) RemoveOrganizationMember(w http.ResponseWrite func (siw *ServerInterfaceWrapper) ListUserEventSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30799,11 +32749,12 @@ func (siw *ServerInterfaceWrapper) ListUserEventSchemas(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) DeleteUserEventSchema(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30812,7 +32763,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserEventSchema(w http.ResponseWriter, // ------------- Path parameter "eventID" ------------- var eventID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "eventID", chi.URLParam(r, "eventID"), &eventID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "eventID", chi.URLParam(r, "eventID"), &eventID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "eventID", Err: err}) return @@ -30839,11 +32790,12 @@ func (siw *ServerInterfaceWrapper) DeleteUserEventSchema(w http.ResponseWriter, func (siw *ServerInterfaceWrapper) ListScheduledSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30870,11 +32822,12 @@ func (siw *ServerInterfaceWrapper) ListScheduledSchemas(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) DeleteScheduledSchema(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30883,7 +32836,7 @@ func (siw *ServerInterfaceWrapper) DeleteScheduledSchema(w http.ResponseWriter, // ------------- Path parameter "scheduledID" ------------- var scheduledID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledID", chi.URLParam(r, "scheduledID"), &scheduledID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledID", chi.URLParam(r, "scheduledID"), &scheduledID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledID", Err: err}) return @@ -30910,11 +32863,12 @@ func (siw *ServerInterfaceWrapper) DeleteScheduledSchema(w http.ResponseWriter, func (siw *ServerInterfaceWrapper) CreateScheduleOffset(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30923,7 +32877,7 @@ func (siw *ServerInterfaceWrapper) CreateScheduleOffset(w http.ResponseWriter, r // ------------- Path parameter "scheduledID" ------------- var scheduledID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledID", chi.URLParam(r, "scheduledID"), &scheduledID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledID", chi.URLParam(r, "scheduledID"), &scheduledID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledID", Err: err}) return @@ -30950,11 +32904,12 @@ func (siw *ServerInterfaceWrapper) CreateScheduleOffset(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) ListUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -30971,25 +32926,40 @@ func (siw *ServerInterfaceWrapper) ListUsers(w http.ResponseWriter, r *http.Requ // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -31008,11 +32978,12 @@ func (siw *ServerInterfaceWrapper) ListUsers(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) IdentifyUser(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31039,11 +33010,12 @@ func (siw *ServerInterfaceWrapper) IdentifyUser(w http.ResponseWriter, r *http.R func (siw *ServerInterfaceWrapper) ImportUsers(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31070,11 +33042,12 @@ func (siw *ServerInterfaceWrapper) ImportUsers(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) ListUserSchemas(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31101,11 +33074,12 @@ func (siw *ServerInterfaceWrapper) ListUserSchemas(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31114,7 +33088,7 @@ func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Req // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31141,11 +33115,12 @@ func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) GetUser(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31154,7 +33129,7 @@ func (siw *ServerInterfaceWrapper) GetUser(w http.ResponseWriter, r *http.Reques // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31181,11 +33156,12 @@ func (siw *ServerInterfaceWrapper) GetUser(w http.ResponseWriter, r *http.Reques func (siw *ServerInterfaceWrapper) UpdateUser(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31194,7 +33170,7 @@ func (siw *ServerInterfaceWrapper) UpdateUser(w http.ResponseWriter, r *http.Req // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31221,11 +33197,12 @@ func (siw *ServerInterfaceWrapper) UpdateUser(w http.ResponseWriter, r *http.Req func (siw *ServerInterfaceWrapper) GetUserDevices(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31234,7 +33211,7 @@ func (siw *ServerInterfaceWrapper) GetUserDevices(w http.ResponseWriter, r *http // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31261,11 +33238,12 @@ func (siw *ServerInterfaceWrapper) GetUserDevices(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) CreateUserDevice(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31274,7 +33252,7 @@ func (siw *ServerInterfaceWrapper) CreateUserDevice(w http.ResponseWriter, r *ht // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31301,11 +33279,12 @@ func (siw *ServerInterfaceWrapper) CreateUserDevice(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) DeleteUserDevice(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31314,7 +33293,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserDevice(w http.ResponseWriter, r *ht // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31323,7 +33302,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserDevice(w http.ResponseWriter, r *ht // ------------- Path parameter "deviceID" ------------- var deviceID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "deviceID", chi.URLParam(r, "deviceID"), &deviceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "deviceID", chi.URLParam(r, "deviceID"), &deviceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "deviceID", Err: err}) return @@ -31350,11 +33329,12 @@ func (siw *ServerInterfaceWrapper) DeleteUserDevice(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) GetUserEvents(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31363,7 +33343,7 @@ func (siw *ServerInterfaceWrapper) GetUserEvents(w http.ResponseWriter, r *http. // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31380,25 +33360,40 @@ func (siw *ServerInterfaceWrapper) GetUserEvents(w http.ResponseWriter, r *http. // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -31417,11 +33412,12 @@ func (siw *ServerInterfaceWrapper) GetUserEvents(w http.ResponseWriter, r *http. func (siw *ServerInterfaceWrapper) CreateUserEvent(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31430,7 +33426,7 @@ func (siw *ServerInterfaceWrapper) CreateUserEvent(w http.ResponseWriter, r *htt // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31457,11 +33453,12 @@ func (siw *ServerInterfaceWrapper) CreateUserEvent(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) DeleteUserExternalID(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31470,7 +33467,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserExternalID(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31479,7 +33476,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserExternalID(w http.ResponseWriter, r // ------------- Path parameter "identifierID" ------------- var identifierID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "identifierID", chi.URLParam(r, "identifierID"), &identifierID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "identifierID", chi.URLParam(r, "identifierID"), &identifierID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "identifierID", Err: err}) return @@ -31506,11 +33503,12 @@ func (siw *ServerInterfaceWrapper) DeleteUserExternalID(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) GetUserJourneys(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31519,7 +33517,7 @@ func (siw *ServerInterfaceWrapper) GetUserJourneys(w http.ResponseWriter, r *htt // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31536,17 +33534,27 @@ func (siw *ServerInterfaceWrapper) GetUserJourneys(w http.ResponseWriter, r *htt // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -31565,11 +33573,12 @@ func (siw *ServerInterfaceWrapper) GetUserJourneys(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) GetUserScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31578,7 +33587,7 @@ func (siw *ServerInterfaceWrapper) GetUserScheduled(w http.ResponseWriter, r *ht // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31595,17 +33604,27 @@ func (siw *ServerInterfaceWrapper) GetUserScheduled(w http.ResponseWriter, r *ht // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -31624,11 +33643,12 @@ func (siw *ServerInterfaceWrapper) GetUserScheduled(w http.ResponseWriter, r *ht func (siw *ServerInterfaceWrapper) UpsertUserScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31637,7 +33657,7 @@ func (siw *ServerInterfaceWrapper) UpsertUserScheduled(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31664,11 +33684,12 @@ func (siw *ServerInterfaceWrapper) UpsertUserScheduled(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) DeleteUserScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31677,7 +33698,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserScheduled(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31686,7 +33707,7 @@ func (siw *ServerInterfaceWrapper) DeleteUserScheduled(w http.ResponseWriter, r // ------------- Path parameter "scheduledInstanceID" ------------- var scheduledInstanceID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledInstanceID", Err: err}) return @@ -31713,11 +33734,12 @@ func (siw *ServerInterfaceWrapper) DeleteUserScheduled(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) UpdateUserScheduled(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31726,7 +33748,7 @@ func (siw *ServerInterfaceWrapper) UpdateUserScheduled(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31735,7 +33757,7 @@ func (siw *ServerInterfaceWrapper) UpdateUserScheduled(w http.ResponseWriter, r // ------------- Path parameter "scheduledInstanceID" ------------- var scheduledInstanceID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "scheduledInstanceID", chi.URLParam(r, "scheduledInstanceID"), &scheduledInstanceID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "scheduledInstanceID", Err: err}) return @@ -31762,11 +33784,12 @@ func (siw *ServerInterfaceWrapper) UpdateUserScheduled(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) GetUserOrganizations(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31775,7 +33798,7 @@ func (siw *ServerInterfaceWrapper) GetUserOrganizations(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31792,25 +33815,40 @@ func (siw *ServerInterfaceWrapper) GetUserOrganizations(w http.ResponseWriter, r // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -31829,11 +33867,12 @@ func (siw *ServerInterfaceWrapper) GetUserOrganizations(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) GetUserSubscriptions(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31842,7 +33881,7 @@ func (siw *ServerInterfaceWrapper) GetUserSubscriptions(w http.ResponseWriter, r // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31859,17 +33898,27 @@ func (siw *ServerInterfaceWrapper) GetUserSubscriptions(w http.ResponseWriter, r // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -31888,11 +33937,12 @@ func (siw *ServerInterfaceWrapper) GetUserSubscriptions(w http.ResponseWriter, r func (siw *ServerInterfaceWrapper) UpdateUserSubscriptions(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31901,7 +33951,7 @@ func (siw *ServerInterfaceWrapper) UpdateUserSubscriptions(w http.ResponseWriter // ------------- Path parameter "userID" ------------- var userID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "userID", chi.URLParam(r, "userID"), &userID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userID", Err: err}) return @@ -31928,11 +33978,12 @@ func (siw *ServerInterfaceWrapper) UpdateUserSubscriptions(w http.ResponseWriter func (siw *ServerInterfaceWrapper) ListSubscriptions(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -31949,17 +34000,27 @@ func (siw *ServerInterfaceWrapper) ListSubscriptions(w http.ResponseWriter, r *h // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } @@ -31978,11 +34039,12 @@ func (siw *ServerInterfaceWrapper) ListSubscriptions(w http.ResponseWriter, r *h func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32009,11 +34071,12 @@ func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32022,7 +34085,7 @@ func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *htt // ------------- Path parameter "subscriptionID" ------------- var subscriptionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "subscriptionID", chi.URLParam(r, "subscriptionID"), &subscriptionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "subscriptionID", chi.URLParam(r, "subscriptionID"), &subscriptionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionID", Err: err}) return @@ -32049,11 +34112,12 @@ func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *htt func (siw *ServerInterfaceWrapper) UpdateSubscription(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32062,7 +34126,7 @@ func (siw *ServerInterfaceWrapper) UpdateSubscription(w http.ResponseWriter, r * // ------------- Path parameter "subscriptionID" ------------- var subscriptionID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "subscriptionID", chi.URLParam(r, "subscriptionID"), &subscriptionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "subscriptionID", chi.URLParam(r, "subscriptionID"), &subscriptionID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "subscriptionID", Err: err}) return @@ -32089,11 +34153,12 @@ func (siw *ServerInterfaceWrapper) UpdateSubscription(w http.ResponseWriter, r * func (siw *ServerInterfaceWrapper) ListTags(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32110,25 +34175,40 @@ func (siw *ServerInterfaceWrapper) ListTags(w http.ResponseWriter, r *http.Reque // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -32147,11 +34227,12 @@ func (siw *ServerInterfaceWrapper) ListTags(w http.ResponseWriter, r *http.Reque func (siw *ServerInterfaceWrapper) CreateTag(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32178,11 +34259,12 @@ func (siw *ServerInterfaceWrapper) CreateTag(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) DeleteTag(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32191,7 +34273,7 @@ func (siw *ServerInterfaceWrapper) DeleteTag(w http.ResponseWriter, r *http.Requ // ------------- Path parameter "tagID" ------------- var tagID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tagID", Err: err}) return @@ -32218,11 +34300,12 @@ func (siw *ServerInterfaceWrapper) DeleteTag(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) GetTag(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32231,7 +34314,7 @@ func (siw *ServerInterfaceWrapper) GetTag(w http.ResponseWriter, r *http.Request // ------------- Path parameter "tagID" ------------- var tagID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tagID", Err: err}) return @@ -32258,11 +34341,12 @@ func (siw *ServerInterfaceWrapper) GetTag(w http.ResponseWriter, r *http.Request func (siw *ServerInterfaceWrapper) UpdateTag(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "projectID" ------------- var projectID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "projectID", chi.URLParam(r, "projectID"), &projectID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projectID", Err: err}) return @@ -32271,7 +34355,7 @@ func (siw *ServerInterfaceWrapper) UpdateTag(w http.ResponseWriter, r *http.Requ // ------------- Path parameter "tagID" ------------- var tagID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "tagID", chi.URLParam(r, "tagID"), &tagID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "tagID", Err: err}) return @@ -32298,6 +34382,7 @@ func (siw *ServerInterfaceWrapper) UpdateTag(w http.ResponseWriter, r *http.Requ func (siw *ServerInterfaceWrapper) ListAdmins(w http.ResponseWriter, r *http.Request) { var err error + _ = err ctx := r.Context() @@ -32310,25 +34395,40 @@ func (siw *ServerInterfaceWrapper) ListAdmins(w http.ResponseWriter, r *http.Req // ------------- Optional query parameter "limit" ------------- - err = runtime.BindQueryParameter("form", true, false, "limit", r.URL.Query(), ¶ms.Limit) + err = runtime.BindQueryParameterWithOptions("form", true, false, "limit", r.URL.Query(), ¶ms.Limit, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "limit"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "limit", Err: err}) + } return } // ------------- Optional query parameter "offset" ------------- - err = runtime.BindQueryParameter("form", true, false, "offset", r.URL.Query(), ¶ms.Offset) + err = runtime.BindQueryParameterWithOptions("form", true, false, "offset", r.URL.Query(), ¶ms.Offset, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "offset"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "offset", Err: err}) + } return } // ------------- Optional query parameter "search" ------------- - err = runtime.BindQueryParameter("form", true, false, "search", r.URL.Query(), ¶ms.Search) + err = runtime.BindQueryParameterWithOptions("form", true, false, "search", r.URL.Query(), ¶ms.Search, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) if err != nil { - siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "search"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "search", Err: err}) + } return } @@ -32367,11 +34467,12 @@ func (siw *ServerInterfaceWrapper) CreateAdmin(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) DeleteAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -32398,11 +34499,12 @@ func (siw *ServerInterfaceWrapper) DeleteAdmin(w http.ResponseWriter, r *http.Re func (siw *ServerInterfaceWrapper) GetAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -32429,11 +34531,12 @@ func (siw *ServerInterfaceWrapper) GetAdmin(w http.ResponseWriter, r *http.Reque func (siw *ServerInterfaceWrapper) UpdateAdmin(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "adminID" ------------- var adminID openapi_types.UUID - err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "adminID", chi.URLParam(r, "adminID"), &adminID, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: "uuid"}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "adminID", Err: err}) return @@ -32480,11 +34583,12 @@ func (siw *ServerInterfaceWrapper) Whoami(w http.ResponseWriter, r *http.Request func (siw *ServerInterfaceWrapper) AuthCallback(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "driver" ------------- var driver AuthCallbackParamsDriver - err = runtime.BindStyledParameterWithOptions("simple", "driver", chi.URLParam(r, "driver"), &driver, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "driver", chi.URLParam(r, "driver"), &driver, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "driver", Err: err}) return @@ -32519,11 +34623,12 @@ func (siw *ServerInterfaceWrapper) GetAuthMethods(w http.ResponseWriter, r *http func (siw *ServerInterfaceWrapper) AuthWebhook(w http.ResponseWriter, r *http.Request) { var err error + _ = err // ------------- Path parameter "driver" ------------- var driver AuthWebhookParamsDriver - err = runtime.BindStyledParameterWithOptions("simple", "driver", chi.URLParam(r, "driver"), &driver, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true}) + err = runtime.BindStyledParameterWithOptions("simple", "driver", chi.URLParam(r, "driver"), &driver, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) if err != nil { siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "driver", Err: err}) return diff --git a/oapi/webhooks_gen.go b/oapi/webhooks_gen.go index b5aa6a47..e29671bb 100644 --- a/oapi/webhooks_gen.go +++ b/oapi/webhooks_gen.go @@ -1,6 +1,6 @@ // Package oapi provides primitives to interact with the openapi HTTP API. // -// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT. +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.0 DO NOT EDIT. package oapi import ( @@ -14,12 +14,34 @@ const ( ProjectCreated ProjectCreatedEventEvent = "project.created" ) +// Valid indicates whether the value is a known member of the ProjectCreatedEventEvent enum. +func (e ProjectCreatedEventEvent) Valid() bool { + switch e { + case ProjectCreated: + return true + default: + return false + } +} + // Defines values for WebhookResponseStatus. const ( Error WebhookResponseStatus = "error" Ok WebhookResponseStatus = "ok" ) +// Valid indicates whether the value is a known member of the WebhookResponseStatus enum. +func (e WebhookResponseStatus) Valid() bool { + switch e { + case Error: + return true + case Ok: + return true + default: + return false + } +} + // ProjectCreatedEvent defines model for ProjectCreatedEvent. type ProjectCreatedEvent struct { // Event The event type From e460d09efc81b7b686c3174018b0045e3bfcd02e Mon Sep 17 00:00:00 2001 From: RickjanHoornbeeck <51879@hoornbeeck.nl> Date: Wed, 6 May 2026 11:30:39 +0200 Subject: [PATCH 3/4] feat: update dependencies and remove unused campaign functions --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- internal/store/management/store.go | 13 ------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index 326f96df..7b4c3839 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/nats-io/nats.go v1.48.0 github.com/nyaruka/phonenumbers v1.6.7 github.com/oapi-codegen/nethttp-middleware v1.1.2 - github.com/oapi-codegen/runtime v1.1.1 + github.com/oapi-codegen/runtime v1.4.0 github.com/openfga/api/proto v0.0.0-20260217232149-f917ddb000ce github.com/openfga/openfga v1.11.6 github.com/osteele/liquid v1.7.0 @@ -41,6 +41,7 @@ require ( github.com/testcontainers/testcontainers-go/modules/nats v0.40.0 github.com/testcontainers/testcontainers-go/modules/postgres v0.40.0 github.com/testcontainers/testcontainers-go/modules/redis v0.40.0 + github.com/tetratelabs/wazero v1.9.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 go.opentelemetry.io/otel v1.40.0 go.uber.org/zap v1.27.1 @@ -201,7 +202,7 @@ require ( github.com/kisielk/errcheck v1.9.0 // indirect github.com/kkHAIKE/contextcheck v1.1.6 // indirect github.com/klauspost/compress v1.18.0 // indirect - github.com/klauspost/cpuid/v2 v2.2.5 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/kulti/thelper v0.6.3 // indirect github.com/kunwardeep/paralleltest v1.0.10 // indirect github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect @@ -304,7 +305,6 @@ require ( github.com/tdakkota/asciicheck v0.4.1 // indirect github.com/tetafro/godot v1.5.0 // indirect github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 // indirect - github.com/tetratelabs/wazero v1.9.0 // indirect github.com/timakin/bodyclose v0.0.0-20241017074812-ed6a65f985e3 // indirect github.com/timonwong/loggercheck v0.10.1 // indirect github.com/tklauser/go-sysconf v0.3.13 // indirect @@ -342,7 +342,7 @@ require ( golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect golang.org/x/mod v0.32.0 // indirect golang.org/x/sys v0.40.0 // indirect - golang.org/x/time v0.12.0 // indirect + golang.org/x/time v0.14.0 // indirect golang.org/x/tools v0.41.0 // indirect gonum.org/v1/gonum v0.17.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect diff --git a/go.sum b/go.sum index 8889c432..e697d31e 100644 --- a/go.sum +++ b/go.sum @@ -460,8 +460,8 @@ github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/tt github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= -github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= -github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -582,8 +582,8 @@ github.com/oapi-codegen/nethttp-middleware v1.1.2 h1:TQwEU3WM6ifc7ObBEtiJgbRPaCe github.com/oapi-codegen/nethttp-middleware v1.1.2/go.mod h1:5qzjxMSiI8HjLljiOEjvs4RdrWyMPKnExeFS2kr8om4= github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 h1:5vHNY1uuPBRBWqB2Dp0G7YB03phxLQZupZTIZaeorjc= github.com/oapi-codegen/oapi-codegen/v2 v2.5.1/go.mod h1:ro0npU1BWkcGpCgGD9QwPp44l5OIZ94tB3eabnT7DjQ= -github.com/oapi-codegen/runtime v1.1.1 h1:EXLHh0DXIJnWhdRPN2w4MXAzFyE4CskzhNLUmtpMYro= -github.com/oapi-codegen/runtime v1.1.1/go.mod h1:SK9X900oXmPWilYR5/WKPzt3Kqxn/uS/+lbpREv+eCg= +github.com/oapi-codegen/runtime v1.4.0 h1:KLOSFOp7UzkbS7Cs1ms6NBEKYr0WmH2wZG0KKbd2er4= +github.com/oapi-codegen/runtime v1.4.0/go.mod h1:5sw5fxCDmnOzKNYmkVNF8d34kyUeejJEY8HNT2WaPec= github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY= github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw= github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c= @@ -797,8 +797,8 @@ github.com/tomarrell/wrapcheck/v2 v2.10.0 h1:SzRCryzy4IrAH7bVGG4cK40tNUhmVmMDuJu github.com/tomarrell/wrapcheck/v2 v2.10.0/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo= github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= -github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/ultraware/funlen v0.2.0 h1:gCHmCn+d2/1SemTdYMiKLAHFYxTYz7z9VIDRaTGyLkI= github.com/ultraware/funlen v0.2.0/go.mod h1:ZE0q4TsJ8T1SQcjmkhN/w+MceuatI6pBFSxxyteHIJA= github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSWoFa+g= @@ -1030,8 +1030,8 @@ golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= -golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= -golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= +golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= +golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= diff --git a/internal/store/management/store.go b/internal/store/management/store.go index b924e87e..259f2f64 100644 --- a/internal/store/management/store.go +++ b/internal/store/management/store.go @@ -1,9 +1,6 @@ package management import ( - "context" - - "github.com/google/uuid" "github.com/lunogram/platform/internal/store" ) @@ -29,16 +26,6 @@ func NewState(db store.DB) *State { } } -// ListArchivedCampaigns lists all archived (soft-deleted) campaigns -func (s *State) ListArchivedCampaigns(ctx context.Context, projectID uuid.UUID, pagination store.Pagination, search string) (Campaigns, int, error) { - return s.CampaignsStore.ListArchivedCampaigns(ctx, projectID, pagination, search) -} - -// RestoreCampaign restores a soft-deleted campaign -func (s *State) RestoreCampaign(ctx context.Context, projectID, campaignID uuid.UUID) error { - return s.CampaignsStore.RestoreCampaign(ctx, projectID, campaignID) -} - type State struct { *AdminsStore *ProjectsStore From 57dd70c2894a4a8758f03879f3427de0295be37c Mon Sep 17 00:00:00 2001 From: RickjanHoornbeeck <51879@hoornbeeck.nl> Date: Thu, 21 May 2026 13:07:54 +0200 Subject: [PATCH 4/4] fix: generate fix --- go.mod | 33 +++++++++++++-------------- go.sum | 70 ++++++++++++++++++++++++++++++---------------------------- 2 files changed, 53 insertions(+), 50 deletions(-) diff --git a/go.mod b/go.mod index 7b4c3839..7bd1a868 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( github.com/cloudproud/graceful v1.1.2 github.com/docker/go-connections v0.6.0 github.com/extism/go-sdk v1.7.1 - github.com/getkin/kin-openapi v0.133.0 + github.com/getkin/kin-openapi v0.135.0 github.com/go-chi/chi/v5 v5.2.3 github.com/go-chi/cors v1.2.2 github.com/go-redsync/redsync/v4 v4.14.1 @@ -45,7 +45,7 @@ require ( go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 go.opentelemetry.io/otel v1.40.0 go.uber.org/zap v1.27.1 - golang.org/x/net v0.49.0 + golang.org/x/net v0.50.0 golang.org/x/sync v0.19.0 golang.org/x/text v0.34.0 google.golang.org/protobuf v1.36.11 @@ -146,8 +146,8 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-openapi/jsonpointer v0.22.4 // indirect + github.com/go-openapi/swag/jsonname v0.25.4 // indirect github.com/go-sql-driver/mysql v1.9.3 // indirect github.com/go-toolsmith/astcast v1.1.0 // indirect github.com/go-toolsmith/astcopy v1.1.0 // indirect @@ -217,7 +217,7 @@ require ( github.com/lufia/plan9stats v0.0.0-20240226150601-1dcf7310316a // indirect github.com/macabu/inamedparam v0.1.3 // indirect github.com/magiconair/properties v1.8.10 // indirect - github.com/mailru/easyjson v0.9.0 // indirect + github.com/mailru/easyjson v0.9.1 // indirect github.com/maratori/testableexamples v1.0.0 // indirect github.com/maratori/testpackage v1.1.1 // indirect github.com/matoous/godox v1.1.0 // indirect @@ -247,9 +247,9 @@ require ( github.com/nishanths/exhaustive v0.12.0 // indirect github.com/nishanths/predeclared v0.2.2 // indirect github.com/nunnatsa/ginkgolinter v0.19.1 // indirect - github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 // indirect - github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect - github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect + github.com/oapi-codegen/oapi-codegen/v2 v2.7.0 // indirect + github.com/oasdiff/yaml v0.0.9 // indirect + github.com/oasdiff/yaml3 v0.0.9 // indirect github.com/oklog/ulid/v2 v2.1.1 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect @@ -279,7 +279,7 @@ require ( github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect github.com/sagikazarmark/locafero v0.9.0 // indirect github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect - github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect + github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect github.com/securego/gosec/v2 v2.22.2 // indirect @@ -291,8 +291,8 @@ require ( github.com/sonatard/noctx v0.1.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect - github.com/speakeasy-api/jsonpath v0.6.0 // indirect - github.com/speakeasy-api/openapi-overlay v0.10.2 // indirect + github.com/speakeasy-api/jsonpath v0.6.3 // indirect + github.com/speakeasy-api/openapi v1.19.2 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spf13/cobra v1.10.2 // indirect @@ -316,7 +316,7 @@ require ( github.com/uudashr/gocognit v1.2.0 // indirect github.com/uudashr/iface v1.3.1 // indirect github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect - github.com/woodsbury/decimal128 v1.3.0 // indirect + github.com/woodsbury/decimal128 v1.4.0 // indirect github.com/xen0n/gosmopolitan v1.2.2 // indirect github.com/yagipy/maintidx v1.0.0 // indirect github.com/yeya24/promlinter v0.3.0 // indirect @@ -337,13 +337,14 @@ require ( go.uber.org/mock v0.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect - golang.org/x/crypto v0.47.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/crypto v0.48.0 // indirect golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 // indirect golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect - golang.org/x/mod v0.32.0 // indirect - golang.org/x/sys v0.40.0 // indirect + golang.org/x/mod v0.33.0 // indirect + golang.org/x/sys v0.41.0 // indirect golang.org/x/time v0.14.0 // indirect - golang.org/x/tools v0.41.0 // indirect + golang.org/x/tools v0.42.0 // indirect gonum.org/v1/gonum v0.17.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect diff --git a/go.sum b/go.sum index e697d31e..9dbf5c11 100644 --- a/go.sum +++ b/go.sum @@ -237,8 +237,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getkin/kin-openapi v0.133.0 h1:pJdmNohVIJ97r4AUFtEXRXwESr8b0bD721u/Tz6k8PQ= -github.com/getkin/kin-openapi v0.133.0/go.mod h1:boAciF6cXk5FhPqe/NQeBTeenbjqU4LhWBf09ILVvWE= +github.com/getkin/kin-openapi v0.135.0 h1:751SjYfbiwqukYuVjwYEIKNfrSwS5YpA7DZnKSwQgtg= +github.com/getkin/kin-openapi v0.135.0/go.mod h1:6dd5FJl6RdX4usBtFBaQhk9q62Yb2J0Mk5IhUO/QqFI= github.com/ghostiam/protogetter v0.3.9 h1:j+zlLLWzqLay22Cz/aYwTHKQ88GE2DQ6GkWSYFOI4lQ= github.com/ghostiam/protogetter v0.3.9/go.mod h1:WZ0nw9pfzsgxuRsPOFQomgDVSWtDLJRfQJEhsGbmQMA= github.com/go-chi/chi/v5 v5.2.3 h1:WQIt9uxdsAbgIYgid+BpYc+liqQZGMHRaUwp0JUcvdE= @@ -259,10 +259,12 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/jsonpointer v0.22.4 h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4= +github.com/go-openapi/jsonpointer v0.22.4/go.mod h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80= +github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI= +github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= +github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= @@ -503,8 +505,8 @@ github.com/macabu/inamedparam v0.1.3 h1:2tk/phHkMlEL/1GNe/Yf6kkR/hkcUdAEY3L0hjYV github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I= github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= +github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04= @@ -580,14 +582,14 @@ github.com/nyaruka/phonenumbers v1.6.7 h1:WmebT8TNEzNaui5QlrGqbccRC6dZkEkYc+MGQo github.com/nyaruka/phonenumbers v1.6.7/go.mod h1:7gjs+Lchqm49adhAKB5cdcng5ZXgt6x7Jgvi0ZorUtU= github.com/oapi-codegen/nethttp-middleware v1.1.2 h1:TQwEU3WM6ifc7ObBEtiJgbRPaCe513tvJpiMJjypVPA= github.com/oapi-codegen/nethttp-middleware v1.1.2/go.mod h1:5qzjxMSiI8HjLljiOEjvs4RdrWyMPKnExeFS2kr8om4= -github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 h1:5vHNY1uuPBRBWqB2Dp0G7YB03phxLQZupZTIZaeorjc= -github.com/oapi-codegen/oapi-codegen/v2 v2.5.1/go.mod h1:ro0npU1BWkcGpCgGD9QwPp44l5OIZ94tB3eabnT7DjQ= +github.com/oapi-codegen/oapi-codegen/v2 v2.7.0 h1:/8daqIYZfwnsHEAZdHUu9m0D5LA+5DoJCP7zLlT5Cs0= +github.com/oapi-codegen/oapi-codegen/v2 v2.7.0/go.mod h1:qzFy6iuobJw/hD1aRILee4G87/ShmhR0xYCwcUtZMCw= github.com/oapi-codegen/runtime v1.4.0 h1:KLOSFOp7UzkbS7Cs1ms6NBEKYr0WmH2wZG0KKbd2er4= github.com/oapi-codegen/runtime v1.4.0/go.mod h1:5sw5fxCDmnOzKNYmkVNF8d34kyUeejJEY8HNT2WaPec= -github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY= -github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw= -github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c= -github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= +github.com/oasdiff/yaml v0.0.9 h1:zQOvd2UKoozsSsAknnWoDJlSK4lC0mpmjfDsfqNwX48= +github.com/oasdiff/yaml v0.0.9/go.mod h1:8lvhgJG4xiKPj3HN5lDow4jZHPlx1i7dIwzkdAo6oAM= +github.com/oasdiff/yaml3 v0.0.9 h1:rWPrKccrdUm8J0F3sGuU+fuh9+1K/RdJlWF7O/9yw2g= +github.com/oasdiff/yaml3 v0.0.9/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= @@ -691,8 +693,8 @@ github.com/sagikazarmark/locafero v0.9.0 h1:GbgQGNtTrEmddYDSAH9QLRyfAHY12md+8YFT github.com/sagikazarmark/locafero v0.9.0/go.mod h1:UBUyz37V+EdMS3hDF3QWIiVr/2dPrx49OMO0Bn0hJqk= github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0= github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 h1:KRzFb2m7YtdldCEkzs6KqmJw4nqEVZGK7IN2kJkjTuQ= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.2/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.28.0 h1:jZnudE2zKCtYlGzLVreNp5pmCdOxXUzwsMDBkR21cyQ= @@ -720,10 +722,10 @@ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9yS github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/speakeasy-api/jsonpath v0.6.0 h1:IhtFOV9EbXplhyRqsVhHoBmmYjblIRh5D1/g8DHMXJ8= -github.com/speakeasy-api/jsonpath v0.6.0/go.mod h1:ymb2iSkyOycmzKwbEAYPJV/yi2rSmvBCLZJcyD+VVWw= -github.com/speakeasy-api/openapi-overlay v0.10.2 h1:VOdQ03eGKeiHnpb1boZCGm7x8Haj6gST0P3SGTX95GU= -github.com/speakeasy-api/openapi-overlay v0.10.2/go.mod h1:n0iOU7AqKpNFfEt6tq7qYITC4f0yzVVdFw0S7hukemg= +github.com/speakeasy-api/jsonpath v0.6.3 h1:c+QPwzAOdrWvzycuc9HFsIZcxKIaWcNpC+xhOW9rJxU= +github.com/speakeasy-api/jsonpath v0.6.3/go.mod h1:2cXloNuQ+RSXi5HTRaeBh7JEmjRXTiaKpFTdZiL7URI= +github.com/speakeasy-api/openapi v1.19.2 h1:md90tE71/M8jS3cuRlsuWP5Aed4xoG5PSRvXeZgCv/M= +github.com/speakeasy-api/openapi v1.19.2/go.mod h1:UfKa7FqE4jgexJZuj51MmdHAFGmDv0Zaw3+yOd81YKU= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= @@ -809,8 +811,8 @@ github.com/uudashr/iface v1.3.1 h1:bA51vmVx1UIhiIsQFSNq6GZ6VPTk3WNMZgRiCe9R29U= github.com/uudashr/iface v1.3.1/go.mod h1:4QvspiRd3JLPAEXBQ9AiZpLbJlrWWgRChOKDJEuQTdg= github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk= github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ= -github.com/woodsbury/decimal128 v1.3.0 h1:8pffMNWIlC0O5vbyHWFZAt5yWvWcrHA+3ovIIjVWss0= -github.com/woodsbury/decimal128 v1.3.0/go.mod h1:C5UTmyTjW3JftjUFzOVhC20BEQa2a4ZKOB5I6Zjb+ds= +github.com/woodsbury/decimal128 v1.4.0 h1:xJATj7lLu4f2oObouMt2tgGiElE5gO6mSWUjQsBgUlc= +github.com/woodsbury/decimal128 v1.4.0/go.mod h1:BP46FUrVjVhdTbKT+XuQh2xfQaGki9LMIRJSFuh6THU= github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU= github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= @@ -889,8 +891,8 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= -golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY= golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70= @@ -915,8 +917,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= -golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= +golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -942,8 +944,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -999,8 +1001,8 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1013,8 +1015,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= +golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1059,8 +1061,8 @@ golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= -golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM=