From c3ec0e8afd24b179e0767e66b4e93ae1b5c1f1cd Mon Sep 17 00:00:00 2001 From: barbierg Date: Thu, 20 Nov 2025 16:50:30 +0100 Subject: [PATCH 01/23] navbar maj --- src/app/app.css | 31 +++++++++++++++++++------- src/app/app.html | 12 +++++----- src/app/app.ts | 3 ++- src/app/pages/providers/providers.html | 2 +- src/app/pages/providers/providers.ts | 5 ++++- src/index.html | 2 +- src/theme.less | 2 +- 7 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/app/app.css b/src/app/app.css index 73a1c7e..bd6e329 100644 --- a/src/app/app.css +++ b/src/app/app.css @@ -3,11 +3,27 @@ } .app-layout { - height: 100vh; + height: 150vh; + width: 100%; +} + +.main-title { + color:#eabf63; } .top-nav { line-height: 64px; + background-color: #2c2c2c; +} + +.top-nav a { + display: block; + background-color: #4c4c4c; +} + +.nav-item { + color: #eabf63; + font-size: 18px; } .logo { @@ -15,22 +31,21 @@ height: 64px; padding-right: 24px; line-height: 64px; - background: #001529; + background: #1c1c1c; } .logo img { display: inline-block; - height: 32px; - width: 32px; - vertical-align: middle; + height: 70px; + width: 130px; } .logo h1 { display: inline-block; - margin: 0 0 0 15px; - color: #fff; + margin: 0 0 0 10px; + color: #eabf63; font-weight: 600; - font-size: 20px; + font-size: 22px; font-family: Avenir,Helvetica Neue,Arial,Helvetica,sans-serif; vertical-align: middle; } diff --git a/src/app/app.html b/src/app/app.html index 2c7dce2..09a862f 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -2,15 +2,15 @@ diff --git a/src/app/app.ts b/src/app/app.ts index 16a99a4..e04f8f4 100644 --- a/src/app/app.ts +++ b/src/app/app.ts @@ -2,10 +2,11 @@ import { Component } from '@angular/core'; import {RouterLink, RouterLinkActive, RouterOutlet} from '@angular/router'; import { NzLayoutModule } from 'ng-zorro-antd/layout'; import { NzMenuModule } from 'ng-zorro-antd/menu'; +import {NzIconDirective} from "ng-zorro-antd/icon"; @Component({ selector: 'app-root', - imports: [RouterOutlet, NzLayoutModule, NzMenuModule, RouterLinkActive, RouterLink], + imports: [RouterOutlet, NzLayoutModule, NzMenuModule, RouterLinkActive, RouterLink, NzIconDirective], templateUrl: './app.html', styleUrl: './app.css' }) diff --git a/src/app/pages/providers/providers.html b/src/app/pages/providers/providers.html index 5d1a3a1..66d56d1 100644 --- a/src/app/pages/providers/providers.html +++ b/src/app/pages/providers/providers.html @@ -1 +1 @@ -

providers works!

+ diff --git a/src/app/pages/providers/providers.ts b/src/app/pages/providers/providers.ts index de4acdb..fe238ff 100644 --- a/src/app/pages/providers/providers.ts +++ b/src/app/pages/providers/providers.ts @@ -1,8 +1,11 @@ import { Component } from '@angular/core'; +import {ProvidersCardForm} from "./providers-card-form/providers-card-form"; @Component({ selector: 'app-providers', - imports: [], + imports: [ + ProvidersCardForm + ], templateUrl: './providers.html', styleUrl: './providers.css', }) diff --git a/src/index.html b/src/index.html index 319da74..34b7420 100644 --- a/src/index.html +++ b/src/index.html @@ -5,7 +5,7 @@ Pyrofètes Frontend - + diff --git a/src/theme.less b/src/theme.less index ecf2541..80e21da 100644 --- a/src/theme.less +++ b/src/theme.less @@ -6,4 +6,4 @@ // Override less variables to here // View all variables: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/style/themes/default.less -// @primary-color: #1890ff; +@primary-color: #1c1c1c; From e1d85fc49eda45583b8cdcf19696d26aedff0322 Mon Sep 17 00:00:00 2001 From: barbierg Date: Thu, 20 Nov 2025 16:51:09 +0100 Subject: [PATCH 02/23] navbar maj p2 + providers add --- logo-navbar.svg | 16 ++++++++++++++++ logo-pyro-fetes.png | Bin 0 -> 12990 bytes public/logo-navbar.svg | 16 ++++++++++++++++ public/logo-pyro-fetes.png | Bin 0 -> 12990 bytes .../providers-card-form/providers-card-form.css | 0 .../providers-card-form.html | 1 + .../providers-card-form/providers-card-form.ts | 11 +++++++++++ .../providers/providers-card/providers-card.css | 0 .../providers-card/providers-card.html | 1 + .../providers/providers-card/providers-card.ts | 11 +++++++++++ 10 files changed, 56 insertions(+) create mode 100644 logo-navbar.svg create mode 100644 logo-pyro-fetes.png create mode 100644 public/logo-navbar.svg create mode 100644 public/logo-pyro-fetes.png create mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.css create mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.html create mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.ts create mode 100644 src/app/pages/providers/providers-card/providers-card.css create mode 100644 src/app/pages/providers/providers-card/providers-card.html create mode 100644 src/app/pages/providers/providers-card/providers-card.ts diff --git a/logo-navbar.svg b/logo-navbar.svg new file mode 100644 index 0000000..d162b9d --- /dev/null +++ b/logo-navbar.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/logo-pyro-fetes.png b/logo-pyro-fetes.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0e305ad820a9fd25cc1cc41b3996c37388fa08 GIT binary patch literal 12990 zcmaKT1yozl)^Bht(Bef3MFJFe2=2v$v{2k3xC9Rnym*ThcPs90MGF)uP#jX+-Tm>u z-@V^^>#gs-vsQ9uPPWb7d-ggr^Gi5bRUQ|c92)=t;3~YA(RjY!K7SH0(VxFt2zW`K zZ?B=UI#5kVOQ?s5iv>W^+|ks6M#0|1%0k1!#N5ky&_VjJ3Vs)03za^P9|oy7El^f3oD3&DD6>eCoK)cT$EOuPlZ#(N!r31^4{CULepDS z%go!>Ovs#8T#QD<6Z9;=-U4bu<7sc_;0p2-rTv#&&~y8r#~idY|003fiqig$sf@c4b^FQ$m%5nU=az+7JhGM-Nx# zf5P-%qn5F7fw)_k%egq()BMZNAjtnTTN zlI5iRH?R5s;JbhGO8-B3Ii8K-_$NvJkEHp}qvuTgr}^Jg;JNePlgPs1dFHr0PZ3}? zQXT-nzNsK1spUDppMmB1;ZOa5hZKPn4g3Z7cbfQY31V4F7TwaZkFvHIy7kt!2Y>DA zr@eNK>us_$iLGp(+uo|>f6L$~f!TrFK`)R4zJ${s-6I|jJov+e8JZOw*nNBvj}9(J zuP^7Uo@Q<<>#q!jD?2)t>*{_rJ0_pRxw#}8s(>wT3at%ai2Q;DlMUv6$D zal5V)ia-Jm?pAwnNnp({f$tbC-}d7L-+)3cdJAa9JoVrYXj4wxhblAPM(dCbuj{0;0@79?z~Q@muwbbVjMUb z#K#=Me5~ZJu7+x(qgk{#YW&NNM)Zx8Y>^kD{)9FiwXVNfvVUO?={!~OFA?A7u z`}n7PoeJ9hsorcGrmC^y4ozh*{(8bk-?)?9*`_?xK;5o64MQ)WXVS}gF_f`(<*FZ8 z%!KFEj&e>F=wb$TKdbCUSyDP13V~~9l?HJOF=5EVmoxmpD>^51Ip;>80UMEr+-w-( zmY7wVPVke-{e2eFsdnILl0WW08jVo9{Un93u#LK&;?N{NnVU}PSv2oafjw}Cv`5|8 z@rKwWZ{}|*UiQ-%`8$%q9}yrXal9d%j+=k{Wk|$;U_8x$`{E|}P{Xc%OA4W8tMXJQ z+U6eC!y4cC`x4K9r~LfDnQj#egg70j^I~F5R%jclWp_4DAd&HQ-dI-rp^EFRg)@UU z*?xRXcV^{QtHQR^3;Ef01J&fFli*Zjk6NmCm1_=ehqY$l3Y;MnNiXafiJ_JAY}l$% z&~y0v6^^p+(Ezdh;Z`jWrh`gJFK(s*=`4%yM?BSkQ_HSAj%zovj$S1s>Q}<($W+Ui0j=Jtv}q<~k_?1#@iU2mzS#?9nFYzvGd3 z`WDWR;2CwMZ9He;^$mSP56JJM8qtNmo@BBlyF;3$bKb#tm56f;28X83QhGKc2L(-x zb{6g@A|p`krFL@`cy5f&eWJn({6X)ST!T(cz+(I>E*k1ivSa>u5>FV%!?EJ8#)r2) z(%74TZ?jSJ?@9lb;{Qm+`5Doq=3d+^7AyJsbN@_%XQ;b=ZNazJckCzbfwvcQB-M-0 z!RH^6QVh$!Cm8l)^{Wr96$9Mou0{lkW1=LJB?v3qO)vfi=nmy!%ow1)BsJS1E}%yD z?IcAX$7MLP@A3nli@$3JzcdAqYjSLK#OpSdqi))JP8aV-1pe|GJR5wwQ1`jP)@|;6 z@i~Byf>irlU;UIB*if~>!|LfzsF&A)Y{5y+N%{k@zUF~6-l8fGJ8nd}W{2&zR0>{f zV-Ax^?1WsfOTQhFJb_JO+w;C?IMtnK}UM}G?(@RqG0&Trkg)GEz;38>)W4EgN$O*DkORF`}`v&CmHful3{6de)WKSMG?ZDo44WU*q@>y7g_<5<(4 zvjP>MWs*~hG?Gc#`evgFaC;col5EzC334s(OV~_sZ{m#5w4VCw(}dk{xCGYlNtu<& zlq!2*w4CI6S~3=({-;bSX+*oR2jzZ~`r%`CkR&uPCA0rffTjqK<)&q{Q;gt*ZbJOQ%1+%?dI`6 zyWgzqth$eT;OIWIj|MA&ORM@Vp!@C#x0oU2eT|2hFU>O=a}xmPQetORjX8kGiamrS ze+K&k0XN~^z0uT@MA!;+CE0DNor1`ZXe&AxO@C6c8uhs#VQrv*&WVBidgYYZ9T9k) zaWx5}wnfdlP9(^y#p3n>izskA3H4vD#a^Ukw;xr-b)zp>rJL(Q?dVCkB0$!w<9bX? zq8<#`H7G+nD);VvycI>!ZLx<8rTN&U=km)N?`m(r-^yJ4;mj=4#PEuh**WlGG*Ca1 zJ^RXqseE*=$8m!xW(=vbezm2Lq*fVepN%aeduu^@_z(M0nhvK6=a?Wqx|#Og_s6>l zJjXm%@pFkQ0=1Ytl=g)Px8%M1B?^QWDnLIp@yOQn)ny30HSP>`SyJa-BW!|nrM6LBfs+g}VY0pG*o zy-#B?Zb_Kt7mYPokPQ;F%$9V4HjIVuPugA-6I;B&pQX;By8>h{Aq8CQ_&7U|mSvPZ zI!V-EgIW8$FY}*7kcuz62Z*t&$LR2-jIHkh z{T%SG`vYD!oy5Jg{_!>UnMc&I)XL@J_fB<=K>Eh=?I4(pG10rF&wNwa? z-VGg`+D|_aZg{ge-~>Jqe<6h05W^RrY%4izJt6p+NMA&u&znemZ`uq!zzltyPt`9U z0P-iUXbLs-U+6f3S$nWhhIBNuvl)d1@nx&6iWL%G|?SMi;c*aV73GMg} zaE^)W##6PsU<&!uyajmNfF2(Jtc3~j`YsA2p zWov0fD196bp;m{gR6ZIMtI?PiloF5+zfnacu>>F_J+_R9+E) zpjw`8AJ5U2g0)KS0(2&>06Smd9VjG@EU+EC>qFV|@KNy0fx2nd3avj@mdkTvqBnz*5(3Svim z$r(flk`@Ymxlf~#iN(d$4^w`Dg&hSzd3sC5UoZE+bGtdm$j!*9EjjaXRB`2ci~)2 znVdu~J^Dm<3T=dt7H-Tg^Lc;Kmo~m) z@MKKAS7c8yMq<=m+OAKd>8;bjJ?7+*(_bd#!Rst1BL$dz_m`AV?H`@3de@?VWF?j( z$+|f+m5xsIbk6O)toVTG*tXwhheYQh&psl1qj5Z$xzNZaVR)PVjyw#KRifuFo}5yk zMIQJDXVJ`c+v>#Fo+kfe=7z{#_JTd4l>QkBrV!C`x_^P}Aqy}T`q8+T^AzznE7in( zlI&|7h^Q(C?WbDWtX(5A)2%U)?wg1~F+GmV3j`-AVK@uxsl=GUCp?P>_lV0<2<^BU zJyX&kv8Lil{*;hk|^4qlXztPKl-sKkB(IVI|9% zwAlW-G%Y@FdGY543WvpEY4R_$yu-X=S-!jE#GJXZQ_CpBUc%8UZ zAnN!dYP6r|Y5V4f4I@Ms-J>iOC*OMvz_?9fL{1Gg?WfN<u-+9y`E=X#jf4qEbq_cbGFQS z(T-wI;tWM+y`|jBkd+rOAITcsh}jRw)Ln+&PsvDBI(NkPiFDDcwbAU|q4CZ~^gBGs z7EOA3NRxc{$!*{;G3;8%T%z3#+>}d*RT0{Vpu!>}+S1ho2W!hNMlpIODSw`~kU(EH zNjV!`Z6?_O$^!>HvjtSe`iF=a0p7fdrQswGn1}SaxdSG@%YVi_Qbl+-VF}n+<9(7X z(w_42>n(xo?jEhBpD|a2DoCtoo5KwmHBAdt+CnL|^&u{H7O5ECmNH`36PUiwYi<4{ z>t0_0)}A!1iX!I&+mXT)W8P9bBMGs3v`h%;Vw|;|WRjpEf&54!LMYsau8PC9uw`C` zEG4e5iW&c$A9#wWlVVw}`kXt=nD0gPDgP16?~Z2Gb;yP~IE$jd=MHJwlL`T}^c=c5 z^Z+J#L16?NUm$ah0T~8=$8*0J#8YZ63`uannZ4E$^CV_;8vBD07@QTKb8Uok?^FcW zSiYX4!WS3-Ef<7$@U}O`7Zu?zmEJ)*eb@yIi;KrVr#M?GZ zlnAV!y&z(t#%N4>+CwVz@j{g_&0sq2m653Qom?+cW>^Pl{qdcF<3yU8({1yw*RNO#L>%7>x(%|7-^qm zBbn+3yKdl}3>K(Eg*jS2NMjwgsROqAw*#+>k3x9^Iwm10l~a-B`s@}?+{)^b*L zqw}5DM5`4mjW^c9i#rPQ3@!MLe&znGO@i29Dw$1x(2*nEPW`+pw{QT&*gf_*$r$yW z=(YT^^c&kgf2BsA-0N^nVU_7G?I^{*pM{GCl)qxXQKX4A4j*W?kE3KFLPB zFP!^&-ZB;IO3<-bL~UvEt6P(hKW~~^H-u?i^V7L=-H|T-4jaz)$3p5%_>KC6Dmt}(U}2NlnK>A!z)|+faORviuK!&aNL}W9|VdHy=ddX#L?QZQLc`C zq(l<;%&fF&`OCa^8sP+zs^NLO6xiolngRHyb-u&sEf;LE1B??Zqd8{>;bRY4l#!az z8{%}im?S8N7XSoqe|W=K-^7tg_rVw7q`Dgd8{j8=7)%j7yq4@!m9Cq7>P43|2W+%c zVCFs9YP4PM!lzTLeVf}*p>W!o=?cea!DvZTxIS>Z9uPJ@K(cxLIfY#nj7brilRrMBeE^zm{s zi37q^zo3*B!Lic(WUPT7?-n`9cyN0nQ$vV-p@eUR4-F@H!2~Z1A=B0P{xaVve{8nG!-3E1DGx;5N^YM`yU=S`0FAig30o^1(qCIvX{4Me`ux9c7us5gXp zp=2s3&?ItgQW2%Z>A-qj+vmCuSiWtl&Y!0Kbo5_qR#kD1ruemKcCn{?+WW>Ql~Unq zJs|V-9QEHrd`yc^^|?Dz_g&IAM3@*te$DqVk0yI!N$NBMxhaEJw>Q_vsjsitN!mG_ zk#I|?WW%0%b8e3`V$+oEGQHk?m0ipr3rrXiH%8(2Um&}GN-3Y}Z#;=29YDH}Wy)Pv z7@d(yTcbsMD6HBRt_#$#b**8r2=FD@JErlws|Or2Y}Z&uLdfip2OhCmm;o$*PJU48 zg}S}tGnpp-EkE*Wfn@qvjKosBLl~PR=gwnbm1@ivm^>0MBjXEZ4nfJ@nl2x|C`=jg zP_wreLb*H_n4hZ{Pm46wXnmsp(QL{;kD1#W?mL?f^Kve8*ER)ac{6P#$x=uCY3l2( z`Mw`uwD3~g*T3w*UZ*c8XYzEQ)6q2Eel$Riy4Q=`VGrrO?98_mP82(;&XMk18*4S5 zoqp4i;hb9J<~S+q0mA45>X?v7j8lzF6|Y%`txxtbJSw{C!TvTRfs5n7qU>JYPlHsS z#%ry^x0_J6I#6+3tT?BQf1eTdGHj-(#9Mg|B1N*}oB((~D3GX1!%j7>VR2g5+r1^+NRU4!6YA=kB;;+U#XYTjAxuG@tc=gbklB%O zSM~r9bGVPO@=dyb{T#1mj7;siUu;?xuPjx;m%8!yJ#c&>#PCK-y5B{-GP3V+@Z55) zK(`A_(rfkvQjcuU)b;c#JJGQnGm`ULXL-MWO0F#P+DSNC3A4^E7x;bkGLm%!F{ z9}^Ne$z2Nkz8|#hAHR3LXb77dMV-Nr3*-kHivnkqBY=P_fnqfqK zWo|}Tm&iWyH}>nSi5h_K?kv`bN2Y9?&b z@~F2NVTgL(pVEutLBu*`O1ptE{z9&G(-?3;E(1P6JIZV9fYLA}#`ZVP>8#yU)I(Ec zf%@0Rgzt3sT5$Z_7_#p$pK4fmeHnP$=^VP`6yF3i_@!$HE*yhqsD~XHbS|_3{>^!u z)9aqB)?88BUSu(4cSTKF?z}xiA_+Uz7~A~l8q(=&_Cy}gS4uu*=V-taRC4A$dG$K% zUmbl{Rz38YQJkFk=O2@PTw6T=l!=Wi0Wy1@pDf@|=8o0}KT&Mc!Z|3NEXDmUPQ3#L z+OMrf>yiR*MzHl25=)`q(l+cPmz@&E;b47!*`oqvI1V39U>})2;JAh*Gf!pos0u!p zo*j*>%kf+22_E(qcsW+wN6sN5DbIW%+ZHCngL8%Y(=li24{7MillH3a`a0M^5B-)A zwHYLx6NyxSX3kY0+F5!IFuwt~&}9_ifj&tVz3cgg=sG%}%&PXK>}(!VCol!*nQ&oe z_$XAv{xYQ~Ru~0I{dAQu8;Ck6qTnibCDP>&ht2t7eQ75hpnha_h*(Yuol~XjDyY72 zl&)7&_pUTHDKC>|p1&&Kj|6&B_CLg`fjje#mmK*`kbk*;erv6@@u**@Wxpg}898ov z^W(V`(S1jAE}xVvp`G?`mwq@%wr4<8uHA2dhs-H3b+H}iWITwJjNnEu9#}s&5#0dZ z#%gqVgisn$s%xQfez8@)WF0P}dz15bbTw1Vxh*1 zTKf57oYlB>(wSIR45N`#D~*f7hJTf>L<3Gi`zr*yUQ;B0K^yvgdMWoIJoLdPY+V{hUfX>phxvv`Q@Q%>E zSry6)We-AOCV>&2n2H;$Jmuud_ME#PgBV#v35eub&RKiFV%HZUPfgxCF$piBBt7+; zBY@!u0QS0oE7dls#~T|m8H2i3Mv0M;Mf5#3p{JfH&es^p>Lh9gh`H&N-H4R3HO>t= zkXCL&{iCXFfTQy*??L-ik6D5bnjZkDNMB15PHK4(V%(_WUSxIIM|z~ZRhr-P!8Cj= zpeWeK-7Q&yV`!Ra@2t{hGdl(N>Y+Qh^@|va&ZL1|-epVN?J|a_wv!#-!CMBWH|LK= zIv=a6UZ2ai*ZNDJ$s?a*%bz5=vhA^7&=p^%y%!x_(RBnIE~#@*DxVraT{PxzgHz18 zvB%l+<14t+M&ouRB#KA@dnmJ~Rok{ZFs17XvM0Z{Gd5}itVJm98|iPDaH9uf|LPh! zMf)xG94dl_&9}(Pi6VfnsFcBFfbmYu?aA`m`wbt6G|~}-5ziUqoOD^YMAyc1^UJa4 zonIuucEIW4>%#L)ti~D;e!+3IS=(VqM*4eS#^hO|)rD=GmaVT!RLlW`Da~2P8?d7ps%nhb(GTTIA3tpiw2-I=X>Wpk&@e|R3mz4LmUijvb z6ShC&iLX&7Z}!J04_b7F7v_`|!Zb>V*rEutnEz&*;BsIH ze*bB2&jcU&MD5t15oiqkra3@MH2UK@zNdHr%Q<(LjhUft*iht%CSl(uVH`%Ns!Q;f zPpg3jZ`&W9#jfj1eBjLg#KQ1r8ShJ(EQcKAO7gXG(Hn8p-uk)|x%<UF z-l>`Q_C&fynYM3d#&2rX9aQFV`%y&ep#$IU@IKZEXDB88-Jn;uXA#aLYC--<3Rp?8 zKE6Ty+;3X_^m!wBmnn%Gw1CxiZSuTI$&LkWa+Uq0&>?M|N&Q$)1t)%@#t;C9Uo{;OYg|C3yXcmNk0k4en{!MwSA*$LzL^%a;Puc}wc zliGdV40DDON6-j){ULil?|6Zl>qH(0l9nlJJOn}dWlLiBc8xGzWSmfm@xI0E zxOzEIHF9D^utM;`8x~q|aD|O)erR$M*(RoNN z+Mr_!o$$1#t(UM~#oQtOKm*JS?Ws@d58^2et?iDE5_NPHqwa8Th9qYaMVA0VCQ)S4 zzZQXowI*17b@CpMNAO%Ss+3U;+odSTh?8VusL43vLDgOR{RD!>MxnyNt0Ca5N}J;nNCw_Bv%CrOJR6~JsOyFLshVE z?~(erUR7n(|Z`(V&NHg(2dxUr!smhb%XG}$u3_L6}D>NDwX z_J6-ufS@}GBr#@^uCH#3@JwDJmngr?gv=Aib{hUu3z;bJUYFL^}V#>CX+JGo9Xx?qen zi3QUdy?a%oGlcZFe086YvInaIT*{oetKqe2LJ2}y&*vg7=#dt#KePpTX961wUp+eL znMR?h-ggBqClTm?@gp(}W?v84?bH=ai>lnVHj@+eAQJ^;a2V~#Jm64Tm_uOlqe6XH zB%8gFKN%oa-ClcFfK%<`z9ItL$5aWujFsrRCr$@cV5^owvBz&_AlU4|4Gt3>y0YzRBP(bpBHd#l94)w#aAaVn zr(K{p5F>bk3G@1qfo>--^ro6HR3_!;k4g4!LYIiP*NG?0we-1@zhALm6Lwc55K< z5GDkYG8H=TgM`O=NjzCS%BmVW47tmRrZqN;j1vr$li%m#WT7}=*s74p7+}#|_XiKB z>^0J7d(bvb{KlGn&oY{=UIObpi|ca;rn*gw|C>xe7}Mhs9PlxX(^#*%0MNd;t^+dQ zFr=K5_>>MGY-p;R21fdE*mCHVOgSn@T&?y+VziKQ7(OEdJWu{XheVP-pIH9yu9Buq zWK_fD$lriN1`k;;K!U8iErFu1>p$=jQFU*QgOx(N_Ehqc@)XdG=YJ>y#4?6+4winNs}v zln@P0+nX&7gv@eoYwkXmZhr|wc?Kb+W{)#}X$f}~o=tCi0-o*-A~9y}@WZk$ZGHbl#r}_(WYz^d;RSdF^rzyuCmu%;dFee7 zZqu*eH0F09r$&O8+Q5dyuPkGekS8-!NCw&^hQ^|iaB=#W*O3t7o0)Gulzl^(`76U$ zRhNYD4SWAM)vBrhMb$AEenn}wj@jNg8m)3lQn2iEPSAQKTt9*f{hDyY7 z=C78ym5MshD8I5-D<3EL%Zo|h9Sbykaol*pdO=(=)T#HCwq}v2m@g9qX?xaqJ z)G-=5Hn*EM2E9Ku_nVdhr5N6-V39?D#x3->EVundhTH`>c5;Z^^p4UA6TKxsuVs%1 zcr!m_T%bu*xcYxZUZ1w{qaLP>xG9F{SDc$GSEBd*5gK%M$ud+U;NXH>561s0Y|Z+~ z=gmBLl0l`EQRYyYJi^ngCG4h{1X#r-^p_`L?uxvA*g@S|HmTuMGig9>e;W|32S~2F z_=!58A8GOGdi3+z9WgNJEDgc^tQA{?Hq^Nkr8f3sz__PYsM(A#LrXd~SodG>G_xIXy>B7YPTLGCSHxoHY z!VEiK{GGafGZ4Vzj4o#AiRyE>7pespfI^3YOxa}vA<<2-2}5Wih)=yQ=ToQB_J;)% zidB;&&y`#pLLedOPI}1W_Cr=dA5`h*OLnO4S2Qz@{IP?sZPE9%4xtI%^ko~g10@3P zA~(J;b@eNy=x>_|8{?;D8ca@W0m~v|V6u}Rs|svlE$c+1!vl{f1jwMjum200| z(NXyooA+-;7JBbQ2aAx++C|=^sch!x@J%@RN00?zc!w4gtznF*IG2S=5us7X7?ovc z5DPsjh3?e}Wby1!o|sdM6&Q=zuRav!t`pHLmZRONYTl^<8@)!?T{jrGNXXTHI~4^M zk&nFo`@H+B@aGjTd&wXv`BQq*>Z}{wAlG-CIC)Y`kJ_@TBNw`Ld{qu~MxBn~Vu$Yv z$gZy~I4|V9c6gGx8-k>J8>c=x(9Q`Ea14evbuBZq)`xEKp1FvI=BmI&7Xlm_n?$*O z9GwnwtT`ThNmb<>!Hc|K>@94vX%i!C?I`Yfcl$ujx?)JUu+8;#mhBr)bxIbI>}!9k z)RxldRw3EC4|mHMmfdU-aSD>_FrVnRZ8Oue*)=pjTygVMzc*-khkBGh7Jj81>0J~} z3rIMK)GftZd(SaO8fDHjwT%Obw4&N^ zxr)KJ&K*ZVds9DneG^TjE#A15#OA^3CMst08~>c~R-6%`Z@ngZs(rH^UAtQkWkvF< z3uoj0YIIu-S*)7U1Nde_?$g)ZuOUUhnR&(h^|4zHBg#F-Ueu{u5snIZ6fM5{>**cg zDy{^8vP77$Mw~qusdz`)l&IXp*F|=hI*8$heXf0_npkd%9%>$F`h4>_D+|?}**&RU zM2$Mx^5s2&FZ8W)2z!Tm&7;qjD3K^_!QwoHixeC*(Lj=+mW&KwA<$h^Y%stom;O0iRm){^x zFdqA}OZY-!?2DWu-i9+W$%UTIgt_|8mjmsVq9yhokhoa zIFN7fkDJlDDKy7D9x9k?8&g7y#Nr$s!U{2gW1eSf%P_)KyDV5tj-23x6oo$ewmyzyRXdO`}(0!o|=gn9`XDUQI_GV7_*33&+(~=^8ppU!702D(BL- zs8Sy)!QoyMvpLhapR7=Ug}E^=_eA%S89KlV>b+1XbQ{HRi{o|X^1dQ?kEB>o2l|E7 z?38;tb>*Eq25SmR=J?xyf0_Hn*zPMo*A>RSa}J*N6yQ^=$SHHydHH-|l{P!OwNFnX zJEc2GmzdmLA^S)%t*d@0V|G&0v?W>jfoP|L2dQVg-UzvF$hByN1@{8h@3lK6tg)3t znRj!m$vyj+u~Ym_5c|?$F)(&Ae>(L|sqwnXeWkk(pGy?c&yR~rACEuAdxz?4$8=5v z&q3ehxA$g$ECMur#9r=t5(XA)3LL%-c|=&A<;a)c%mg#3c>ReOPyl$#FZTfm(@@W? z8$ONN4Zkizdz&g;R;?$DK8FM^@=n?L>0~I!_IGIQmIcW!S7`KfSnj0xNA+P#XztdT z=A!nT5&Nd&NN!s4s;8`7y^a;{(Dz_|aJKv~ec}g8L!LJB>cm&@w(gv~58yp$(rJlr zn6XTWaWn(gVvx-|_{d$BT+Y}ty#-=AtQ-$pjbBWYRP9tOQk^7Z;?F3xlf%d!_a=<} zs^KS?A*f)x9yL6@{-v3zCaNggTs7>K=Nxh$W7scyA>w&PBh|CB%1f2izGrZeOda@a zg=5w6=Es%9L!0M`#2D9a>_%rGiL$1ap~xXOY)vZO5B(#D;Y89i*0h|KTxxPW`J)iz zwls8xSFH4dd4z-Q&Ncx;`S~^4RXUSzWqyNzwI%nKuLJUocHJuEMWpU~16wvWd@8%1 zp`@bGXpzUv@?wKI5boYR{T;b`Iy#MLNp|n^ zRW>x)db$(uYyfc{{wb`0`N6N?66^K0-E1kB2v*jd4y>6v`<1m{6?H?wuQ?3c>dHLp zxBllB{eR%MC(ol^iX`QD2FU$0+UGUF|JD7!mk8hFem-Gy0zOzzu?$yF)Bp325(QaR KnF=Z6!2bmXoAt>6 literal 0 HcmV?d00001 diff --git a/public/logo-navbar.svg b/public/logo-navbar.svg new file mode 100644 index 0000000..d162b9d --- /dev/null +++ b/public/logo-navbar.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/public/logo-pyro-fetes.png b/public/logo-pyro-fetes.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0e305ad820a9fd25cc1cc41b3996c37388fa08 GIT binary patch literal 12990 zcmaKT1yozl)^Bht(Bef3MFJFe2=2v$v{2k3xC9Rnym*ThcPs90MGF)uP#jX+-Tm>u z-@V^^>#gs-vsQ9uPPWb7d-ggr^Gi5bRUQ|c92)=t;3~YA(RjY!K7SH0(VxFt2zW`K zZ?B=UI#5kVOQ?s5iv>W^+|ks6M#0|1%0k1!#N5ky&_VjJ3Vs)03za^P9|oy7El^f3oD3&DD6>eCoK)cT$EOuPlZ#(N!r31^4{CULepDS z%go!>Ovs#8T#QD<6Z9;=-U4bu<7sc_;0p2-rTv#&&~y8r#~idY|003fiqig$sf@c4b^FQ$m%5nU=az+7JhGM-Nx# zf5P-%qn5F7fw)_k%egq()BMZNAjtnTTN zlI5iRH?R5s;JbhGO8-B3Ii8K-_$NvJkEHp}qvuTgr}^Jg;JNePlgPs1dFHr0PZ3}? zQXT-nzNsK1spUDppMmB1;ZOa5hZKPn4g3Z7cbfQY31V4F7TwaZkFvHIy7kt!2Y>DA zr@eNK>us_$iLGp(+uo|>f6L$~f!TrFK`)R4zJ${s-6I|jJov+e8JZOw*nNBvj}9(J zuP^7Uo@Q<<>#q!jD?2)t>*{_rJ0_pRxw#}8s(>wT3at%ai2Q;DlMUv6$D zal5V)ia-Jm?pAwnNnp({f$tbC-}d7L-+)3cdJAa9JoVrYXj4wxhblAPM(dCbuj{0;0@79?z~Q@muwbbVjMUb z#K#=Me5~ZJu7+x(qgk{#YW&NNM)Zx8Y>^kD{)9FiwXVNfvVUO?={!~OFA?A7u z`}n7PoeJ9hsorcGrmC^y4ozh*{(8bk-?)?9*`_?xK;5o64MQ)WXVS}gF_f`(<*FZ8 z%!KFEj&e>F=wb$TKdbCUSyDP13V~~9l?HJOF=5EVmoxmpD>^51Ip;>80UMEr+-w-( zmY7wVPVke-{e2eFsdnILl0WW08jVo9{Un93u#LK&;?N{NnVU}PSv2oafjw}Cv`5|8 z@rKwWZ{}|*UiQ-%`8$%q9}yrXal9d%j+=k{Wk|$;U_8x$`{E|}P{Xc%OA4W8tMXJQ z+U6eC!y4cC`x4K9r~LfDnQj#egg70j^I~F5R%jclWp_4DAd&HQ-dI-rp^EFRg)@UU z*?xRXcV^{QtHQR^3;Ef01J&fFli*Zjk6NmCm1_=ehqY$l3Y;MnNiXafiJ_JAY}l$% z&~y0v6^^p+(Ezdh;Z`jWrh`gJFK(s*=`4%yM?BSkQ_HSAj%zovj$S1s>Q}<($W+Ui0j=Jtv}q<~k_?1#@iU2mzS#?9nFYzvGd3 z`WDWR;2CwMZ9He;^$mSP56JJM8qtNmo@BBlyF;3$bKb#tm56f;28X83QhGKc2L(-x zb{6g@A|p`krFL@`cy5f&eWJn({6X)ST!T(cz+(I>E*k1ivSa>u5>FV%!?EJ8#)r2) z(%74TZ?jSJ?@9lb;{Qm+`5Doq=3d+^7AyJsbN@_%XQ;b=ZNazJckCzbfwvcQB-M-0 z!RH^6QVh$!Cm8l)^{Wr96$9Mou0{lkW1=LJB?v3qO)vfi=nmy!%ow1)BsJS1E}%yD z?IcAX$7MLP@A3nli@$3JzcdAqYjSLK#OpSdqi))JP8aV-1pe|GJR5wwQ1`jP)@|;6 z@i~Byf>irlU;UIB*if~>!|LfzsF&A)Y{5y+N%{k@zUF~6-l8fGJ8nd}W{2&zR0>{f zV-Ax^?1WsfOTQhFJb_JO+w;C?IMtnK}UM}G?(@RqG0&Trkg)GEz;38>)W4EgN$O*DkORF`}`v&CmHful3{6de)WKSMG?ZDo44WU*q@>y7g_<5<(4 zvjP>MWs*~hG?Gc#`evgFaC;col5EzC334s(OV~_sZ{m#5w4VCw(}dk{xCGYlNtu<& zlq!2*w4CI6S~3=({-;bSX+*oR2jzZ~`r%`CkR&uPCA0rffTjqK<)&q{Q;gt*ZbJOQ%1+%?dI`6 zyWgzqth$eT;OIWIj|MA&ORM@Vp!@C#x0oU2eT|2hFU>O=a}xmPQetORjX8kGiamrS ze+K&k0XN~^z0uT@MA!;+CE0DNor1`ZXe&AxO@C6c8uhs#VQrv*&WVBidgYYZ9T9k) zaWx5}wnfdlP9(^y#p3n>izskA3H4vD#a^Ukw;xr-b)zp>rJL(Q?dVCkB0$!w<9bX? zq8<#`H7G+nD);VvycI>!ZLx<8rTN&U=km)N?`m(r-^yJ4;mj=4#PEuh**WlGG*Ca1 zJ^RXqseE*=$8m!xW(=vbezm2Lq*fVepN%aeduu^@_z(M0nhvK6=a?Wqx|#Og_s6>l zJjXm%@pFkQ0=1Ytl=g)Px8%M1B?^QWDnLIp@yOQn)ny30HSP>`SyJa-BW!|nrM6LBfs+g}VY0pG*o zy-#B?Zb_Kt7mYPokPQ;F%$9V4HjIVuPugA-6I;B&pQX;By8>h{Aq8CQ_&7U|mSvPZ zI!V-EgIW8$FY}*7kcuz62Z*t&$LR2-jIHkh z{T%SG`vYD!oy5Jg{_!>UnMc&I)XL@J_fB<=K>Eh=?I4(pG10rF&wNwa? z-VGg`+D|_aZg{ge-~>Jqe<6h05W^RrY%4izJt6p+NMA&u&znemZ`uq!zzltyPt`9U z0P-iUXbLs-U+6f3S$nWhhIBNuvl)d1@nx&6iWL%G|?SMi;c*aV73GMg} zaE^)W##6PsU<&!uyajmNfF2(Jtc3~j`YsA2p zWov0fD196bp;m{gR6ZIMtI?PiloF5+zfnacu>>F_J+_R9+E) zpjw`8AJ5U2g0)KS0(2&>06Smd9VjG@EU+EC>qFV|@KNy0fx2nd3avj@mdkTvqBnz*5(3Svim z$r(flk`@Ymxlf~#iN(d$4^w`Dg&hSzd3sC5UoZE+bGtdm$j!*9EjjaXRB`2ci~)2 znVdu~J^Dm<3T=dt7H-Tg^Lc;Kmo~m) z@MKKAS7c8yMq<=m+OAKd>8;bjJ?7+*(_bd#!Rst1BL$dz_m`AV?H`@3de@?VWF?j( z$+|f+m5xsIbk6O)toVTG*tXwhheYQh&psl1qj5Z$xzNZaVR)PVjyw#KRifuFo}5yk zMIQJDXVJ`c+v>#Fo+kfe=7z{#_JTd4l>QkBrV!C`x_^P}Aqy}T`q8+T^AzznE7in( zlI&|7h^Q(C?WbDWtX(5A)2%U)?wg1~F+GmV3j`-AVK@uxsl=GUCp?P>_lV0<2<^BU zJyX&kv8Lil{*;hk|^4qlXztPKl-sKkB(IVI|9% zwAlW-G%Y@FdGY543WvpEY4R_$yu-X=S-!jE#GJXZQ_CpBUc%8UZ zAnN!dYP6r|Y5V4f4I@Ms-J>iOC*OMvz_?9fL{1Gg?WfN<u-+9y`E=X#jf4qEbq_cbGFQS z(T-wI;tWM+y`|jBkd+rOAITcsh}jRw)Ln+&PsvDBI(NkPiFDDcwbAU|q4CZ~^gBGs z7EOA3NRxc{$!*{;G3;8%T%z3#+>}d*RT0{Vpu!>}+S1ho2W!hNMlpIODSw`~kU(EH zNjV!`Z6?_O$^!>HvjtSe`iF=a0p7fdrQswGn1}SaxdSG@%YVi_Qbl+-VF}n+<9(7X z(w_42>n(xo?jEhBpD|a2DoCtoo5KwmHBAdt+CnL|^&u{H7O5ECmNH`36PUiwYi<4{ z>t0_0)}A!1iX!I&+mXT)W8P9bBMGs3v`h%;Vw|;|WRjpEf&54!LMYsau8PC9uw`C` zEG4e5iW&c$A9#wWlVVw}`kXt=nD0gPDgP16?~Z2Gb;yP~IE$jd=MHJwlL`T}^c=c5 z^Z+J#L16?NUm$ah0T~8=$8*0J#8YZ63`uannZ4E$^CV_;8vBD07@QTKb8Uok?^FcW zSiYX4!WS3-Ef<7$@U}O`7Zu?zmEJ)*eb@yIi;KrVr#M?GZ zlnAV!y&z(t#%N4>+CwVz@j{g_&0sq2m653Qom?+cW>^Pl{qdcF<3yU8({1yw*RNO#L>%7>x(%|7-^qm zBbn+3yKdl}3>K(Eg*jS2NMjwgsROqAw*#+>k3x9^Iwm10l~a-B`s@}?+{)^b*L zqw}5DM5`4mjW^c9i#rPQ3@!MLe&znGO@i29Dw$1x(2*nEPW`+pw{QT&*gf_*$r$yW z=(YT^^c&kgf2BsA-0N^nVU_7G?I^{*pM{GCl)qxXQKX4A4j*W?kE3KFLPB zFP!^&-ZB;IO3<-bL~UvEt6P(hKW~~^H-u?i^V7L=-H|T-4jaz)$3p5%_>KC6Dmt}(U}2NlnK>A!z)|+faORviuK!&aNL}W9|VdHy=ddX#L?QZQLc`C zq(l<;%&fF&`OCa^8sP+zs^NLO6xiolngRHyb-u&sEf;LE1B??Zqd8{>;bRY4l#!az z8{%}im?S8N7XSoqe|W=K-^7tg_rVw7q`Dgd8{j8=7)%j7yq4@!m9Cq7>P43|2W+%c zVCFs9YP4PM!lzTLeVf}*p>W!o=?cea!DvZTxIS>Z9uPJ@K(cxLIfY#nj7brilRrMBeE^zm{s zi37q^zo3*B!Lic(WUPT7?-n`9cyN0nQ$vV-p@eUR4-F@H!2~Z1A=B0P{xaVve{8nG!-3E1DGx;5N^YM`yU=S`0FAig30o^1(qCIvX{4Me`ux9c7us5gXp zp=2s3&?ItgQW2%Z>A-qj+vmCuSiWtl&Y!0Kbo5_qR#kD1ruemKcCn{?+WW>Ql~Unq zJs|V-9QEHrd`yc^^|?Dz_g&IAM3@*te$DqVk0yI!N$NBMxhaEJw>Q_vsjsitN!mG_ zk#I|?WW%0%b8e3`V$+oEGQHk?m0ipr3rrXiH%8(2Um&}GN-3Y}Z#;=29YDH}Wy)Pv z7@d(yTcbsMD6HBRt_#$#b**8r2=FD@JErlws|Or2Y}Z&uLdfip2OhCmm;o$*PJU48 zg}S}tGnpp-EkE*Wfn@qvjKosBLl~PR=gwnbm1@ivm^>0MBjXEZ4nfJ@nl2x|C`=jg zP_wreLb*H_n4hZ{Pm46wXnmsp(QL{;kD1#W?mL?f^Kve8*ER)ac{6P#$x=uCY3l2( z`Mw`uwD3~g*T3w*UZ*c8XYzEQ)6q2Eel$Riy4Q=`VGrrO?98_mP82(;&XMk18*4S5 zoqp4i;hb9J<~S+q0mA45>X?v7j8lzF6|Y%`txxtbJSw{C!TvTRfs5n7qU>JYPlHsS z#%ry^x0_J6I#6+3tT?BQf1eTdGHj-(#9Mg|B1N*}oB((~D3GX1!%j7>VR2g5+r1^+NRU4!6YA=kB;;+U#XYTjAxuG@tc=gbklB%O zSM~r9bGVPO@=dyb{T#1mj7;siUu;?xuPjx;m%8!yJ#c&>#PCK-y5B{-GP3V+@Z55) zK(`A_(rfkvQjcuU)b;c#JJGQnGm`ULXL-MWO0F#P+DSNC3A4^E7x;bkGLm%!F{ z9}^Ne$z2Nkz8|#hAHR3LXb77dMV-Nr3*-kHivnkqBY=P_fnqfqK zWo|}Tm&iWyH}>nSi5h_K?kv`bN2Y9?&b z@~F2NVTgL(pVEutLBu*`O1ptE{z9&G(-?3;E(1P6JIZV9fYLA}#`ZVP>8#yU)I(Ec zf%@0Rgzt3sT5$Z_7_#p$pK4fmeHnP$=^VP`6yF3i_@!$HE*yhqsD~XHbS|_3{>^!u z)9aqB)?88BUSu(4cSTKF?z}xiA_+Uz7~A~l8q(=&_Cy}gS4uu*=V-taRC4A$dG$K% zUmbl{Rz38YQJkFk=O2@PTw6T=l!=Wi0Wy1@pDf@|=8o0}KT&Mc!Z|3NEXDmUPQ3#L z+OMrf>yiR*MzHl25=)`q(l+cPmz@&E;b47!*`oqvI1V39U>})2;JAh*Gf!pos0u!p zo*j*>%kf+22_E(qcsW+wN6sN5DbIW%+ZHCngL8%Y(=li24{7MillH3a`a0M^5B-)A zwHYLx6NyxSX3kY0+F5!IFuwt~&}9_ifj&tVz3cgg=sG%}%&PXK>}(!VCol!*nQ&oe z_$XAv{xYQ~Ru~0I{dAQu8;Ck6qTnibCDP>&ht2t7eQ75hpnha_h*(Yuol~XjDyY72 zl&)7&_pUTHDKC>|p1&&Kj|6&B_CLg`fjje#mmK*`kbk*;erv6@@u**@Wxpg}898ov z^W(V`(S1jAE}xVvp`G?`mwq@%wr4<8uHA2dhs-H3b+H}iWITwJjNnEu9#}s&5#0dZ z#%gqVgisn$s%xQfez8@)WF0P}dz15bbTw1Vxh*1 zTKf57oYlB>(wSIR45N`#D~*f7hJTf>L<3Gi`zr*yUQ;B0K^yvgdMWoIJoLdPY+V{hUfX>phxvv`Q@Q%>E zSry6)We-AOCV>&2n2H;$Jmuud_ME#PgBV#v35eub&RKiFV%HZUPfgxCF$piBBt7+; zBY@!u0QS0oE7dls#~T|m8H2i3Mv0M;Mf5#3p{JfH&es^p>Lh9gh`H&N-H4R3HO>t= zkXCL&{iCXFfTQy*??L-ik6D5bnjZkDNMB15PHK4(V%(_WUSxIIM|z~ZRhr-P!8Cj= zpeWeK-7Q&yV`!Ra@2t{hGdl(N>Y+Qh^@|va&ZL1|-epVN?J|a_wv!#-!CMBWH|LK= zIv=a6UZ2ai*ZNDJ$s?a*%bz5=vhA^7&=p^%y%!x_(RBnIE~#@*DxVraT{PxzgHz18 zvB%l+<14t+M&ouRB#KA@dnmJ~Rok{ZFs17XvM0Z{Gd5}itVJm98|iPDaH9uf|LPh! zMf)xG94dl_&9}(Pi6VfnsFcBFfbmYu?aA`m`wbt6G|~}-5ziUqoOD^YMAyc1^UJa4 zonIuucEIW4>%#L)ti~D;e!+3IS=(VqM*4eS#^hO|)rD=GmaVT!RLlW`Da~2P8?d7ps%nhb(GTTIA3tpiw2-I=X>Wpk&@e|R3mz4LmUijvb z6ShC&iLX&7Z}!J04_b7F7v_`|!Zb>V*rEutnEz&*;BsIH ze*bB2&jcU&MD5t15oiqkra3@MH2UK@zNdHr%Q<(LjhUft*iht%CSl(uVH`%Ns!Q;f zPpg3jZ`&W9#jfj1eBjLg#KQ1r8ShJ(EQcKAO7gXG(Hn8p-uk)|x%<UF z-l>`Q_C&fynYM3d#&2rX9aQFV`%y&ep#$IU@IKZEXDB88-Jn;uXA#aLYC--<3Rp?8 zKE6Ty+;3X_^m!wBmnn%Gw1CxiZSuTI$&LkWa+Uq0&>?M|N&Q$)1t)%@#t;C9Uo{;OYg|C3yXcmNk0k4en{!MwSA*$LzL^%a;Puc}wc zliGdV40DDON6-j){ULil?|6Zl>qH(0l9nlJJOn}dWlLiBc8xGzWSmfm@xI0E zxOzEIHF9D^utM;`8x~q|aD|O)erR$M*(RoNN z+Mr_!o$$1#t(UM~#oQtOKm*JS?Ws@d58^2et?iDE5_NPHqwa8Th9qYaMVA0VCQ)S4 zzZQXowI*17b@CpMNAO%Ss+3U;+odSTh?8VusL43vLDgOR{RD!>MxnyNt0Ca5N}J;nNCw_Bv%CrOJR6~JsOyFLshVE z?~(erUR7n(|Z`(V&NHg(2dxUr!smhb%XG}$u3_L6}D>NDwX z_J6-ufS@}GBr#@^uCH#3@JwDJmngr?gv=Aib{hUu3z;bJUYFL^}V#>CX+JGo9Xx?qen zi3QUdy?a%oGlcZFe086YvInaIT*{oetKqe2LJ2}y&*vg7=#dt#KePpTX961wUp+eL znMR?h-ggBqClTm?@gp(}W?v84?bH=ai>lnVHj@+eAQJ^;a2V~#Jm64Tm_uOlqe6XH zB%8gFKN%oa-ClcFfK%<`z9ItL$5aWujFsrRCr$@cV5^owvBz&_AlU4|4Gt3>y0YzRBP(bpBHd#l94)w#aAaVn zr(K{p5F>bk3G@1qfo>--^ro6HR3_!;k4g4!LYIiP*NG?0we-1@zhALm6Lwc55K< z5GDkYG8H=TgM`O=NjzCS%BmVW47tmRrZqN;j1vr$li%m#WT7}=*s74p7+}#|_XiKB z>^0J7d(bvb{KlGn&oY{=UIObpi|ca;rn*gw|C>xe7}Mhs9PlxX(^#*%0MNd;t^+dQ zFr=K5_>>MGY-p;R21fdE*mCHVOgSn@T&?y+VziKQ7(OEdJWu{XheVP-pIH9yu9Buq zWK_fD$lriN1`k;;K!U8iErFu1>p$=jQFU*QgOx(N_Ehqc@)XdG=YJ>y#4?6+4winNs}v zln@P0+nX&7gv@eoYwkXmZhr|wc?Kb+W{)#}X$f}~o=tCi0-o*-A~9y}@WZk$ZGHbl#r}_(WYz^d;RSdF^rzyuCmu%;dFee7 zZqu*eH0F09r$&O8+Q5dyuPkGekS8-!NCw&^hQ^|iaB=#W*O3t7o0)Gulzl^(`76U$ zRhNYD4SWAM)vBrhMb$AEenn}wj@jNg8m)3lQn2iEPSAQKTt9*f{hDyY7 z=C78ym5MshD8I5-D<3EL%Zo|h9Sbykaol*pdO=(=)T#HCwq}v2m@g9qX?xaqJ z)G-=5Hn*EM2E9Ku_nVdhr5N6-V39?D#x3->EVundhTH`>c5;Z^^p4UA6TKxsuVs%1 zcr!m_T%bu*xcYxZUZ1w{qaLP>xG9F{SDc$GSEBd*5gK%M$ud+U;NXH>561s0Y|Z+~ z=gmBLl0l`EQRYyYJi^ngCG4h{1X#r-^p_`L?uxvA*g@S|HmTuMGig9>e;W|32S~2F z_=!58A8GOGdi3+z9WgNJEDgc^tQA{?Hq^Nkr8f3sz__PYsM(A#LrXd~SodG>G_xIXy>B7YPTLGCSHxoHY z!VEiK{GGafGZ4Vzj4o#AiRyE>7pespfI^3YOxa}vA<<2-2}5Wih)=yQ=ToQB_J;)% zidB;&&y`#pLLedOPI}1W_Cr=dA5`h*OLnO4S2Qz@{IP?sZPE9%4xtI%^ko~g10@3P zA~(J;b@eNy=x>_|8{?;D8ca@W0m~v|V6u}Rs|svlE$c+1!vl{f1jwMjum200| z(NXyooA+-;7JBbQ2aAx++C|=^sch!x@J%@RN00?zc!w4gtznF*IG2S=5us7X7?ovc z5DPsjh3?e}Wby1!o|sdM6&Q=zuRav!t`pHLmZRONYTl^<8@)!?T{jrGNXXTHI~4^M zk&nFo`@H+B@aGjTd&wXv`BQq*>Z}{wAlG-CIC)Y`kJ_@TBNw`Ld{qu~MxBn~Vu$Yv z$gZy~I4|V9c6gGx8-k>J8>c=x(9Q`Ea14evbuBZq)`xEKp1FvI=BmI&7Xlm_n?$*O z9GwnwtT`ThNmb<>!Hc|K>@94vX%i!C?I`Yfcl$ujx?)JUu+8;#mhBr)bxIbI>}!9k z)RxldRw3EC4|mHMmfdU-aSD>_FrVnRZ8Oue*)=pjTygVMzc*-khkBGh7Jj81>0J~} z3rIMK)GftZd(SaO8fDHjwT%Obw4&N^ zxr)KJ&K*ZVds9DneG^TjE#A15#OA^3CMst08~>c~R-6%`Z@ngZs(rH^UAtQkWkvF< z3uoj0YIIu-S*)7U1Nde_?$g)ZuOUUhnR&(h^|4zHBg#F-Ueu{u5snIZ6fM5{>**cg zDy{^8vP77$Mw~qusdz`)l&IXp*F|=hI*8$heXf0_npkd%9%>$F`h4>_D+|?}**&RU zM2$Mx^5s2&FZ8W)2z!Tm&7;qjD3K^_!QwoHixeC*(Lj=+mW&KwA<$h^Y%stom;O0iRm){^x zFdqA}OZY-!?2DWu-i9+W$%UTIgt_|8mjmsVq9yhokhoa zIFN7fkDJlDDKy7D9x9k?8&g7y#Nr$s!U{2gW1eSf%P_)KyDV5tj-23x6oo$ewmyzyRXdO`}(0!o|=gn9`XDUQI_GV7_*33&+(~=^8ppU!702D(BL- zs8Sy)!QoyMvpLhapR7=Ug}E^=_eA%S89KlV>b+1XbQ{HRi{o|X^1dQ?kEB>o2l|E7 z?38;tb>*Eq25SmR=J?xyf0_Hn*zPMo*A>RSa}J*N6yQ^=$SHHydHH-|l{P!OwNFnX zJEc2GmzdmLA^S)%t*d@0V|G&0v?W>jfoP|L2dQVg-UzvF$hByN1@{8h@3lK6tg)3t znRj!m$vyj+u~Ym_5c|?$F)(&Ae>(L|sqwnXeWkk(pGy?c&yR~rACEuAdxz?4$8=5v z&q3ehxA$g$ECMur#9r=t5(XA)3LL%-c|=&A<;a)c%mg#3c>ReOPyl$#FZTfm(@@W? z8$ONN4Zkizdz&g;R;?$DK8FM^@=n?L>0~I!_IGIQmIcW!S7`KfSnj0xNA+P#XztdT z=A!nT5&Nd&NN!s4s;8`7y^a;{(Dz_|aJKv~ec}g8L!LJB>cm&@w(gv~58yp$(rJlr zn6XTWaWn(gVvx-|_{d$BT+Y}ty#-=AtQ-$pjbBWYRP9tOQk^7Z;?F3xlf%d!_a=<} zs^KS?A*f)x9yL6@{-v3zCaNggTs7>K=Nxh$W7scyA>w&PBh|CB%1f2izGrZeOda@a zg=5w6=Es%9L!0M`#2D9a>_%rGiL$1ap~xXOY)vZO5B(#D;Y89i*0h|KTxxPW`J)iz zwls8xSFH4dd4z-Q&Ncx;`S~^4RXUSzWqyNzwI%nKuLJUocHJuEMWpU~16wvWd@8%1 zp`@bGXpzUv@?wKI5boYR{T;b`Iy#MLNp|n^ zRW>x)db$(uYyfc{{wb`0`N6N?66^K0-E1kB2v*jd4y>6v`<1m{6?H?wuQ?3c>dHLp zxBllB{eR%MC(ol^iX`QD2FU$0+UGUF|JD7!mk8hFem-Gy0zOzzu?$yF)Bp325(QaR KnF=Z6!2bmXoAt>6 literal 0 HcmV?d00001 diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.css b/src/app/pages/providers/providers-card-form/providers-card-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.html b/src/app/pages/providers/providers-card-form/providers-card-form.html new file mode 100644 index 0000000..81b94e8 --- /dev/null +++ b/src/app/pages/providers/providers-card-form/providers-card-form.html @@ -0,0 +1 @@ +

providers-card-form works!

diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.ts b/src/app/pages/providers/providers-card-form/providers-card-form.ts new file mode 100644 index 0000000..b1bd102 --- /dev/null +++ b/src/app/pages/providers/providers-card-form/providers-card-form.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-providers-card-form', + imports: [], + templateUrl: './providers-card-form.html', + styleUrl: './providers-card-form.css', +}) +export class ProvidersCardForm { + +} diff --git a/src/app/pages/providers/providers-card/providers-card.css b/src/app/pages/providers/providers-card/providers-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/providers/providers-card/providers-card.html b/src/app/pages/providers/providers-card/providers-card.html new file mode 100644 index 0000000..2a291ad --- /dev/null +++ b/src/app/pages/providers/providers-card/providers-card.html @@ -0,0 +1 @@ +

providers-card works!

diff --git a/src/app/pages/providers/providers-card/providers-card.ts b/src/app/pages/providers/providers-card/providers-card.ts new file mode 100644 index 0000000..596c6fd --- /dev/null +++ b/src/app/pages/providers/providers-card/providers-card.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-providers-card', + imports: [], + templateUrl: './providers-card.html', + styleUrl: './providers-card.css', +}) +export class ProvidersCard { + +} From 043899db3f0b36bb8c8dcebede0164d0d396662b Mon Sep 17 00:00:00 2001 From: barbierg Date: Thu, 20 Nov 2025 17:52:40 +0100 Subject: [PATCH 03/23] providers start --- .../providers-card-form.css | 3 ++ .../providers-card-form.ts | 49 ++++++++++++++++++- src/app/pages/providers/providers.html | 2 +- 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.css b/src/app/pages/providers/providers-card-form/providers-card-form.css index e69de29..8ae4ce1 100644 --- a/src/app/pages/providers/providers-card-form/providers-card-form.css +++ b/src/app/pages/providers/providers-card-form/providers-card-form.css @@ -0,0 +1,3 @@ +.ant-modal-content { + background: #272727; +} \ No newline at end of file diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.ts b/src/app/pages/providers/providers-card-form/providers-card-form.ts index b1bd102..dd8edd7 100644 --- a/src/app/pages/providers/providers-card-form/providers-card-form.ts +++ b/src/app/pages/providers/providers-card-form/providers-card-form.ts @@ -1,11 +1,56 @@ import { Component } from '@angular/core'; +import {NzModalComponent, NzModalModule} from "ng-zorro-antd/modal"; +import {NzButtonComponent, NzButtonModule} from "ng-zorro-antd/button"; +import {ProvidersAddForm} from "../providers-add-form/providers-add-form"; +import {NzMessageService} from "ng-zorro-antd/message"; @Component({ selector: 'app-providers-card-form', - imports: [], - templateUrl: './providers-card-form.html', + imports: [NzButtonModule, NzModalModule, ProvidersAddForm], + template: ` + + + Création de prestataires + + + + + + + + + + + `, styleUrl: './providers-card-form.css', }) export class ProvidersCardForm { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Prestataire créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 1000); + } + + handleCancel(): void { + this.isVisible = false; + } } diff --git a/src/app/pages/providers/providers.html b/src/app/pages/providers/providers.html index 66d56d1..1efef85 100644 --- a/src/app/pages/providers/providers.html +++ b/src/app/pages/providers/providers.html @@ -1 +1 @@ - + \ No newline at end of file From cbf01acb99329fe3248821bf20e14dfe45e757e6 Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 27 Nov 2025 14:19:35 +0100 Subject: [PATCH 04/23] providers continue partie2 --- src/app/app.css | 6 +++--- src/app/app.html | 16 ++++++++-------- .../providers-card-form/providers-card-form.ts | 3 +-- .../providers/providers-card/providers-card.html | 2 +- .../providers/providers-card/providers-card.ts | 3 ++- src/theme.less | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/app/app.css b/src/app/app.css index bd6e329..66078b0 100644 --- a/src/app/app.css +++ b/src/app/app.css @@ -3,7 +3,7 @@ } .app-layout { - height: 150vh; + height: 150vh; width: 100%; } @@ -36,8 +36,8 @@ .logo img { display: inline-block; - height: 70px; - width: 130px; + height: 70px; + width: 130px; } .logo h1 { diff --git a/src/app/app.html b/src/app/app.html index 09a862f..9ed2e07 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -2,16 +2,16 @@ -
    - - - - -
+
    + + + + +
diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.ts b/src/app/pages/providers/providers-card-form/providers-card-form.ts index dd8edd7..ce6ca07 100644 --- a/src/app/pages/providers/providers-card-form/providers-card-form.ts +++ b/src/app/pages/providers/providers-card-form/providers-card-form.ts @@ -1,12 +1,11 @@ import { Component } from '@angular/core'; import {NzModalComponent, NzModalModule} from "ng-zorro-antd/modal"; import {NzButtonComponent, NzButtonModule} from "ng-zorro-antd/button"; -import {ProvidersAddForm} from "../providers-add-form/providers-add-form"; import {NzMessageService} from "ng-zorro-antd/message"; @Component({ selector: 'app-providers-card-form', - imports: [NzButtonModule, NzModalModule, ProvidersAddForm], + imports: [NzButtonModule, NzModalModule], template: ` - Création de prestataires + Création de prestataires - + diff --git a/src/app/pages/providers/providers.html b/src/app/pages/providers/providers.html index 1efef85..294327f 100644 --- a/src/app/pages/providers/providers.html +++ b/src/app/pages/providers/providers.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/app/pages/staff/staff.html b/src/app/pages/staff/staff.html index f9500ec..76b3738 100644 --- a/src/app/pages/staff/staff.html +++ b/src/app/pages/staff/staff.html @@ -1 +1 @@ -

staff works!

+ diff --git a/src/app/pages/staff/staff.ts b/src/app/pages/staff/staff.ts index 7464c3a..a3b6982 100644 --- a/src/app/pages/staff/staff.ts +++ b/src/app/pages/staff/staff.ts @@ -1,8 +1,11 @@ import { Component } from '@angular/core'; +import {StaffCardForm} from "./staff-card-form/staff-card-form"; @Component({ selector: 'app-staff', - imports: [], + imports: [ + StaffCardForm + ], templateUrl: './staff.html', styleUrl: './staff.css', }) diff --git a/src/theme.less b/src/theme.less index ecf2541..80e21da 100644 --- a/src/theme.less +++ b/src/theme.less @@ -6,4 +6,4 @@ // Override less variables to here // View all variables: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/style/themes/default.less -// @primary-color: #1890ff; +@primary-color: #1c1c1c; From 20ddd65dc3f414d9ce8cfe38c4b5453a160c2454 Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 27 Nov 2025 16:42:53 +0100 Subject: [PATCH 06/23] providers create form added --- .../customers-add-form/customers-add-form.css | 0 .../customers-add-form.html | 51 ++++++++++++++++ .../customers-add-form/customers-add-form.ts | 42 +++++++++++++ .../customers-card-form.css | 0 .../customers-card-form.html | 1 + .../customers-card-form.ts | 57 +++++++++++++++++ .../customers-card/customers-card.css | 0 .../customers-card/customers-card.html | 1 + .../customers-card/customers-card.ts | 11 ++++ .../providers-add-form/providers-add-form.css | 0 .../providers-add-form.html | 51 ++++++++++++++++ .../providers-add-form/providers-add-form.ts | 34 +++++++++++ .../staff/staff-add-form/staff-add-form.css | 0 .../staff/staff-add-form/staff-add-form.html | 61 +++++++++++++++++++ .../staff/staff-add-form/staff-add-form.ts | 43 +++++++++++++ .../staff/staff-card-form/staff-card-form.css | 0 .../staff-card-form/staff-card-form.html | 1 + .../staff/staff-card-form/staff-card-form.ts | 57 +++++++++++++++++ src/app/pages/staff/staff-card/staff-card.css | 0 .../pages/staff/staff-card/staff-card.html | 1 + src/app/pages/staff/staff-card/staff-card.ts | 11 ++++ 21 files changed, 422 insertions(+) create mode 100644 src/app/pages/customers/customers-add-form/customers-add-form.css create mode 100644 src/app/pages/customers/customers-add-form/customers-add-form.html create mode 100644 src/app/pages/customers/customers-add-form/customers-add-form.ts create mode 100644 src/app/pages/customers/customers-card-form/customers-card-form.css create mode 100644 src/app/pages/customers/customers-card-form/customers-card-form.html create mode 100644 src/app/pages/customers/customers-card-form/customers-card-form.ts create mode 100644 src/app/pages/customers/customers-card/customers-card.css create mode 100644 src/app/pages/customers/customers-card/customers-card.html create mode 100644 src/app/pages/customers/customers-card/customers-card.ts create mode 100644 src/app/pages/providers/providers-add-form/providers-add-form.css create mode 100644 src/app/pages/providers/providers-add-form/providers-add-form.html create mode 100644 src/app/pages/providers/providers-add-form/providers-add-form.ts create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.css create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.html create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.ts create mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.css create mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.html create mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.ts create mode 100644 src/app/pages/staff/staff-card/staff-card.css create mode 100644 src/app/pages/staff/staff-card/staff-card.html create mode 100644 src/app/pages/staff/staff-card/staff-card.ts diff --git a/src/app/pages/customers/customers-add-form/customers-add-form.css b/src/app/pages/customers/customers-add-form/customers-add-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/customers/customers-add-form/customers-add-form.html b/src/app/pages/customers/customers-add-form/customers-add-form.html new file mode 100644 index 0000000..6819891 --- /dev/null +++ b/src/app/pages/customers/customers-add-form/customers-add-form.html @@ -0,0 +1,51 @@ +
+ + Nom + + + + + + + Prénom + + + + + + + Téléphone + + + + + + + Email + + + + + + + Adresse + + + + + + + Rôle + + + + + + + Note + + + + + +
diff --git a/src/app/pages/customers/customers-add-form/customers-add-form.ts b/src/app/pages/customers/customers-add-form/customers-add-form.ts new file mode 100644 index 0000000..2b819b7 --- /dev/null +++ b/src/app/pages/customers/customers-add-form/customers-add-form.ts @@ -0,0 +1,42 @@ +import { Component } from '@angular/core'; +import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; + +@Component({ + selector: 'app-customers-add-form', + imports: [ + FormsModule, + NzColDirective, + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzInputDirective, + NzRowDirective, + ReactiveFormsModule + ], + templateUrl: './customers-add-form.html', + styleUrl: './customers-add-form.css', +}) +export class CustomersAddForm { + customerForm = new FormGroup({ + lastName: new FormControl(null, [Validators.required]), + firstName: new FormControl(null, [Validators.required]), + phoneNumber: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + address: new FormControl(null, [Validators.required]), + role: new FormControl(null, [Validators.required]), + }) + submitForm() { + // Pour annuler si le formulaire est invalide + if (this.customerForm.invalid) return; + + // Pour obtenir la valeur du formulaire + console.log(this.customerForm.getRawValue()) + + // Pour vider le formulaire + this.customerForm.reset() + } +} diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.css b/src/app/pages/customers/customers-card-form/customers-card-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.html b/src/app/pages/customers/customers-card-form/customers-card-form.html new file mode 100644 index 0000000..4b55f97 --- /dev/null +++ b/src/app/pages/customers/customers-card-form/customers-card-form.html @@ -0,0 +1 @@ +

customers-card-form works!

diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.ts b/src/app/pages/customers/customers-card-form/customers-card-form.ts new file mode 100644 index 0000000..68572de --- /dev/null +++ b/src/app/pages/customers/customers-card-form/customers-card-form.ts @@ -0,0 +1,57 @@ +import { Component } from '@angular/core'; +import {NzMessageService} from "ng-zorro-antd/message"; +import {NzButtonModule} from "ng-zorro-antd/button"; +import {NzModalModule} from "ng-zorro-antd/modal"; +import {ProvidersAddForm} from "../../providers/providers-add-form/providers-add-form"; +import {CustomersAddForm} from "../customers-add-form/customers-add-form"; + +@Component({ + selector: 'app-customers-card-form', + imports: [NzButtonModule, NzModalModule, CustomersAddForm], + template: ` + + + Création de clients + + + + + + + + + + + `, + styleUrl: './customers-card-form.css', +}) +export class CustomersCardForm { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Prestataire créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 1000); + } + + handleCancel(): void { + this.isVisible = false; + } +} \ No newline at end of file diff --git a/src/app/pages/customers/customers-card/customers-card.css b/src/app/pages/customers/customers-card/customers-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/customers/customers-card/customers-card.html b/src/app/pages/customers/customers-card/customers-card.html new file mode 100644 index 0000000..ca34895 --- /dev/null +++ b/src/app/pages/customers/customers-card/customers-card.html @@ -0,0 +1 @@ +

customers-card works!

diff --git a/src/app/pages/customers/customers-card/customers-card.ts b/src/app/pages/customers/customers-card/customers-card.ts new file mode 100644 index 0000000..7a6dc3c --- /dev/null +++ b/src/app/pages/customers/customers-card/customers-card.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-customers-card', + imports: [], + templateUrl: './customers-card.html', + styleUrl: './customers-card.css', +}) +export class CustomersCard { + +} diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.css b/src/app/pages/providers/providers-add-form/providers-add-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.html b/src/app/pages/providers/providers-add-form/providers-add-form.html new file mode 100644 index 0000000..c204c6e --- /dev/null +++ b/src/app/pages/providers/providers-add-form/providers-add-form.html @@ -0,0 +1,51 @@ +
+ + Nom + + + + + + + Prénom + + + + + + + Téléphone + + + + + + + Email + + + + + + + Adresse + + + + + + + Rôle + + + + + + + Prix + + + + + +
diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.ts b/src/app/pages/providers/providers-add-form/providers-add-form.ts new file mode 100644 index 0000000..a6989ae --- /dev/null +++ b/src/app/pages/providers/providers-add-form/providers-add-form.ts @@ -0,0 +1,34 @@ +import { Component } from '@angular/core'; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzFormModule} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {NzButtonComponent} from "ng-zorro-antd/button"; + +@Component({ + selector: 'app-providers-add-form', + imports: [ReactiveFormsModule, NzFormModule, NzInputDirective,], + templateUrl: './providers-add-form.html', + styleUrl: './providers-add-form.css', +}) +export class ProvidersAddForm { + providerForm = new FormGroup({ + lastName: new FormControl(null, [Validators.required]), + firstName: new FormControl(null, [Validators.required]), + phoneNumber: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + address: new FormControl(null, [Validators.required]), + role: new FormControl(null, [Validators.required]), + price: new FormControl(null, [Validators.required]), + }) + submitForm() { + // Pour annuler si le formulaire est invalide + if (this.providerForm.invalid) return; + + // Pour obtenir la valeur du formulaire + console.log(this.providerForm.getRawValue()) + + // Pour vider le formulaire + this.providerForm.reset() + } +} diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.css b/src/app/pages/staff/staff-add-form/staff-add-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.html b/src/app/pages/staff/staff-add-form/staff-add-form.html new file mode 100644 index 0000000..5ef2c2f --- /dev/null +++ b/src/app/pages/staff/staff-add-form/staff-add-form.html @@ -0,0 +1,61 @@ +
+ + Nom + + + + + + + Prénom + + + + + + + Téléphone + + + + + + + Email + + + + + + + Adresse + + + + + + + Rôle + + + + + + + + + Numéro F4T2 + + + + + + + Date d'expiration du F4T2 + + + + + + +
diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts new file mode 100644 index 0000000..3e341b1 --- /dev/null +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -0,0 +1,43 @@ +import { Component } from '@angular/core'; +import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import { + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzFormModule +} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {NzLayoutComponent} from "ng-zorro-antd/layout"; + +@Component({ + selector: 'app-staff-add-form', + imports: [ReactiveFormsModule, NzFormModule, NzInputDirective, NzLayoutComponent], + templateUrl: './staff-add-form.html', + styleUrl: './staff-add-form.css', +}) +export class StaffAddForm { + staffForm = new FormGroup({ + lastName: new FormControl(null, [Validators.required]), + firstName: new FormControl(null, [Validators.required]), + phoneNumber: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + address: new FormControl(null, [Validators.required]), + role: new FormControl(null, [Validators.required]), + price: new FormControl(null, [Validators.required]), + F4T2NumberApproval: new FormControl(null, [Validators.required]), + F4T2ExpirationDate: new FormControl(null, [Validators.required]), + + }) + submitForm() { + // Pour annuler si le formulaire est invalide + if (this.staffForm.invalid) return; + + // Pour obtenir la valeur du formulaire + console.log(this.staffForm.getRawValue()) + + // Pour vider le formulaire + this.staffForm.reset() + } +} diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.css b/src/app/pages/staff/staff-card-form/staff-card-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.html b/src/app/pages/staff/staff-card-form/staff-card-form.html new file mode 100644 index 0000000..00c833f --- /dev/null +++ b/src/app/pages/staff/staff-card-form/staff-card-form.html @@ -0,0 +1 @@ +

staff-card-form works!

diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.ts b/src/app/pages/staff/staff-card-form/staff-card-form.ts new file mode 100644 index 0000000..90e9a07 --- /dev/null +++ b/src/app/pages/staff/staff-card-form/staff-card-form.ts @@ -0,0 +1,57 @@ +import { Component } from '@angular/core'; +import {NzMessageService} from "ng-zorro-antd/message"; +import {StaffAddForm} from "../staff-add-form/staff-add-form"; +import {NzButtonModule} from "ng-zorro-antd/button"; +import {NzModalModule} from "ng-zorro-antd/modal"; +import {ProvidersAddForm} from "../../providers/providers-add-form/providers-add-form"; + +@Component({ + selector: 'app-staff-card-form', + imports: [NzButtonModule, NzModalModule, StaffAddForm], + template: ` + + + Création de artificiers + + + + + + + + + + + `, + styleUrl: './staff-card-form.css', +}) +export class StaffCardForm { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Prestataire créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 1000); + } + + handleCancel(): void { + this.isVisible = false; + } +} \ No newline at end of file diff --git a/src/app/pages/staff/staff-card/staff-card.css b/src/app/pages/staff/staff-card/staff-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-card/staff-card.html b/src/app/pages/staff/staff-card/staff-card.html new file mode 100644 index 0000000..3aeccb7 --- /dev/null +++ b/src/app/pages/staff/staff-card/staff-card.html @@ -0,0 +1 @@ +

staff-card works!

diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts new file mode 100644 index 0000000..783d736 --- /dev/null +++ b/src/app/pages/staff/staff-card/staff-card.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-staff-card', + imports: [], + templateUrl: './staff-card.html', + styleUrl: './staff-card.css', +}) +export class StaffCard { + +} From 265acb7ba95496506c80497d682b6814bb8c537a Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 27 Nov 2025 17:51:38 +0100 Subject: [PATCH 07/23] get all start --- .../customers-get-all/customers-get-all.css | 0 .../customers-get-all/customers-get-all.html | 15 ++++++++ .../customers-get-all/customers-get-all.ts | 36 +++++++++++++++++++ src/app/pages/customers/customers.html | 2 ++ src/app/pages/customers/customers.ts | 4 ++- .../providers-get-all/providers-get-all.css | 0 .../providers-get-all/providers-get-all.html | 1 + .../providers-get-all/providers-get-all.ts | 36 +++++++++++++++++++ src/app/pages/providers/providers.html | 4 ++- src/app/pages/providers/providers.ts | 4 ++- .../staff/staff-get-all/staff-get-all.css | 0 .../staff/staff-get-all/staff-get-all.html | 1 + .../staff/staff-get-all/staff-get-all.ts | 11 ++++++ src/app/pages/staff/staff.html | 2 ++ src/app/pages/staff/staff.ts | 4 ++- 15 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 src/app/pages/customers/customers-get-all/customers-get-all.css create mode 100644 src/app/pages/customers/customers-get-all/customers-get-all.html create mode 100644 src/app/pages/customers/customers-get-all/customers-get-all.ts create mode 100644 src/app/pages/providers/providers-get-all/providers-get-all.css create mode 100644 src/app/pages/providers/providers-get-all/providers-get-all.html create mode 100644 src/app/pages/providers/providers-get-all/providers-get-all.ts create mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.css create mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.html create mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.ts diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.css b/src/app/pages/customers/customers-get-all/customers-get-all.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.html b/src/app/pages/customers/customers-get-all/customers-get-all.html new file mode 100644 index 0000000..cbe0385 --- /dev/null +++ b/src/app/pages/customers/customers-get-all/customers-get-all.html @@ -0,0 +1,15 @@ +
+
+ @for (customer of customers(); track customer.id) + { + +

Utilisateur n°{{ customer.id }}

+

Nom/Prénom : {{ customer.name }} {{ customer.firstName }}

+

Téléphone : {{ customer.phone }}

+

Email : {{ customer.email }}

+

Adresse : {{ customer.address }}

+

Note : {{ customer.note }}

+
+ } +
+
diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.ts b/src/app/pages/customers/customers-get-all/customers-get-all.ts new file mode 100644 index 0000000..69def45 --- /dev/null +++ b/src/app/pages/customers/customers-get-all/customers-get-all.ts @@ -0,0 +1,36 @@ +import {Component, inject, signal} from '@angular/core'; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; +import {NzNotificationService} from "ng-zorro-antd/notification"; + +@Component({ + selector: 'app-customers-get-all', + imports: [], + templateUrl: './customers-get-all.html', + styleUrl: './customers-get-all.css', +}) +export class CustomersGetAll { + private customerService = inject(CustomersService); + private notificationService = inject(NzNotificationService) + + router = inject(Router); + + customers = signal([]); + customersLoading = signal(false); + async ngOnInit() { + await this.fetchCustomers(); + } + + async fetchCustomers() { + this.customersLoading.set(true); + try { + const customer = await firstValueFrom(this.customerService.getAllCustomersEndpoint()) + this.customers.set(customer) + } catch (e) + { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.customersLoading.set(false); + } +} diff --git a/src/app/pages/customers/customers.html b/src/app/pages/customers/customers.html index 5877c09..caf0405 100644 --- a/src/app/pages/customers/customers.html +++ b/src/app/pages/customers/customers.html @@ -1 +1,3 @@ + + diff --git a/src/app/pages/customers/customers.ts b/src/app/pages/customers/customers.ts index 0ec6fce..63e241a 100644 --- a/src/app/pages/customers/customers.ts +++ b/src/app/pages/customers/customers.ts @@ -1,10 +1,12 @@ import { Component } from '@angular/core'; import {CustomersCardForm} from "./customers-card-form/customers-card-form"; +import {CustomersGetAll} from "./customers-get-all/customers-get-all"; @Component({ selector: 'app-customers', imports: [ - CustomersCardForm + CustomersCardForm, + CustomersGetAll ], templateUrl: './customers.html', styleUrl: './customers.css', diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.css b/src/app/pages/providers/providers-get-all/providers-get-all.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.html b/src/app/pages/providers/providers-get-all/providers-get-all.html new file mode 100644 index 0000000..7e60329 --- /dev/null +++ b/src/app/pages/providers/providers-get-all/providers-get-all.html @@ -0,0 +1 @@ +

providers-get-all works!

diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.ts b/src/app/pages/providers/providers-get-all/providers-get-all.ts new file mode 100644 index 0000000..084ed18 --- /dev/null +++ b/src/app/pages/providers/providers-get-all/providers-get-all.ts @@ -0,0 +1,36 @@ +import {Component, inject, signal} from '@angular/core'; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; + +@Component({ + selector: 'app-providers-get-all', + imports: [], + templateUrl: './providers-get-all.html', + styleUrl: './providers-get-all.css', +}) +export class ProvidersGetAll { + private providersService = inject(ProvidersService); + private notificationService = inject(NzNotificationService) + + router = inject(Router); + + providers = signal([]); + providersLoading = signal(false); + async ngOnInit() { + await this.fetchProviders(); + } + + async fetchProviders() { + this.providersLoading.set(true); + try { + const providers = await firstValueFrom(this.providersService.getAllProvidersEndpoint()) + this.providers.set(providers) + } catch (e) + { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.providersLoading.set(false); + } +} diff --git a/src/app/pages/providers/providers.html b/src/app/pages/providers/providers.html index 294327f..1cae579 100644 --- a/src/app/pages/providers/providers.html +++ b/src/app/pages/providers/providers.html @@ -1 +1,3 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/app/pages/providers/providers.ts b/src/app/pages/providers/providers.ts index fe238ff..df16827 100644 --- a/src/app/pages/providers/providers.ts +++ b/src/app/pages/providers/providers.ts @@ -1,10 +1,12 @@ import { Component } from '@angular/core'; import {ProvidersCardForm} from "./providers-card-form/providers-card-form"; +import {ProvidersGetAll} from "./providers-get-all/providers-get-all"; @Component({ selector: 'app-providers', imports: [ - ProvidersCardForm + ProvidersCardForm, + ProvidersGetAll ], templateUrl: './providers.html', styleUrl: './providers.css', diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.css b/src/app/pages/staff/staff-get-all/staff-get-all.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.html b/src/app/pages/staff/staff-get-all/staff-get-all.html new file mode 100644 index 0000000..00bc9ae --- /dev/null +++ b/src/app/pages/staff/staff-get-all/staff-get-all.html @@ -0,0 +1 @@ +

staff-get-all works!

diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.ts b/src/app/pages/staff/staff-get-all/staff-get-all.ts new file mode 100644 index 0000000..27702c8 --- /dev/null +++ b/src/app/pages/staff/staff-get-all/staff-get-all.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-staff-get-all', + imports: [], + templateUrl: './staff-get-all.html', + styleUrl: './staff-get-all.css', +}) +export class StaffGetAll { + +} diff --git a/src/app/pages/staff/staff.html b/src/app/pages/staff/staff.html index 76b3738..614ec0e 100644 --- a/src/app/pages/staff/staff.html +++ b/src/app/pages/staff/staff.html @@ -1 +1,3 @@ + + diff --git a/src/app/pages/staff/staff.ts b/src/app/pages/staff/staff.ts index a3b6982..3e8bbca 100644 --- a/src/app/pages/staff/staff.ts +++ b/src/app/pages/staff/staff.ts @@ -1,10 +1,12 @@ import { Component } from '@angular/core'; import {StaffCardForm} from "./staff-card-form/staff-card-form"; +import {StaffGetAll} from "./staff-get-all/staff-get-all"; @Component({ selector: 'app-staff', imports: [ - StaffCardForm + StaffCardForm, + StaffGetAll ], templateUrl: './staff.html', styleUrl: './staff.css', From ecb098a34faea6a529df62fcc92f81258f16e907 Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 4 Dec 2025 16:55:34 +0100 Subject: [PATCH 08/23] package.json updated + all dto imported --- openapi-generator.yaml | 3 + openapitools.json | 7 + package-lock.json | 1641 ++++++++++++++++- package.json | 4 +- src/app/services/api/.gitignore | 4 + .../services/api/.openapi-generator-ignore | 23 + src/app/services/api/.openapi-generator/FILES | 93 + .../services/api/.openapi-generator/VERSION | 1 + src/app/services/api/README.md | 185 ++ src/app/services/api/api.base.service.ts | 83 + src/app/services/api/api.module.ts | 30 + src/app/services/api/api/api.ts | 23 + .../api/api/availabilities.service.ts | 332 ++++ .../api/api/communications.service.ts | 348 ++++ src/app/services/api/api/contacts.service.ts | 332 ++++ src/app/services/api/api/customers.service.ts | 332 ++++ .../services/api/api/customertypes.service.ts | 332 ++++ .../api/api/experiencelevels.service.ts | 332 ++++ .../api/api/historyofapprovals.service.ts | 332 ++++ src/app/services/api/api/providers.service.ts | 332 ++++ .../services/api/api/providertype.service.ts | 88 + .../services/api/api/providertypes.service.ts | 282 +++ src/app/services/api/api/staffs.service.ts | 332 ++++ src/app/services/api/configuration.ts | 193 ++ src/app/services/api/encoder.ts | 20 + src/app/services/api/git_push.sh | 57 + src/app/services/api/index.ts | 7 + .../action-of-authorization-policy-builder.ts | 17 + src/app/services/api/model/assembly.ts | 42 + src/app/services/api/model/base-endpoint.ts | 22 + .../services/api/model/calling-conventions.ts | 23 + src/app/services/api/model/claim.ts | 22 + src/app/services/api/model/claims-identity.ts | 24 + .../services/api/model/claims-principal.ts | 20 + .../services/api/model/constructor-info.ts | 49 + .../api/model/create-availability-dto.ts | 18 + .../api/model/create-communication-dto.ts | 17 + .../services/api/model/create-contact-dto.ts | 20 + .../services/api/model/create-customer-dto.ts | 15 + .../api/model/create-customer-type-dto.ts | 15 + .../api/model/create-experience-level-dto.ts | 15 + .../model/create-history-of-approval-dto.ts | 16 + .../services/api/model/create-provider-dto.ts | 15 + .../api/model/create-provider-type-dto.ts | 15 + .../services/api/model/create-staff-dto.ts | 16 + .../api/model/custom-attribute-data.ts | 21 + .../model/custom-attribute-named-argument.ts | 20 + .../model/custom-attribute-typed-argument.ts | 16 + src/app/services/api/model/delegate.ts | 17 + .../services/api/model/endpoint-definition.ts | 55 + ...quest-and-list-of-get-communication-dto.ts | 58 + .../services/api/model/endpoint-summary.ts | 48 + ...equest-of-list-of-get-communication-dto.ts | 58 + src/app/services/api/model/ep-version.ts | 20 + src/app/services/api/model/func-of-object.ts | 17 + .../model/get-all-communications-endpoint.ts | 58 + .../api/model/get-availability-dto.ts | 19 + .../api/model/get-communication-dto.ts | 17 + src/app/services/api/model/get-contact-dto.ts | 21 + .../services/api/model/get-customer-dto.ts | 16 + .../api/model/get-customer-type-dto.ts | 16 + .../api/model/get-experience-level-dto.ts | 16 + .../api/model/get-history-of-approval-dto.ts | 17 + .../services/api/model/get-provider-dto.ts | 16 + .../api/model/get-provider-type-dto.ts | 16 + src/app/services/api/model/get-staff-dto.ts | 17 + src/app/services/api/model/http.ts | 27 + src/app/services/api/model/i-identity.ts | 17 + .../api/model/i-web-host-environment.ts | 19 + .../services/api/model/idempotency-options.ts | 47 + src/app/services/api/model/member-info.ts | 20 + src/app/services/api/model/member-types.ts | 27 + src/app/services/api/model/method-base.ts | 47 + .../api/model/method-impl-attributes.ts | 35 + src/app/services/api/model/method-info.ts | 52 + src/app/services/api/model/models.ts | 68 + src/app/services/api/model/module-handle.ts | 15 + src/app/services/api/model/module.ts | 26 + .../services/api/model/multicast-delegate.ts | 17 + .../api/model/parameter-attributes.ts | 29 + src/app/services/api/model/parameter-info.ts | 35 + src/app/services/api/model/request-example.ts | 33 + src/app/services/api/model/response-header.ts | 25 + .../services/api/model/security-rule-set.ts | 21 + src/app/services/api/model/severity.ts | 21 + .../api/model/update-availability-dto.ts | 18 + .../api/model/update-communication-dto.ts | 17 + .../services/api/model/update-contact-dto.ts | 20 + .../services/api/model/update-customer-dto.ts | 15 + .../api/model/update-customer-type-dto.ts | 15 + .../api/model/update-experience-level-dto.ts | 15 + .../model/update-history-of-approval-dto.ts | 16 + .../services/api/model/update-provider-dto.ts | 15 + .../api/model/update-provider-type-dto.ts | 15 + .../services/api/model/update-staff-dto.ts | 16 + .../services/api/model/validation-failure.ts | 46 + src/app/services/api/param.ts | 69 + src/app/services/api/provide-api.ts | 15 + src/app/services/api/variables.ts | 9 + 99 files changed, 7522 insertions(+), 48 deletions(-) create mode 100644 openapi-generator.yaml create mode 100644 openapitools.json create mode 100644 src/app/services/api/.gitignore create mode 100644 src/app/services/api/.openapi-generator-ignore create mode 100644 src/app/services/api/.openapi-generator/FILES create mode 100644 src/app/services/api/.openapi-generator/VERSION create mode 100644 src/app/services/api/README.md create mode 100644 src/app/services/api/api.base.service.ts create mode 100644 src/app/services/api/api.module.ts create mode 100644 src/app/services/api/api/api.ts create mode 100644 src/app/services/api/api/availabilities.service.ts create mode 100644 src/app/services/api/api/communications.service.ts create mode 100644 src/app/services/api/api/contacts.service.ts create mode 100644 src/app/services/api/api/customers.service.ts create mode 100644 src/app/services/api/api/customertypes.service.ts create mode 100644 src/app/services/api/api/experiencelevels.service.ts create mode 100644 src/app/services/api/api/historyofapprovals.service.ts create mode 100644 src/app/services/api/api/providers.service.ts create mode 100644 src/app/services/api/api/providertype.service.ts create mode 100644 src/app/services/api/api/providertypes.service.ts create mode 100644 src/app/services/api/api/staffs.service.ts create mode 100644 src/app/services/api/configuration.ts create mode 100644 src/app/services/api/encoder.ts create mode 100644 src/app/services/api/git_push.sh create mode 100644 src/app/services/api/index.ts create mode 100644 src/app/services/api/model/action-of-authorization-policy-builder.ts create mode 100644 src/app/services/api/model/assembly.ts create mode 100644 src/app/services/api/model/base-endpoint.ts create mode 100644 src/app/services/api/model/calling-conventions.ts create mode 100644 src/app/services/api/model/claim.ts create mode 100644 src/app/services/api/model/claims-identity.ts create mode 100644 src/app/services/api/model/claims-principal.ts create mode 100644 src/app/services/api/model/constructor-info.ts create mode 100644 src/app/services/api/model/create-availability-dto.ts create mode 100644 src/app/services/api/model/create-communication-dto.ts create mode 100644 src/app/services/api/model/create-contact-dto.ts create mode 100644 src/app/services/api/model/create-customer-dto.ts create mode 100644 src/app/services/api/model/create-customer-type-dto.ts create mode 100644 src/app/services/api/model/create-experience-level-dto.ts create mode 100644 src/app/services/api/model/create-history-of-approval-dto.ts create mode 100644 src/app/services/api/model/create-provider-dto.ts create mode 100644 src/app/services/api/model/create-provider-type-dto.ts create mode 100644 src/app/services/api/model/create-staff-dto.ts create mode 100644 src/app/services/api/model/custom-attribute-data.ts create mode 100644 src/app/services/api/model/custom-attribute-named-argument.ts create mode 100644 src/app/services/api/model/custom-attribute-typed-argument.ts create mode 100644 src/app/services/api/model/delegate.ts create mode 100644 src/app/services/api/model/endpoint-definition.ts create mode 100644 src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts create mode 100644 src/app/services/api/model/endpoint-summary.ts create mode 100644 src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts create mode 100644 src/app/services/api/model/ep-version.ts create mode 100644 src/app/services/api/model/func-of-object.ts create mode 100644 src/app/services/api/model/get-all-communications-endpoint.ts create mode 100644 src/app/services/api/model/get-availability-dto.ts create mode 100644 src/app/services/api/model/get-communication-dto.ts create mode 100644 src/app/services/api/model/get-contact-dto.ts create mode 100644 src/app/services/api/model/get-customer-dto.ts create mode 100644 src/app/services/api/model/get-customer-type-dto.ts create mode 100644 src/app/services/api/model/get-experience-level-dto.ts create mode 100644 src/app/services/api/model/get-history-of-approval-dto.ts create mode 100644 src/app/services/api/model/get-provider-dto.ts create mode 100644 src/app/services/api/model/get-provider-type-dto.ts create mode 100644 src/app/services/api/model/get-staff-dto.ts create mode 100644 src/app/services/api/model/http.ts create mode 100644 src/app/services/api/model/i-identity.ts create mode 100644 src/app/services/api/model/i-web-host-environment.ts create mode 100644 src/app/services/api/model/idempotency-options.ts create mode 100644 src/app/services/api/model/member-info.ts create mode 100644 src/app/services/api/model/member-types.ts create mode 100644 src/app/services/api/model/method-base.ts create mode 100644 src/app/services/api/model/method-impl-attributes.ts create mode 100644 src/app/services/api/model/method-info.ts create mode 100644 src/app/services/api/model/models.ts create mode 100644 src/app/services/api/model/module-handle.ts create mode 100644 src/app/services/api/model/module.ts create mode 100644 src/app/services/api/model/multicast-delegate.ts create mode 100644 src/app/services/api/model/parameter-attributes.ts create mode 100644 src/app/services/api/model/parameter-info.ts create mode 100644 src/app/services/api/model/request-example.ts create mode 100644 src/app/services/api/model/response-header.ts create mode 100644 src/app/services/api/model/security-rule-set.ts create mode 100644 src/app/services/api/model/severity.ts create mode 100644 src/app/services/api/model/update-availability-dto.ts create mode 100644 src/app/services/api/model/update-communication-dto.ts create mode 100644 src/app/services/api/model/update-contact-dto.ts create mode 100644 src/app/services/api/model/update-customer-dto.ts create mode 100644 src/app/services/api/model/update-customer-type-dto.ts create mode 100644 src/app/services/api/model/update-experience-level-dto.ts create mode 100644 src/app/services/api/model/update-history-of-approval-dto.ts create mode 100644 src/app/services/api/model/update-provider-dto.ts create mode 100644 src/app/services/api/model/update-provider-type-dto.ts create mode 100644 src/app/services/api/model/update-staff-dto.ts create mode 100644 src/app/services/api/model/validation-failure.ts create mode 100644 src/app/services/api/param.ts create mode 100644 src/app/services/api/provide-api.ts create mode 100644 src/app/services/api/variables.ts diff --git a/openapi-generator.yaml b/openapi-generator.yaml new file mode 100644 index 0000000..43fcf8c --- /dev/null +++ b/openapi-generator.yaml @@ -0,0 +1,3 @@ +additionalProperties: + fileNaming: kebab-case + modelPropertyNaming: camelCase diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 0000000..f052220 --- /dev/null +++ b/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "7.17.0" + } +} diff --git a/package-lock.json b/package-lock.json index 8c9a5a3..2021a59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@angular/forms": "^20.3.0", "@angular/platform-browser": "^20.3.0", "@angular/router": "^20.3.0", + "@openapitools/openapi-generator-cli": "^2.25.2", "@tailwindcss/postcss": "^4.1.17", "ng-zorro-antd": "^20.4.0", "postcss": "^8.5.6", @@ -1048,6 +1049,16 @@ "node": ">=6.9.0" } }, + "node_modules/@borewit/text-codec": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.1.1.tgz", + "integrity": "sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", @@ -1634,7 +1645,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz", "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==", - "dev": true, "license": "MIT", "dependencies": { "chardet": "^2.1.0", @@ -1853,7 +1863,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, "license": "MIT", "engines": { "node": "20 || >=22" @@ -1863,7 +1872,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, "license": "MIT", "dependencies": { "@isaacs/balanced-match": "^4.0.1" @@ -2116,6 +2124,15 @@ "win32" ] }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/@modelcontextprotocol/sdk": { "version": "1.17.3", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", @@ -2571,6 +2588,89 @@ "node": ">= 10" } }, + "node_modules/@nestjs/axios": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-4.0.1.tgz", + "integrity": "sha512-68pFJgu+/AZbWkGu65Z3r55bTsCPlgyKaV4BSG8yUAD72q1PPuyVRgUwFv6BxdnibTUHlyxm06FmYWNC+bjN7A==", + "license": "MIT", + "peerDependencies": { + "@nestjs/common": "^10.0.0 || ^11.0.0", + "axios": "^1.3.1", + "rxjs": "^7.0.0" + } + }, + "node_modules/@nestjs/common": { + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.9.tgz", + "integrity": "sha512-zDntUTReRbAThIfSp3dQZ9kKqI+LjgLp5YZN5c1bgNRDuoeLySAoZg46Bg1a+uV8TMgIRziHocglKGNzr6l+bQ==", + "license": "MIT", + "dependencies": { + "file-type": "21.1.0", + "iterare": "1.2.1", + "load-esm": "1.0.3", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "class-transformer": ">=0.4.1", + "class-validator": ">=0.13.2", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } + } + }, + "node_modules/@nestjs/core": { + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.9.tgz", + "integrity": "sha512-a00B0BM4X+9z+t3UxJqIZlemIwCQdYoPKrMcM+ky4z3pkqqG1eTWexjs+YXpGObnLnjtMPVKWlcZHp3adDYvUw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@nuxt/opencollective": "0.4.1", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "8.3.0", + "tslib": "2.8.1", + "uid": "2.0.2" + }, + "engines": { + "node": ">= 20" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^11.0.0", + "@nestjs/microservices": "^11.0.0", + "@nestjs/platform-express": "^11.0.0", + "@nestjs/websockets": "^11.0.0", + "reflect-metadata": "^0.1.12 || ^0.2.0", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } + } + }, "node_modules/@npmcli/agent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", @@ -2820,6 +2920,225 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/@nuxt/opencollective": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", + "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", + "license": "MIT", + "dependencies": { + "consola": "^3.2.3" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0", + "npm": ">=5.10.0" + } + }, + "node_modules/@nuxtjs/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@nuxtjs/opencollective/node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "license": "MIT" + }, + "node_modules/@nuxtjs/opencollective/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@openapitools/openapi-generator-cli": { + "version": "2.25.2", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.25.2.tgz", + "integrity": "sha512-TXElbW1NXCy0EECXiO5AD2ZzT1dmaCs41Z8t3pBUGaJf8zgF/Lm0P6GRhVEpw29iHBNjZcy8nrgQ1acUfuCdng==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@nestjs/axios": "4.0.1", + "@nestjs/common": "11.1.9", + "@nestjs/core": "11.1.9", + "@nuxtjs/opencollective": "0.3.2", + "axios": "1.13.2", + "chalk": "4.1.2", + "commander": "8.3.0", + "compare-versions": "6.1.1", + "concurrently": "9.2.1", + "console.table": "0.10.0", + "fs-extra": "11.3.2", + "glob": "13.0.0", + "inquirer": "8.2.7", + "proxy-agent": "6.5.0", + "reflect-metadata": "0.2.2", + "rxjs": "7.8.2", + "tslib": "2.8.1" + }, + "bin": { + "openapi-generator-cli": "main.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openapi_generator" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/glob": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", + "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "path-scurry": "^2.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/lru-cache": { + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@parcel/watcher": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", @@ -3861,6 +4180,36 @@ "tailwindcss": "4.1.17" } }, + "node_modules/@tokenizer/inflate": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.3.1.tgz", + "integrity": "sha512-4oeoZEBQdLdt5WmP/hx1KZ6D3/Oid/0cUb2nk4F0pTDAWy+KCH3/EnAkZF/bvckWo8I33EqBm01lIPgmgc8rCA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.1", + "fflate": "^0.8.2", + "token-types": "^6.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", + "license": "MIT" + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "license": "MIT" + }, "node_modules/@tufjs/canonical-json": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", @@ -3940,7 +4289,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -4049,6 +4397,35 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -4056,6 +4433,26 @@ "dev": true, "license": "MIT" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/baseline-browser-mapping": { "version": "2.8.25", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.25.tgz", @@ -4066,6 +4463,15 @@ "baseline-browser-mapping": "dist/cli.js" } }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/beasties": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", @@ -4086,6 +4492,17 @@ "node": ">=14.0.0" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/body-parser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", @@ -4185,6 +4602,30 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4274,7 +4715,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -4339,7 +4779,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", - "dev": true, "license": "MIT" }, "node_modules/chokidar": { @@ -4388,7 +4827,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4457,11 +4895,19 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4474,7 +4920,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, "license": "MIT" }, "node_modules/colorette": { @@ -4484,6 +4929,229 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/concurrently/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/console.table": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", + "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", + "license": "MIT", + "dependencies": { + "easy-table": "1.1.0" + }, + "engines": { + "node": "> 0.10" + } + }, "node_modules/content-disposition": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", @@ -4606,6 +5274,15 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -4626,7 +5303,6 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4640,6 +5316,41 @@ } } }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -4722,7 +5433,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -4740,6 +5450,15 @@ "dev": true, "license": "MIT" }, + "node_modules/easy-table": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", + "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", + "license": "MIT", + "optionalDependencies": { + "wcwidth": ">=1.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -4775,7 +5494,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -4786,7 +5504,6 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "license": "MIT", "optional": true, "dependencies": { @@ -4870,7 +5587,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4880,7 +5596,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4890,7 +5605,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -4899,6 +5613,21 @@ "node": ">= 0.4" } }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/esbuild": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", @@ -4945,7 +5674,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -4958,6 +5686,77 @@ "dev": true, "license": "MIT" }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -5078,6 +5877,12 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "license": "MIT" + }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", @@ -5113,6 +5918,45 @@ } } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-type": { + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.1.0.tgz", + "integrity": "sha512-boU4EHmP3JXkwDo4uhyBhTt5pPstxB6eEXKJBu2yu2l7aAMMm7QQYQEzssJmKReZYrFdFOJS8koVo6bXIBGDqA==", + "license": "MIT", + "dependencies": { + "@tokenizer/inflate": "^0.3.1", + "strtok3": "^10.3.1", + "token-types": "^6.0.0", + "uint8array-extras": "^1.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5145,6 +5989,26 @@ "node": ">= 0.8" } }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -5162,6 +6026,43 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/form-data/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -5182,6 +6083,20 @@ "node": ">= 0.8" } }, + "node_modules/fs-extra": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, "node_modules/fs-minipass": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", @@ -5214,7 +6129,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5234,7 +6148,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -5257,7 +6170,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -5282,7 +6194,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -5292,6 +6203,20 @@ "node": ">= 0.4" } }, + "node_modules/get-uri": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", + "license": "MIT", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -5324,7 +6249,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5339,11 +6263,19 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -5352,11 +6284,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -5459,7 +6405,6 @@ "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.0", @@ -5473,7 +6418,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -5487,7 +6431,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "dev": true, "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -5500,6 +6443,26 @@ "url": "https://opencollective.com/express" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore-walk": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", @@ -5564,7 +6527,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -5577,11 +6539,265 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/inquirer": { + "version": "8.2.7", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", + "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", + "license": "MIT", + "dependencies": { + "@inquirer/external-editor": "^1.0.0", + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "license": "ISC", + "engines": { + "node": ">= 10" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "license": "ISC" + }, + "node_modules/inquirer/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ip-address": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", - "dev": true, "license": "MIT", "engines": { "node": ">= 12" @@ -5736,6 +6952,15 @@ "node": ">=10" } }, + "node_modules/iterare": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", + "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", + "license": "ISC", + "engines": { + "node": ">=6" + } + }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -5818,6 +7043,18 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -6179,6 +7416,31 @@ "@lmdb/lmdb-win32-x64": "3.4.2" } }, + "node_modules/load-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz", + "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + }, + { + "type": "buymeacoffee", + "url": "https://buymeacoffee.com/borewit" + } + ], + "license": "MIT", + "engines": { + "node": ">=13.2.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, "node_modules/log-symbols": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", @@ -6353,7 +7615,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -6448,6 +7709,15 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -6481,7 +7751,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -6657,7 +7926,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/msgpackr": { @@ -6764,6 +8032,15 @@ "node": ">= 0.6" } }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/ng-zorro-antd": { "version": "20.4.0", "resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-20.4.0.tgz", @@ -6793,6 +8070,26 @@ "license": "MIT", "optional": true }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-gyp": { "version": "11.5.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz", @@ -7224,6 +8521,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "license": "MIT", + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "license": "MIT", + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", @@ -7429,7 +8758,6 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "dev": true, "license": "MIT", "funding": { "type": "opencollective", @@ -7562,6 +8890,40 @@ "node": ">= 0.10" } }, + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -7622,6 +8984,20 @@ "node": ">= 0.10" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -7640,9 +9016,17 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, "license": "Apache-2.0" }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -7767,6 +9151,15 @@ "node": ">= 18" } }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/rxjs": { "version": "7.8.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", @@ -7780,7 +9173,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -7801,7 +9193,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "license": "MIT" }, "node_modules/sass": { @@ -7915,6 +9306,18 @@ "node": ">=8" } }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -8043,7 +9446,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 6.0.0", @@ -8054,7 +9456,6 @@ "version": "2.8.7", "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "dev": true, "license": "MIT", "dependencies": { "ip-address": "^10.0.1", @@ -8069,7 +9470,6 @@ "version": "8.0.5", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -8192,6 +9592,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -8306,6 +9715,37 @@ "node": ">=8" } }, + "node_modules/strtok3": { + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", + "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", + "license": "MIT", + "dependencies": { + "@tokenizer/token": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -8426,6 +9866,12 @@ "dev": true, "license": "ISC" }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "license": "MIT" + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", @@ -8467,6 +9913,39 @@ "node": ">=0.6" } }, + "node_modules/token-types": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.1.tgz", + "integrity": "sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==", + "license": "MIT", + "dependencies": { + "@borewit/text-codec": "^0.1.0", + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -8488,6 +9967,18 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", @@ -8517,6 +10008,30 @@ "node": ">=14.17" } }, + "node_modules/uid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", + "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uint8array-extras": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-filename": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", @@ -8543,6 +10058,15 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -8594,6 +10118,12 @@ "punycode": "^2.1.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -8731,6 +10261,15 @@ "node": ">=10.13.0" } }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/weak-lru-cache": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", @@ -8739,6 +10278,22 @@ "license": "MIT", "optional": true }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8759,7 +10314,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -8864,7 +10418,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8874,7 +10427,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -8890,14 +10442,12 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, "license": "MIT" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -8907,7 +10457,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -8922,7 +10471,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -8942,7 +10490,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "license": "ISC", "engines": { "node": ">=10" diff --git a/package.json b/package.json index 2e46947..9e9511d 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "ng": "ng", "start": "ng serve", "build": "ng build", - "watch": "ng build --watch --configuration development" + "watch": "ng build --watch --configuration development", + "openapi": "rm -rf src/app/services/api && openapi-generator-cli generate -i http://localhost:5298/swagger/v1/swagger.json -g typescript-angular -o src/app/services/api -c openapi-generator.yaml" }, "prettier": { "printWidth": 100, @@ -27,6 +28,7 @@ "@angular/forms": "^20.3.0", "@angular/platform-browser": "^20.3.0", "@angular/router": "^20.3.0", + "@openapitools/openapi-generator-cli": "^2.25.2", "@tailwindcss/postcss": "^4.1.17", "ng-zorro-antd": "^20.4.0", "postcss": "^8.5.6", diff --git a/src/app/services/api/.gitignore b/src/app/services/api/.gitignore new file mode 100644 index 0000000..149b576 --- /dev/null +++ b/src/app/services/api/.gitignore @@ -0,0 +1,4 @@ +wwwroot/*.js +node_modules +typings +dist diff --git a/src/app/services/api/.openapi-generator-ignore b/src/app/services/api/.openapi-generator-ignore new file mode 100644 index 0000000..7484ee5 --- /dev/null +++ b/src/app/services/api/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/app/services/api/.openapi-generator/FILES b/src/app/services/api/.openapi-generator/FILES new file mode 100644 index 0000000..f314012 --- /dev/null +++ b/src/app/services/api/.openapi-generator/FILES @@ -0,0 +1,93 @@ +.gitignore +.openapi-generator-ignore +README.md +api.base.service.ts +api.module.ts +api/api.ts +api/availabilities.service.ts +api/communications.service.ts +api/contacts.service.ts +api/customers.service.ts +api/customertypes.service.ts +api/experiencelevels.service.ts +api/historyofapprovals.service.ts +api/providers.service.ts +api/providertype.service.ts +api/providertypes.service.ts +api/staffs.service.ts +configuration.ts +encoder.ts +git_push.sh +index.ts +model/action-of-authorization-policy-builder.ts +model/assembly.ts +model/base-endpoint.ts +model/calling-conventions.ts +model/claim.ts +model/claims-identity.ts +model/claims-principal.ts +model/constructor-info.ts +model/create-availability-dto.ts +model/create-communication-dto.ts +model/create-contact-dto.ts +model/create-customer-dto.ts +model/create-customer-type-dto.ts +model/create-experience-level-dto.ts +model/create-history-of-approval-dto.ts +model/create-provider-dto.ts +model/create-provider-type-dto.ts +model/create-staff-dto.ts +model/custom-attribute-data.ts +model/custom-attribute-named-argument.ts +model/custom-attribute-typed-argument.ts +model/delegate.ts +model/endpoint-definition.ts +model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts +model/endpoint-summary.ts +model/endpoint-without-request-of-list-of-get-communication-dto.ts +model/ep-version.ts +model/func-of-object.ts +model/get-all-communications-endpoint.ts +model/get-availability-dto.ts +model/get-communication-dto.ts +model/get-contact-dto.ts +model/get-customer-dto.ts +model/get-customer-type-dto.ts +model/get-experience-level-dto.ts +model/get-history-of-approval-dto.ts +model/get-provider-dto.ts +model/get-provider-type-dto.ts +model/get-staff-dto.ts +model/http.ts +model/i-identity.ts +model/i-web-host-environment.ts +model/idempotency-options.ts +model/member-info.ts +model/member-types.ts +model/method-base.ts +model/method-impl-attributes.ts +model/method-info.ts +model/models.ts +model/module-handle.ts +model/module.ts +model/multicast-delegate.ts +model/parameter-attributes.ts +model/parameter-info.ts +model/request-example.ts +model/response-header.ts +model/security-rule-set.ts +model/severity.ts +model/update-availability-dto.ts +model/update-communication-dto.ts +model/update-contact-dto.ts +model/update-customer-dto.ts +model/update-customer-type-dto.ts +model/update-experience-level-dto.ts +model/update-history-of-approval-dto.ts +model/update-provider-dto.ts +model/update-provider-type-dto.ts +model/update-staff-dto.ts +model/validation-failure.ts +param.ts +provide-api.ts +variables.ts diff --git a/src/app/services/api/.openapi-generator/VERSION b/src/app/services/api/.openapi-generator/VERSION new file mode 100644 index 0000000..6328c54 --- /dev/null +++ b/src/app/services/api/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.17.0 diff --git a/src/app/services/api/README.md b/src/app/services/api/README.md new file mode 100644 index 0000000..c2ba935 --- /dev/null +++ b/src/app/services/api/README.md @@ -0,0 +1,185 @@ +# @ + +No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + +The version of the OpenAPI document: 1.0.0 + +## Building + +To install the required dependencies and to build the typescript sources run: + +```console +npm install +npm run build +``` + +## Publishing + +First build the package then run `npm publish dist` (don't forget to specify the `dist` folder!) + +## Consuming + +Navigate to the folder of your consuming project and run one of next commands. + +_published:_ + +```console +npm install @ --save +``` + +_without publishing (not recommended):_ + +```console +npm install PATH_TO_GENERATED_PACKAGE/dist.tgz --save +``` + +_It's important to take the tgz file, otherwise you'll get trouble with links on windows_ + +_using `npm link`:_ + +In PATH_TO_GENERATED_PACKAGE/dist: + +```console +npm link +``` + +In your project: + +```console +npm link +``` + +__Note for Windows users:__ The Angular CLI has troubles to use linked npm packages. +Please refer to this issue for a solution / workaround. +Published packages are not effected by this issue. + +### General usage + +In your Angular project: + +```typescript + +import { ApplicationConfig } from '@angular/core'; +import { provideHttpClient } from '@angular/common/http'; +import { provideApi } from ''; + +export const appConfig: ApplicationConfig = { + providers: [ + // ... + provideHttpClient(), + provideApi() + ], +}; +``` + +**NOTE** +If you're still using `AppModule` and haven't [migrated](https://angular.dev/reference/migrations/standalone) yet, you can still import an Angular module: +```typescript +import { ApiModule } from ''; +``` + +If different from the generated base path, during app bootstrap, you can provide the base path to your service. + +```typescript +import { ApplicationConfig } from '@angular/core'; +import { provideHttpClient } from '@angular/common/http'; +import { provideApi } from ''; + +export const appConfig: ApplicationConfig = { + providers: [ + // ... + provideHttpClient(), + provideApi('http://localhost:9999') + ], +}; +``` + +```typescript +// with a custom configuration +import { ApplicationConfig } from '@angular/core'; +import { provideHttpClient } from '@angular/common/http'; +import { provideApi } from ''; + +export const appConfig: ApplicationConfig = { + providers: [ + // ... + provideHttpClient(), + provideApi({ + withCredentials: true, + username: 'user', + password: 'password' + }) + ], +}; +``` + +```typescript +// with factory building a custom configuration +import { ApplicationConfig } from '@angular/core'; +import { provideHttpClient } from '@angular/common/http'; +import { provideApi, Configuration } from ''; + +export const appConfig: ApplicationConfig = { + providers: [ + // ... + provideHttpClient(), + { + provide: Configuration, + useFactory: (authService: AuthService) => new Configuration({ + basePath: 'http://localhost:9999', + withCredentials: true, + username: authService.getUsername(), + password: authService.getPassword(), + }), + deps: [AuthService], + multi: false + } + ], +}; +``` + +### Using multiple OpenAPI files / APIs + +In order to use multiple APIs generated from different OpenAPI files, +you can create an alias name when importing the modules +in order to avoid naming conflicts: + +```typescript +import { provideApi as provideUserApi } from 'my-user-api-path'; +import { provideApi as provideAdminApi } from 'my-admin-api-path'; +import { HttpClientModule } from '@angular/common/http'; +import { environment } from '../environments/environment'; + +export const appConfig: ApplicationConfig = { + providers: [ + // ... + provideHttpClient(), + provideUserApi(environment.basePath), + provideAdminApi(environment.basePath), + ], +}; +``` + +### Customizing path parameter encoding + +Without further customization, only [path-parameters][parameter-locations-url] of [style][style-values-url] 'simple' +and Dates for format 'date-time' are encoded correctly. + +Other styles (e.g. "matrix") are not that easy to encode +and thus are best delegated to other libraries (e.g.: [@honoluluhenk/http-param-expander]). + +To implement your own parameter encoding (or call another library), +pass an arrow-function or method-reference to the `encodeParam` property of the Configuration-object +(see [General Usage](#general-usage) above). + +Example value for use in your Configuration-Provider: + +```typescript +new Configuration({ + encodeParam: (param: Param) => myFancyParamEncoder(param), +}) +``` + +[parameter-locations-url]: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#parameter-locations +[style-values-url]: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values +[@honoluluhenk/http-param-expander]: https://www.npmjs.com/package/@honoluluhenk/http-param-expander diff --git a/src/app/services/api/api.base.service.ts b/src/app/services/api/api.base.service.ts new file mode 100644 index 0000000..1e0f210 --- /dev/null +++ b/src/app/services/api/api.base.service.ts @@ -0,0 +1,83 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http'; +import { CustomHttpParameterCodec } from './encoder'; +import { Configuration } from './configuration'; + +export class BaseService { + protected basePath = 'http://localhost:5298'; + public defaultHeaders = new HttpHeaders(); + public configuration: Configuration; + public encoder: HttpParameterCodec; + + constructor(basePath?: string|string[], configuration?: Configuration) { + this.configuration = configuration || new Configuration(); + if (typeof this.configuration.basePath !== 'string') { + const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; + if (firstBasePath != undefined) { + basePath = firstBasePath; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + protected canConsumeForm(consumes: string[]): boolean { + return consumes.indexOf('multipart/form-data') !== -1; + } + + protected addToHttpParams(httpParams: HttpParams, value: any, key?: string, isDeep: boolean = false): HttpParams { + // If the value is an object (but not a Date), recursively add its keys. + if (typeof value === 'object' && !(value instanceof Date)) { + return this.addToHttpParamsRecursive(httpParams, value, isDeep ? key : undefined, isDeep); + } + return this.addToHttpParamsRecursive(httpParams, value, key); + } + + protected addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string, isDeep: boolean = false): HttpParams { + if (value === null || value === undefined) { + return httpParams; + } + if (typeof value === 'object') { + // If JSON format is preferred, key must be provided. + if (key != null) { + return isDeep + ? Object.keys(value as Record).reduce( + (hp, k) => hp.append(`${key}[${k}]`, value[k]), + httpParams, + ) + : httpParams.append(key, JSON.stringify(value)); + } + // Otherwise, if it's an array, add each element. + if (Array.isArray(value)) { + value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, value.toISOString()); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach(k => { + const paramKey = key ? `${key}.${k}` : k; + httpParams = this.addToHttpParamsRecursive(httpParams, value[k], paramKey); + }); + } + return httpParams; + } else if (key != null) { + return httpParams.append(key, value); + } + throw Error("key may not be null if value is not object or array"); + } +} diff --git a/src/app/services/api/api.module.ts b/src/app/services/api/api.module.ts new file mode 100644 index 0000000..58d341f --- /dev/null +++ b/src/app/services/api/api.module.ts @@ -0,0 +1,30 @@ +import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { Configuration } from './configuration'; +import { HttpClient } from '@angular/common/http'; + + +@NgModule({ + imports: [], + declarations: [], + exports: [], + providers: [] +}) +export class ApiModule { + public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders { + return { + ngModule: ApiModule, + providers: [ { provide: Configuration, useFactory: configurationFactory } ] + }; + } + + constructor( @Optional() @SkipSelf() parentModule: ApiModule, + @Optional() http: HttpClient) { + if (parentModule) { + throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); + } + if (!http) { + throw new Error('You need to import the HttpClientModule in your AppModule! \n' + + 'See also https://github.com/angular/angular/issues/20575'); + } + } +} diff --git a/src/app/services/api/api/api.ts b/src/app/services/api/api/api.ts new file mode 100644 index 0000000..2934582 --- /dev/null +++ b/src/app/services/api/api/api.ts @@ -0,0 +1,23 @@ +export * from './availabilities.service'; +import { AvailabilitiesService } from './availabilities.service'; +export * from './communications.service'; +import { CommunicationsService } from './communications.service'; +export * from './contacts.service'; +import { ContactsService } from './contacts.service'; +export * from './customers.service'; +import { CustomersService } from './customers.service'; +export * from './customertypes.service'; +import { CustomertypesService } from './customertypes.service'; +export * from './experiencelevels.service'; +import { ExperiencelevelsService } from './experiencelevels.service'; +export * from './historyofapprovals.service'; +import { HistoryofapprovalsService } from './historyofapprovals.service'; +export * from './providers.service'; +import { ProvidersService } from './providers.service'; +export * from './providertype.service'; +import { ProvidertypeService } from './providertype.service'; +export * from './providertypes.service'; +import { ProvidertypesService } from './providertypes.service'; +export * from './staffs.service'; +import { StaffsService } from './staffs.service'; +export const APIS = [AvailabilitiesService, CommunicationsService, ContactsService, CustomersService, CustomertypesService, ExperiencelevelsService, HistoryofapprovalsService, ProvidersService, ProvidertypeService, ProvidertypesService, StaffsService]; diff --git a/src/app/services/api/api/availabilities.service.ts b/src/app/services/api/api/availabilities.service.ts new file mode 100644 index 0000000..bb38167 --- /dev/null +++ b/src/app/services/api/api/availabilities.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateAvailabilityDto } from '../model/create-availability-dto'; +// @ts-ignore +import { GetAvailabilityDto } from '../model/get-availability-dto'; +// @ts-ignore +import { UpdateAvailabilityDto } from '../model/update-availability-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class AvailabilitiesService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/availabilities + * @param createAvailabilityDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createAvailabilityEndpoint(createAvailabilityDto: CreateAvailabilityDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createAvailabilityEndpoint(createAvailabilityDto: CreateAvailabilityDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createAvailabilityEndpoint(createAvailabilityDto: CreateAvailabilityDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createAvailabilityEndpoint(createAvailabilityDto: CreateAvailabilityDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createAvailabilityDto === null || createAvailabilityDto === undefined) { + throw new Error('Required parameter createAvailabilityDto was null or undefined when calling createAvailabilityEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/availabilities`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createAvailabilityDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/availabilities/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteAvailabilityEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteAvailabilityEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteAvailabilityEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteAvailabilityEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteAvailabilityEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/availabilities/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/availabilities + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllAvailabilityxuest(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllAvailabilityxuest(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllAvailabilityxuest(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllAvailabilityxuest(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/availabilities`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/availabilities/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAvailabilityEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getAvailabilityEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAvailabilityEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAvailabilityEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getAvailabilityEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/availabilities/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/availabilities/{id} + * @param id + * @param updateAvailabilityDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateAvailabilityEndpoint(id: number, updateAvailabilityDto: UpdateAvailabilityDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateAvailabilityEndpoint(id: number, updateAvailabilityDto: UpdateAvailabilityDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateAvailabilityEndpoint(id: number, updateAvailabilityDto: UpdateAvailabilityDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateAvailabilityEndpoint(id: number, updateAvailabilityDto: UpdateAvailabilityDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateAvailabilityEndpoint.'); + } + if (updateAvailabilityDto === null || updateAvailabilityDto === undefined) { + throw new Error('Required parameter updateAvailabilityDto was null or undefined when calling updateAvailabilityEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/availabilities/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateAvailabilityDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/communications.service.ts b/src/app/services/api/api/communications.service.ts new file mode 100644 index 0000000..6fe3c95 --- /dev/null +++ b/src/app/services/api/api/communications.service.ts @@ -0,0 +1,348 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateCommunicationDto } from '../model/create-communication-dto'; +// @ts-ignore +import { GetAllCommunicationsEndpoint } from '../model/get-all-communications-endpoint'; +// @ts-ignore +import { GetCommunicationDto } from '../model/get-communication-dto'; +// @ts-ignore +import { UpdateCommunicationDto } from '../model/update-communication-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class CommunicationsService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/communications + * @param createCommunicationDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createCommunicationEndpoint(createCommunicationDto: CreateCommunicationDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createCommunicationEndpoint(createCommunicationDto: CreateCommunicationDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCommunicationEndpoint(createCommunicationDto: CreateCommunicationDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCommunicationEndpoint(createCommunicationDto: CreateCommunicationDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createCommunicationDto === null || createCommunicationDto === undefined) { + throw new Error('Required parameter createCommunicationDto was null or undefined when calling createCommunicationEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/communications`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createCommunicationDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/communications/{id} + * @param id + * @param getCommunicationDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteCommunicationEndpoint.'); + } + if (getCommunicationDto === null || getCommunicationDto === undefined) { + throw new Error('Required parameter getCommunicationDto was null or undefined when calling deleteCommunicationEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/communications/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: getCommunicationDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/communications + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllCommunicationsEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllCommunicationsEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCommunicationsEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCommunicationsEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/communications`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/communications/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getCommunicationEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getCommunicationEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCommunicationEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCommunicationEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getCommunicationEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/communications/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/communications/{id} + * @param id + * @param updateCommunicationDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateCommunicationEndpoint(id: number, updateCommunicationDto: UpdateCommunicationDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateCommunicationEndpoint(id: number, updateCommunicationDto: UpdateCommunicationDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCommunicationEndpoint(id: number, updateCommunicationDto: UpdateCommunicationDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCommunicationEndpoint(id: number, updateCommunicationDto: UpdateCommunicationDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateCommunicationEndpoint.'); + } + if (updateCommunicationDto === null || updateCommunicationDto === undefined) { + throw new Error('Required parameter updateCommunicationDto was null or undefined when calling updateCommunicationEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/communications/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateCommunicationDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/contacts.service.ts b/src/app/services/api/api/contacts.service.ts new file mode 100644 index 0000000..de283ff --- /dev/null +++ b/src/app/services/api/api/contacts.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateContactDto } from '../model/create-contact-dto'; +// @ts-ignore +import { GetContactDto } from '../model/get-contact-dto'; +// @ts-ignore +import { UpdateContactDto } from '../model/update-contact-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ContactsService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/contacts + * @param createContactDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createContactEndpoint(createContactDto: CreateContactDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createContactEndpoint(createContactDto: CreateContactDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createContactEndpoint(createContactDto: CreateContactDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createContactEndpoint(createContactDto: CreateContactDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createContactDto === null || createContactDto === undefined) { + throw new Error('Required parameter createContactDto was null or undefined when calling createContactEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/contacts`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createContactDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/contacts/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteContactEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteContactEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteContactEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteContactEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteContactEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/contacts/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/contacts + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllContactxuest(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllContactxuest(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllContactxuest(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllContactxuest(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/contacts`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/contacts/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getContactEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getContactEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getContactEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getContactEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getContactEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/contacts/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/contacts/{id} + * @param id + * @param updateContactDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateContactRequest.'); + } + if (updateContactDto === null || updateContactDto === undefined) { + throw new Error('Required parameter updateContactDto was null or undefined when calling updateContactRequest.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/contacts/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateContactDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/customers.service.ts b/src/app/services/api/api/customers.service.ts new file mode 100644 index 0000000..5d8adf2 --- /dev/null +++ b/src/app/services/api/api/customers.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateCustomerDto } from '../model/create-customer-dto'; +// @ts-ignore +import { GetCustomerDto } from '../model/get-customer-dto'; +// @ts-ignore +import { UpdateCustomerDto } from '../model/update-customer-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class CustomersService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/customers + * @param createCustomerDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createCustomerEndpoint(createCustomerDto: CreateCustomerDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createCustomerEndpoint(createCustomerDto: CreateCustomerDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCustomerEndpoint(createCustomerDto: CreateCustomerDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCustomerEndpoint(createCustomerDto: CreateCustomerDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createCustomerDto === null || createCustomerDto === undefined) { + throw new Error('Required parameter createCustomerDto was null or undefined when calling createCustomerEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customers`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createCustomerDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/customers/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteCustomerEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteCustomerEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCustomerEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCustomerEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteCustomerEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/customers + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllCustomerEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllCustomerEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCustomerEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCustomerEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customers`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/customers/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getCustomerEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getCustomerEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCustomerEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCustomerEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getCustomerEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/customers/{id} + * @param id + * @param updateCustomerDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateCustomer(id: number, updateCustomerDto: UpdateCustomerDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateCustomer(id: number, updateCustomerDto: UpdateCustomerDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCustomer(id: number, updateCustomerDto: UpdateCustomerDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCustomer(id: number, updateCustomerDto: UpdateCustomerDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateCustomer.'); + } + if (updateCustomerDto === null || updateCustomerDto === undefined) { + throw new Error('Required parameter updateCustomerDto was null or undefined when calling updateCustomer.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateCustomerDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/customertypes.service.ts b/src/app/services/api/api/customertypes.service.ts new file mode 100644 index 0000000..9c8f9ec --- /dev/null +++ b/src/app/services/api/api/customertypes.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateCustomerTypeDto } from '../model/create-customer-type-dto'; +// @ts-ignore +import { GetCustomerTypeDto } from '../model/get-customer-type-dto'; +// @ts-ignore +import { UpdateCustomerTypeDto } from '../model/update-customer-type-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class CustomertypesService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/customertypes + * @param createCustomerTypeDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createCustomerTypeEndpoint(createCustomerTypeDto: CreateCustomerTypeDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createCustomerTypeEndpoint(createCustomerTypeDto: CreateCustomerTypeDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCustomerTypeEndpoint(createCustomerTypeDto: CreateCustomerTypeDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createCustomerTypeEndpoint(createCustomerTypeDto: CreateCustomerTypeDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createCustomerTypeDto === null || createCustomerTypeDto === undefined) { + throw new Error('Required parameter createCustomerTypeDto was null or undefined when calling createCustomerTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customertypes`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createCustomerTypeDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/customertypes/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteCustomerTypeEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteCustomerTypeEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCustomerTypeEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCustomerTypeEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteCustomerTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/customertypes + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllCustomerTypeEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllCustomerTypeEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCustomerTypeEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllCustomerTypeEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customertypes`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/customertypes/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getCustomerTypeEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getCustomerTypeEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCustomerTypeEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getCustomerTypeEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getCustomerTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/customertypes/{id} + * @param id + * @param updateCustomerTypeDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateCustomerType(id: number, updateCustomerTypeDto: UpdateCustomerTypeDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateCustomerType(id: number, updateCustomerTypeDto: UpdateCustomerTypeDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCustomerType(id: number, updateCustomerTypeDto: UpdateCustomerTypeDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateCustomerType(id: number, updateCustomerTypeDto: UpdateCustomerTypeDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateCustomerType.'); + } + if (updateCustomerTypeDto === null || updateCustomerTypeDto === undefined) { + throw new Error('Required parameter updateCustomerTypeDto was null or undefined when calling updateCustomerType.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/customertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateCustomerTypeDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/experiencelevels.service.ts b/src/app/services/api/api/experiencelevels.service.ts new file mode 100644 index 0000000..e6719c4 --- /dev/null +++ b/src/app/services/api/api/experiencelevels.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateExperienceLevelDto } from '../model/create-experience-level-dto'; +// @ts-ignore +import { GetExperienceLevelDto } from '../model/get-experience-level-dto'; +// @ts-ignore +import { UpdateExperienceLevelDto } from '../model/update-experience-level-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ExperiencelevelsService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/experiencelevels + * @param createExperienceLevelDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createExperienceLevelEndpoint(createExperienceLevelDto: CreateExperienceLevelDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createExperienceLevelEndpoint(createExperienceLevelDto: CreateExperienceLevelDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createExperienceLevelEndpoint(createExperienceLevelDto: CreateExperienceLevelDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createExperienceLevelEndpoint(createExperienceLevelDto: CreateExperienceLevelDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createExperienceLevelDto === null || createExperienceLevelDto === undefined) { + throw new Error('Required parameter createExperienceLevelDto was null or undefined when calling createExperienceLevelEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/experiencelevels`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createExperienceLevelDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/experiencelevels/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteExerienceLevelEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteExerienceLevelEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteExerienceLevelEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteExerienceLevelEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteExerienceLevelEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/experiencelevels/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/experiencelevels + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllExperienceLevelsEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllExperienceLevelsEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllExperienceLevelsEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllExperienceLevelsEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/experiencelevels`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/experiencelevels/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getExperienceLevelEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getExperienceLevelEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getExperienceLevelEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getExperienceLevelEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getExperienceLevelEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/experiencelevels/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/experiencelevels/{id} + * @param id + * @param updateExperienceLevelDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateExperienceLevelEndpoint(id: number, updateExperienceLevelDto: UpdateExperienceLevelDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateExperienceLevelEndpoint(id: number, updateExperienceLevelDto: UpdateExperienceLevelDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateExperienceLevelEndpoint(id: number, updateExperienceLevelDto: UpdateExperienceLevelDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateExperienceLevelEndpoint(id: number, updateExperienceLevelDto: UpdateExperienceLevelDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateExperienceLevelEndpoint.'); + } + if (updateExperienceLevelDto === null || updateExperienceLevelDto === undefined) { + throw new Error('Required parameter updateExperienceLevelDto was null or undefined when calling updateExperienceLevelEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/experiencelevels/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateExperienceLevelDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/historyofapprovals.service.ts b/src/app/services/api/api/historyofapprovals.service.ts new file mode 100644 index 0000000..aff0f8e --- /dev/null +++ b/src/app/services/api/api/historyofapprovals.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateHistoryOfApprovalDto } from '../model/create-history-of-approval-dto'; +// @ts-ignore +import { GetHistoryOfApprovalDto } from '../model/get-history-of-approval-dto'; +// @ts-ignore +import { UpdateHistoryOfApprovalDto } from '../model/update-history-of-approval-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class HistoryofapprovalsService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/historyofapprovals + * @param createHistoryOfApprovalDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createHistoryOfApprovalEndpoint(createHistoryOfApprovalDto: CreateHistoryOfApprovalDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createHistoryOfApprovalEndpoint(createHistoryOfApprovalDto: CreateHistoryOfApprovalDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createHistoryOfApprovalEndpoint(createHistoryOfApprovalDto: CreateHistoryOfApprovalDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createHistoryOfApprovalEndpoint(createHistoryOfApprovalDto: CreateHistoryOfApprovalDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createHistoryOfApprovalDto === null || createHistoryOfApprovalDto === undefined) { + throw new Error('Required parameter createHistoryOfApprovalDto was null or undefined when calling createHistoryOfApprovalEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/historyofapprovals`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createHistoryOfApprovalDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/historyofapprovals/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteHistoryOfApprovalEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteHistoryOfApprovalEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteHistoryOfApprovalEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteHistoryOfApprovalEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteHistoryOfApprovalEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/historyofapprovals/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/historyofapprovals + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllHistoryOfApprovalEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllHistoryOfApprovalEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllHistoryOfApprovalEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllHistoryOfApprovalEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/historyofapprovals`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/historyofapprovals/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getHistoryOfApprovalEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getHistoryOfApprovalEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getHistoryOfApprovalEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getHistoryOfApprovalEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getHistoryOfApprovalEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/historyofapprovals/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/historyofapprovals/{id} + * @param id + * @param updateHistoryOfApprovalDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateHistoryOfApprovalEndpoint(id: number, updateHistoryOfApprovalDto: UpdateHistoryOfApprovalDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateHistoryOfApprovalEndpoint(id: number, updateHistoryOfApprovalDto: UpdateHistoryOfApprovalDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateHistoryOfApprovalEndpoint(id: number, updateHistoryOfApprovalDto: UpdateHistoryOfApprovalDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateHistoryOfApprovalEndpoint(id: number, updateHistoryOfApprovalDto: UpdateHistoryOfApprovalDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateHistoryOfApprovalEndpoint.'); + } + if (updateHistoryOfApprovalDto === null || updateHistoryOfApprovalDto === undefined) { + throw new Error('Required parameter updateHistoryOfApprovalDto was null or undefined when calling updateHistoryOfApprovalEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/historyofapprovals/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateHistoryOfApprovalDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/providers.service.ts b/src/app/services/api/api/providers.service.ts new file mode 100644 index 0000000..1275be0 --- /dev/null +++ b/src/app/services/api/api/providers.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateProviderDto } from '../model/create-provider-dto'; +// @ts-ignore +import { GetProviderDto } from '../model/get-provider-dto'; +// @ts-ignore +import { UpdateProviderDto } from '../model/update-provider-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ProvidersService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/providers + * @param createProviderDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createProviderEndpoint(createProviderDto: CreateProviderDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createProviderEndpoint(createProviderDto: CreateProviderDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createProviderEndpoint(createProviderDto: CreateProviderDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createProviderEndpoint(createProviderDto: CreateProviderDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createProviderDto === null || createProviderDto === undefined) { + throw new Error('Required parameter createProviderDto was null or undefined when calling createProviderEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providers`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createProviderDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/providers/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteProviderEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteProviderEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteProviderEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteProviderEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteProviderEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/providers + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllProvidersEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllProvidersEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProvidersEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProvidersEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providers`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/providers/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getProviderEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getProviderEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getProviderEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getProviderEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getProviderEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/providers/{id} + * @param id + * @param updateProviderDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateProviderEndpoint(id: number, updateProviderDto: UpdateProviderDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateProviderEndpoint(id: number, updateProviderDto: UpdateProviderDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateProviderEndpoint(id: number, updateProviderDto: UpdateProviderDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateProviderEndpoint(id: number, updateProviderDto: UpdateProviderDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateProviderEndpoint.'); + } + if (updateProviderDto === null || updateProviderDto === undefined) { + throw new Error('Required parameter updateProviderDto was null or undefined when calling updateProviderEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateProviderDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/providertype.service.ts b/src/app/services/api/api/providertype.service.ts new file mode 100644 index 0000000..9f7c7d6 --- /dev/null +++ b/src/app/services/api/api/providertype.service.ts @@ -0,0 +1,88 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { GetProviderTypeDto } from '../model/get-provider-type-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ProvidertypeService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint get /API/providertype + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllProviderTypesEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllProviderTypesEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProviderTypesEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProviderTypesEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertype`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/providertypes.service.ts b/src/app/services/api/api/providertypes.service.ts new file mode 100644 index 0000000..bcbfc2a --- /dev/null +++ b/src/app/services/api/api/providertypes.service.ts @@ -0,0 +1,282 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateProviderTypeDto } from '../model/create-provider-type-dto'; +// @ts-ignore +import { GetProviderTypeDto } from '../model/get-provider-type-dto'; +// @ts-ignore +import { UpdateProviderTypeDto } from '../model/update-provider-type-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class ProvidertypesService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/providertypes + * @param createProviderTypeDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createProviderTypeEndpoint(createProviderTypeDto: CreateProviderTypeDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createProviderTypeEndpoint(createProviderTypeDto: CreateProviderTypeDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createProviderTypeEndpoint(createProviderTypeDto: CreateProviderTypeDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createProviderTypeEndpoint(createProviderTypeDto: CreateProviderTypeDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createProviderTypeDto === null || createProviderTypeDto === undefined) { + throw new Error('Required parameter createProviderTypeDto was null or undefined when calling createProviderTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertypes`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createProviderTypeDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/providertypes/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteProviderTypeEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteProviderTypeEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteProviderTypeEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteProviderTypeEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteProviderTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/providertypes/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getProviderTypeEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getProviderTypeEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getProviderTypeEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getProviderTypeEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getProviderTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/providertypes/{id} + * @param id + * @param updateProviderTypeDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateProviderTypeEndpoint(id: number, updateProviderTypeDto: UpdateProviderTypeDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateProviderTypeEndpoint(id: number, updateProviderTypeDto: UpdateProviderTypeDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateProviderTypeEndpoint(id: number, updateProviderTypeDto: UpdateProviderTypeDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateProviderTypeEndpoint(id: number, updateProviderTypeDto: UpdateProviderTypeDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateProviderTypeEndpoint.'); + } + if (updateProviderTypeDto === null || updateProviderTypeDto === undefined) { + throw new Error('Required parameter updateProviderTypeDto was null or undefined when calling updateProviderTypeEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertypes/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateProviderTypeDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/api/staffs.service.ts b/src/app/services/api/api/staffs.service.ts new file mode 100644 index 0000000..f04713f --- /dev/null +++ b/src/app/services/api/api/staffs.service.ts @@ -0,0 +1,332 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { CreateStaffDto } from '../model/create-staff-dto'; +// @ts-ignore +import { GetStaffDto } from '../model/get-staff-dto'; +// @ts-ignore +import { UpdateStaffDto } from '../model/update-staff-dto'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; +import { BaseService } from '../api.base.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class StaffsService extends BaseService { + + constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { + super(basePath, configuration); + } + + /** + * @endpoint post /API/staffs + * @param createStaffDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public createStaffEndpoint(createStaffDto: CreateStaffDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public createStaffEndpoint(createStaffDto: CreateStaffDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createStaffEndpoint(createStaffDto: CreateStaffDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public createStaffEndpoint(createStaffDto: CreateStaffDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (createStaffDto === null || createStaffDto === undefined) { + throw new Error('Required parameter createStaffDto was null or undefined when calling createStaffEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/staffs`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('post', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: createStaffDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint delete /API/staffs/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public deleteStaffEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteStaffEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteStaffEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteStaffEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling deleteStaffEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/staffs/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('delete', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/staffs + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllStaffsEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllStaffsEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllStaffsEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllStaffsEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/staffs`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint get /API/staffs/{id} + * @param id + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getStaffEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public getStaffEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getStaffEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getStaffEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling getStaffEndpoint.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/staffs/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + + /** + * @endpoint put /API/staffs/{id} + * @param id + * @param updateStaffDto + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + if (id === null || id === undefined) { + throw new Error('Required parameter id was null or undefined when calling updateStaffRequest.'); + } + if (updateStaffDto === null || updateStaffDto === undefined) { + throw new Error('Required parameter updateStaffDto was null or undefined when calling updateStaffRequest.'); + } + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/staffs/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request('put', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: updateStaffDto, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/services/api/configuration.ts b/src/app/services/api/configuration.ts new file mode 100644 index 0000000..5ffdfbb --- /dev/null +++ b/src/app/services/api/configuration.ts @@ -0,0 +1,193 @@ +import { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http'; +import { Param } from './param'; + +export interface ConfigurationParameters { + /** + * @deprecated Since 5.0. Use credentials instead + */ + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + /** + * @deprecated Since 5.0. Use credentials instead + */ + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; + /** + * Takes care of encoding query- and form-parameters. + */ + encoder?: HttpParameterCodec; + /** + * Override the default method for encoding path parameters in various + * styles. + *

+ * See {@link README.md} for more details + *

+ */ + encodeParam?: (param: Param) => string; + /** + * The keys are the names in the securitySchemes section of the OpenAPI + * document. They should map to the value used for authentication + * minus any standard prefixes such as 'Basic' or 'Bearer'. + */ + credentials?: {[ key: string ]: string | (() => string | undefined)}; +} + +export class Configuration { + /** + * @deprecated Since 5.0. Use credentials instead + */ + apiKeys?: {[ key: string ]: string}; + username?: string; + password?: string; + /** + * @deprecated Since 5.0. Use credentials instead + */ + accessToken?: string | (() => string); + basePath?: string; + withCredentials?: boolean; + /** + * Takes care of encoding query- and form-parameters. + */ + encoder?: HttpParameterCodec; + /** + * Encoding of various path parameter + * styles. + *

+ * See {@link README.md} for more details + *

+ */ + encodeParam: (param: Param) => string; + /** + * The keys are the names in the securitySchemes section of the OpenAPI + * document. They should map to the value used for authentication + * minus any standard prefixes such as 'Basic' or 'Bearer'. + */ + credentials: {[ key: string ]: string | (() => string | undefined)}; + +constructor({ accessToken, apiKeys, basePath, credentials, encodeParam, encoder, password, username, withCredentials }: ConfigurationParameters = {}) { + if (apiKeys) { + this.apiKeys = apiKeys; + } + if (username !== undefined) { + this.username = username; + } + if (password !== undefined) { + this.password = password; + } + if (accessToken !== undefined) { + this.accessToken = accessToken; + } + if (basePath !== undefined) { + this.basePath = basePath; + } + if (withCredentials !== undefined) { + this.withCredentials = withCredentials; + } + if (encoder) { + this.encoder = encoder; + } + this.encodeParam = encodeParam ?? (param => this.defaultEncodeParam(param)); + this.credentials = credentials ?? {}; + + // init default JWTBearerAuth credential + if (!this.credentials['JWTBearerAuth']) { + this.credentials['JWTBearerAuth'] = () => { + return typeof this.accessToken === 'function' + ? this.accessToken() + : this.accessToken; + }; + } + } + + /** + * Select the correct content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param contentTypes - the array of content types that are available for selection + * @returns the selected content-type or undefined if no selection could be made. + */ + public selectHeaderContentType (contentTypes: string[]): string | undefined { + if (contentTypes.length === 0) { + return undefined; + } + + const type = contentTypes.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return contentTypes[0]; + } + return type; + } + + /** + * Select the correct accept content-type to use for a request. + * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type. + * If no content type is found return the first found type if the contentTypes is not empty + * @param accepts - the array of content types that are available for selection. + * @returns the selected content-type or undefined if no selection could be made. + */ + public selectHeaderAccept(accepts: string[]): string | undefined { + if (accepts.length === 0) { + return undefined; + } + + const type = accepts.find((x: string) => this.isJsonMime(x)); + if (type === undefined) { + return accepts[0]; + } + return type; + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + public isJsonMime(mime: string): boolean { + const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); + return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); + } + + public lookupCredential(key: string): string | undefined { + const value = this.credentials[key]; + return typeof value === 'function' + ? value() + : value; + } + + public addCredentialToHeaders(credentialKey: string, headerName: string, headers: HttpHeaders, prefix?: string): HttpHeaders { + const value = this.lookupCredential(credentialKey); + return value + ? headers.set(headerName, (prefix ?? '') + value) + : headers; + } + + public addCredentialToQuery(credentialKey: string, paramName: string, query: HttpParams): HttpParams { + const value = this.lookupCredential(credentialKey); + return value + ? query.set(paramName, value) + : query; + } + + private defaultEncodeParam(param: Param): string { + // This implementation exists as fallback for missing configuration + // and for backwards compatibility to older typescript-angular generator versions. + // It only works for the 'simple' parameter style. + // Date-handling only works for the 'date-time' format. + // All other styles and Date-formats are probably handled incorrectly. + // + // But: if that's all you need (i.e.: the most common use-case): no need for customization! + + const value = param.dataFormat === 'date-time' && param.value instanceof Date + ? (param.value as Date).toISOString() + : param.value; + + return encodeURIComponent(String(value)); + } +} diff --git a/src/app/services/api/encoder.ts b/src/app/services/api/encoder.ts new file mode 100644 index 0000000..138c4d5 --- /dev/null +++ b/src/app/services/api/encoder.ts @@ -0,0 +1,20 @@ +import { HttpParameterCodec } from '@angular/common/http'; + +/** + * Custom HttpParameterCodec + * Workaround for https://github.com/angular/angular/issues/18261 + */ +export class CustomHttpParameterCodec implements HttpParameterCodec { + encodeKey(k: string): string { + return encodeURIComponent(k); + } + encodeValue(v: string): string { + return encodeURIComponent(v); + } + decodeKey(k: string): string { + return decodeURIComponent(k); + } + decodeValue(v: string): string { + return decodeURIComponent(v); + } +} diff --git a/src/app/services/api/git_push.sh b/src/app/services/api/git_push.sh new file mode 100644 index 0000000..f53a75d --- /dev/null +++ b/src/app/services/api/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/app/services/api/index.ts b/src/app/services/api/index.ts new file mode 100644 index 0000000..02cb7d4 --- /dev/null +++ b/src/app/services/api/index.ts @@ -0,0 +1,7 @@ +export * from './api/api'; +export * from './model/models'; +export * from './variables'; +export * from './configuration'; +export * from './api.module'; +export * from './provide-api'; +export * from './param'; diff --git a/src/app/services/api/model/action-of-authorization-policy-builder.ts b/src/app/services/api/model/action-of-authorization-policy-builder.ts new file mode 100644 index 0000000..43dd09d --- /dev/null +++ b/src/app/services/api/model/action-of-authorization-policy-builder.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MethodInfo } from './method-info'; + + +export interface ActionOfAuthorizationPolicyBuilder { + target?: any | null; + method?: MethodInfo; +} + diff --git a/src/app/services/api/model/assembly.ts b/src/app/services/api/model/assembly.ts new file mode 100644 index 0000000..30eba81 --- /dev/null +++ b/src/app/services/api/model/assembly.ts @@ -0,0 +1,42 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { SecurityRuleSet } from './security-rule-set'; +import { MethodInfo } from './method-info'; +import { Module } from './module'; + + +export interface Assembly { + definedTypes?: Array; + exportedTypes?: Array; + /** @deprecated */ + codeBase?: string | null; + entryPoint?: MethodInfo | null; + fullName?: string | null; + imageRuntimeVersion?: string; + isDynamic?: boolean; + location?: string; + reflectionOnly?: boolean; + isCollectible?: boolean; + isFullyTrusted?: boolean; + customAttributes?: Array; + /** @deprecated */ + escapedCodeBase?: string; + manifestModule?: Module; + modules?: Array; + /** @deprecated */ + globalAssemblyCache?: boolean; + hostContext?: number; + securityRuleSet?: SecurityRuleSet; +} +export namespace Assembly { +} + + diff --git a/src/app/services/api/model/base-endpoint.ts b/src/app/services/api/model/base-endpoint.ts new file mode 100644 index 0000000..7a4004b --- /dev/null +++ b/src/app/services/api/model/base-endpoint.ts @@ -0,0 +1,22 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { EndpointDefinition } from './endpoint-definition'; +import { ValidationFailure } from './validation-failure'; + + +/** + * the base class all fast endpoints inherit from + */ +export interface BaseEndpoint { + definition?: EndpointDefinition; + httpContext?: object; + validationFailures?: Array; +} + diff --git a/src/app/services/api/model/calling-conventions.ts b/src/app/services/api/model/calling-conventions.ts new file mode 100644 index 0000000..d3fea68 --- /dev/null +++ b/src/app/services/api/model/calling-conventions.ts @@ -0,0 +1,23 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export const CallingConventions = { + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_3: 3, + NUMBER_32: 32, + NUMBER_64: 64 +} as const; +export type CallingConventions = typeof CallingConventions[keyof typeof CallingConventions]; + diff --git a/src/app/services/api/model/claim.ts b/src/app/services/api/model/claim.ts new file mode 100644 index 0000000..69590d2 --- /dev/null +++ b/src/app/services/api/model/claim.ts @@ -0,0 +1,22 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ClaimsIdentity } from './claims-identity'; + + +export interface Claim { + issuer?: string; + originalIssuer?: string; + properties?: { [key: string]: string; }; + subject?: ClaimsIdentity | null; + type?: string; + value?: string; + valueType?: string; +} + diff --git a/src/app/services/api/model/claims-identity.ts b/src/app/services/api/model/claims-identity.ts new file mode 100644 index 0000000..d9206ab --- /dev/null +++ b/src/app/services/api/model/claims-identity.ts @@ -0,0 +1,24 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Claim } from './claim'; + + +export interface ClaimsIdentity { + authenticationType?: string | null; + isAuthenticated?: boolean; + actor?: ClaimsIdentity | null; + bootstrapContext?: any | null; + claims?: Array; + label?: string | null; + name?: string | null; + nameClaimType?: string; + roleClaimType?: string; +} + diff --git a/src/app/services/api/model/claims-principal.ts b/src/app/services/api/model/claims-principal.ts new file mode 100644 index 0000000..6999651 --- /dev/null +++ b/src/app/services/api/model/claims-principal.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ClaimsIdentity } from './claims-identity'; +import { IIdentity } from './i-identity'; +import { Claim } from './claim'; + + +export interface ClaimsPrincipal { + claims?: Array; + identities?: Array; + identity?: IIdentity | null; +} + diff --git a/src/app/services/api/model/constructor-info.ts b/src/app/services/api/model/constructor-info.ts new file mode 100644 index 0000000..a4ee06d --- /dev/null +++ b/src/app/services/api/model/constructor-info.ts @@ -0,0 +1,49 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { CallingConventions } from './calling-conventions'; +import { MethodImplAttributes } from './method-impl-attributes'; +import { Module } from './module'; +import { MemberTypes } from './member-types'; + + +export interface ConstructorInfo { + module?: Module; + customAttributes?: Array; + isCollectible?: boolean; + metadataToken?: number; + methodImplementationFlags?: MethodImplAttributes; + callingConvention?: CallingConventions; + isAbstract?: boolean; + isConstructor?: boolean; + isFinal?: boolean; + isHideBySig?: boolean; + isSpecialName?: boolean; + isStatic?: boolean; + isVirtual?: boolean; + isAssembly?: boolean; + isFamily?: boolean; + isFamilyAndAssembly?: boolean; + isFamilyOrAssembly?: boolean; + isPrivate?: boolean; + isPublic?: boolean; + isConstructedGenericMethod?: boolean; + isGenericMethod?: boolean; + isGenericMethodDefinition?: boolean; + containsGenericParameters?: boolean; + isSecurityCritical?: boolean; + isSecuritySafeCritical?: boolean; + isSecurityTransparent?: boolean; + memberType?: MemberTypes; +} +export namespace ConstructorInfo { +} + + diff --git a/src/app/services/api/model/create-availability-dto.ts b/src/app/services/api/model/create-availability-dto.ts new file mode 100644 index 0000000..0132309 --- /dev/null +++ b/src/app/services/api/model/create-availability-dto.ts @@ -0,0 +1,18 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateAvailabilityDto { + availabilityDate?: string; + deliveryDate?: string; + expirationDate?: string; + renewalDate?: string; +} + diff --git a/src/app/services/api/model/create-communication-dto.ts b/src/app/services/api/model/create-communication-dto.ts new file mode 100644 index 0000000..5b44961 --- /dev/null +++ b/src/app/services/api/model/create-communication-dto.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateCommunicationDto { + calling?: string | null; + email?: string | null; + meeting?: string | null; +} + diff --git a/src/app/services/api/model/create-contact-dto.ts b/src/app/services/api/model/create-contact-dto.ts new file mode 100644 index 0000000..0ad11ac --- /dev/null +++ b/src/app/services/api/model/create-contact-dto.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateContactDto { + lastName?: string | null; + firstName?: string | null; + phoneNumber?: string | null; + email?: string | null; + address?: string | null; + role?: string | null; +} + diff --git a/src/app/services/api/model/create-customer-dto.ts b/src/app/services/api/model/create-customer-dto.ts new file mode 100644 index 0000000..c751b48 --- /dev/null +++ b/src/app/services/api/model/create-customer-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateCustomerDto { + note?: string | null; +} + diff --git a/src/app/services/api/model/create-customer-type-dto.ts b/src/app/services/api/model/create-customer-type-dto.ts new file mode 100644 index 0000000..da3d756 --- /dev/null +++ b/src/app/services/api/model/create-customer-type-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateCustomerTypeDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/create-experience-level-dto.ts b/src/app/services/api/model/create-experience-level-dto.ts new file mode 100644 index 0000000..736fb08 --- /dev/null +++ b/src/app/services/api/model/create-experience-level-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateExperienceLevelDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/create-history-of-approval-dto.ts b/src/app/services/api/model/create-history-of-approval-dto.ts new file mode 100644 index 0000000..156d083 --- /dev/null +++ b/src/app/services/api/model/create-history-of-approval-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateHistoryOfApprovalDto { + deliveryDate?: string; + expirationDate?: string; +} + diff --git a/src/app/services/api/model/create-provider-dto.ts b/src/app/services/api/model/create-provider-dto.ts new file mode 100644 index 0000000..5b88833 --- /dev/null +++ b/src/app/services/api/model/create-provider-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateProviderDto { + price?: number; +} + diff --git a/src/app/services/api/model/create-provider-type-dto.ts b/src/app/services/api/model/create-provider-type-dto.ts new file mode 100644 index 0000000..35cc613 --- /dev/null +++ b/src/app/services/api/model/create-provider-type-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateProviderTypeDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts new file mode 100644 index 0000000..062ecb6 --- /dev/null +++ b/src/app/services/api/model/create-staff-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CreateStaffDto { + f4T2NumberApproval?: string | null; + f4T2ExpirationDate?: string; +} + diff --git a/src/app/services/api/model/custom-attribute-data.ts b/src/app/services/api/model/custom-attribute-data.ts new file mode 100644 index 0000000..de95789 --- /dev/null +++ b/src/app/services/api/model/custom-attribute-data.ts @@ -0,0 +1,21 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeTypedArgument } from './custom-attribute-typed-argument'; +import { CustomAttributeNamedArgument } from './custom-attribute-named-argument'; +import { ConstructorInfo } from './constructor-info'; + + +export interface CustomAttributeData { + attributeType?: string; + constructor?: ConstructorInfo; + constructorArguments?: Array; + namedArguments?: Array; +} + diff --git a/src/app/services/api/model/custom-attribute-named-argument.ts b/src/app/services/api/model/custom-attribute-named-argument.ts new file mode 100644 index 0000000..b04113d --- /dev/null +++ b/src/app/services/api/model/custom-attribute-named-argument.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeTypedArgument } from './custom-attribute-typed-argument'; +import { MemberInfo } from './member-info'; + + +export interface CustomAttributeNamedArgument { + memberInfo?: MemberInfo; + typedValue?: CustomAttributeTypedArgument; + memberName?: string; + isField?: boolean; +} + diff --git a/src/app/services/api/model/custom-attribute-typed-argument.ts b/src/app/services/api/model/custom-attribute-typed-argument.ts new file mode 100644 index 0000000..87d733b --- /dev/null +++ b/src/app/services/api/model/custom-attribute-typed-argument.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface CustomAttributeTypedArgument { + argumentType?: string; + value?: any | null; +} + diff --git a/src/app/services/api/model/delegate.ts b/src/app/services/api/model/delegate.ts new file mode 100644 index 0000000..33c5fc7 --- /dev/null +++ b/src/app/services/api/model/delegate.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MethodInfo } from './method-info'; + + +export interface Delegate { + target?: any | null; + method?: MethodInfo; +} + diff --git a/src/app/services/api/model/endpoint-definition.ts b/src/app/services/api/model/endpoint-definition.ts new file mode 100644 index 0000000..c205773 --- /dev/null +++ b/src/app/services/api/model/endpoint-definition.ts @@ -0,0 +1,55 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { ActionOfAuthorizationPolicyBuilder } from './action-of-authorization-policy-builder'; +import { IdempotencyOptions } from './idempotency-options'; +import { EndpointSummary } from './endpoint-summary'; +import { EpVersion } from './ep-version'; + + +/** + * represents the configuration settings of an endpoint + */ +export interface EndpointDefinition { + endpointType?: string; + mapperType?: string | null; + preProcessorsList?: Array; + postProcessorsList?: Array; + reqDtoType?: string; + resDtoType?: string; + routes?: Array; + securityPolicyName?: string; + validatorType?: string | null; + verbs?: Array; + version?: EpVersion; + allowAnyPermission?: boolean; + allowedPermissions?: Array | null; + allowAnyScope?: boolean; + allowedScopes?: Array | null; + allowAnyClaim?: boolean; + allowedClaimTypes?: Array | null; + allowedRoles?: Array | null; + anonymousVerbs?: Array | null; + antiforgeryEnabled?: boolean; + authSchemeNames?: Array | null; + dontAutoSend?: boolean; + dontAutoTagEndpoints?: boolean; + dontBindFormData?: boolean; + doNotCatchExceptions?: boolean; + endpointAttributes?: Array | null; + endpointSummary?: EndpointSummary | null; + endpointTags?: Array | null; + formDataContentType?: string | null; + idempotencyOptions?: IdempotencyOptions | null; + overriddenRoutePrefix?: string | null; + preBuiltUserPolicies?: Array | null; + policyBuilder?: ActionOfAuthorizationPolicyBuilder | null; + throwIfValidationFails?: boolean; +} + diff --git a/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts b/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts new file mode 100644 index 0000000..8ead4ae --- /dev/null +++ b/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts @@ -0,0 +1,58 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GetCommunicationDto } from './get-communication-dto'; +import { ClaimsPrincipal } from './claims-principal'; +import { EndpointDefinition } from './endpoint-definition'; +import { Http } from './http'; +import { IWebHostEnvironment } from './i-web-host-environment'; +import { ValidationFailure } from './validation-failure'; + + +export interface EndpointOfEmptyRequestAndListOfGetCommunicationDto { + definition?: EndpointDefinition; + httpContext?: object; + validationFailures?: Array; + /** + * the response object that is serialized to the response stream. + */ + response?: Array | null; + user?: ClaimsPrincipal; + /** + * Represents a set of key/value application configuration properties. + */ + config?: object; + env?: IWebHostEnvironment; + /** + * Represents a type used to perform logging. + */ + logger?: object; + /** + * the base url of the current request + */ + baseURL?: string; + httpMethod?: Http; + /** + * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' + */ + form?: Array; + /** + * the files sent with the request. only populated when content-type is \'multipart/form-data\' + */ + files?: Array; + /** + * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. + */ + responseStarted?: boolean; + validationFailed?: boolean; +} +export namespace EndpointOfEmptyRequestAndListOfGetCommunicationDto { +} + + diff --git a/src/app/services/api/model/endpoint-summary.ts b/src/app/services/api/model/endpoint-summary.ts new file mode 100644 index 0000000..7c52aa5 --- /dev/null +++ b/src/app/services/api/model/endpoint-summary.ts @@ -0,0 +1,48 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { RequestExample } from './request-example'; +import { ResponseHeader } from './response-header'; + + +/** + * a class used for providing a textual description about an endpoint for swagger + */ +export interface EndpointSummary { + /** + * the short summary of the endpoint + */ + summary?: string; + /** + * the long description of the endpoint + */ + description?: string; + /** + * specify multiple request examples by adding to this collection. + */ + requestExamples?: Array; + /** + * an example request object to be used in swagger/ openapi. multiple examples can be specified by setting this property multiple times or by adding to the RequestExamples collection. + */ + exampleRequest?: any | null; + /** + * the descriptions for endpoint parameters. you can add descriptions for route/query params and request dto properties. what you specify here will take precedence over xml comments of dto classes (if they are also specified). + */ + params?: { [key: string]: string; }; + /** + * the descriptions of the different responses/ status codes an endpoint can return + */ + responses?: { [key: string]: string; }; + /** + * the response examples for each status code + */ + responseExamples?: { [key: string]: any; }; + responseHeaders?: Array; +} + diff --git a/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts b/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts new file mode 100644 index 0000000..e76b488 --- /dev/null +++ b/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts @@ -0,0 +1,58 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GetCommunicationDto } from './get-communication-dto'; +import { ClaimsPrincipal } from './claims-principal'; +import { EndpointDefinition } from './endpoint-definition'; +import { Http } from './http'; +import { IWebHostEnvironment } from './i-web-host-environment'; +import { ValidationFailure } from './validation-failure'; + + +export interface EndpointWithoutRequestOfListOfGetCommunicationDto { + definition?: EndpointDefinition; + httpContext?: object; + validationFailures?: Array; + /** + * the response object that is serialized to the response stream. + */ + response?: Array | null; + user?: ClaimsPrincipal; + /** + * Represents a set of key/value application configuration properties. + */ + config?: object; + env?: IWebHostEnvironment; + /** + * Represents a type used to perform logging. + */ + logger?: object; + /** + * the base url of the current request + */ + baseURL?: string; + httpMethod?: Http; + /** + * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' + */ + form?: Array; + /** + * the files sent with the request. only populated when content-type is \'multipart/form-data\' + */ + files?: Array; + /** + * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. + */ + responseStarted?: boolean; + validationFailed?: boolean; +} +export namespace EndpointWithoutRequestOfListOfGetCommunicationDto { +} + + diff --git a/src/app/services/api/model/ep-version.ts b/src/app/services/api/model/ep-version.ts new file mode 100644 index 0000000..91e6034 --- /dev/null +++ b/src/app/services/api/model/ep-version.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * represents an endpoint version + */ +export interface EpVersion { + current?: number; + startingReleaseVersion?: number; + deprecatedAt?: number; +} + diff --git a/src/app/services/api/model/func-of-object.ts b/src/app/services/api/model/func-of-object.ts new file mode 100644 index 0000000..3c04cba --- /dev/null +++ b/src/app/services/api/model/func-of-object.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MethodInfo } from './method-info'; + + +export interface FuncOfObject { + target?: any | null; + method?: MethodInfo; +} + diff --git a/src/app/services/api/model/get-all-communications-endpoint.ts b/src/app/services/api/model/get-all-communications-endpoint.ts new file mode 100644 index 0000000..fa25604 --- /dev/null +++ b/src/app/services/api/model/get-all-communications-endpoint.ts @@ -0,0 +1,58 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { GetCommunicationDto } from './get-communication-dto'; +import { ClaimsPrincipal } from './claims-principal'; +import { EndpointDefinition } from './endpoint-definition'; +import { Http } from './http'; +import { IWebHostEnvironment } from './i-web-host-environment'; +import { ValidationFailure } from './validation-failure'; + + +export interface GetAllCommunicationsEndpoint { + definition?: EndpointDefinition; + httpContext?: object; + validationFailures?: Array; + /** + * the response object that is serialized to the response stream. + */ + response?: Array | null; + user?: ClaimsPrincipal; + /** + * Represents a set of key/value application configuration properties. + */ + config?: object; + env?: IWebHostEnvironment; + /** + * Represents a type used to perform logging. + */ + logger?: object; + /** + * the base url of the current request + */ + baseURL?: string; + httpMethod?: Http; + /** + * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' + */ + form?: Array; + /** + * the files sent with the request. only populated when content-type is \'multipart/form-data\' + */ + files?: Array; + /** + * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. + */ + responseStarted?: boolean; + validationFailed?: boolean; +} +export namespace GetAllCommunicationsEndpoint { +} + + diff --git a/src/app/services/api/model/get-availability-dto.ts b/src/app/services/api/model/get-availability-dto.ts new file mode 100644 index 0000000..ae862c0 --- /dev/null +++ b/src/app/services/api/model/get-availability-dto.ts @@ -0,0 +1,19 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetAvailabilityDto { + id?: number; + availabilityDate?: string; + deliveryDate?: string; + expirationDate?: string; + renewalDate?: string; +} + diff --git a/src/app/services/api/model/get-communication-dto.ts b/src/app/services/api/model/get-communication-dto.ts new file mode 100644 index 0000000..697ec6f --- /dev/null +++ b/src/app/services/api/model/get-communication-dto.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetCommunicationDto { + calling?: string | null; + email?: string | null; + meeting?: string | null; +} + diff --git a/src/app/services/api/model/get-contact-dto.ts b/src/app/services/api/model/get-contact-dto.ts new file mode 100644 index 0000000..869f71a --- /dev/null +++ b/src/app/services/api/model/get-contact-dto.ts @@ -0,0 +1,21 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetContactDto { + id?: number; + lastName?: string | null; + firstName?: string | null; + phoneNumber?: string | null; + email?: string | null; + address?: string | null; + role?: string | null; +} + diff --git a/src/app/services/api/model/get-customer-dto.ts b/src/app/services/api/model/get-customer-dto.ts new file mode 100644 index 0000000..edcb955 --- /dev/null +++ b/src/app/services/api/model/get-customer-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetCustomerDto { + id?: number; + note?: string | null; +} + diff --git a/src/app/services/api/model/get-customer-type-dto.ts b/src/app/services/api/model/get-customer-type-dto.ts new file mode 100644 index 0000000..aa7b052 --- /dev/null +++ b/src/app/services/api/model/get-customer-type-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetCustomerTypeDto { + id?: number; + label?: string | null; +} + diff --git a/src/app/services/api/model/get-experience-level-dto.ts b/src/app/services/api/model/get-experience-level-dto.ts new file mode 100644 index 0000000..160bbd3 --- /dev/null +++ b/src/app/services/api/model/get-experience-level-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetExperienceLevelDto { + id?: number; + label?: string | null; +} + diff --git a/src/app/services/api/model/get-history-of-approval-dto.ts b/src/app/services/api/model/get-history-of-approval-dto.ts new file mode 100644 index 0000000..4455b00 --- /dev/null +++ b/src/app/services/api/model/get-history-of-approval-dto.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetHistoryOfApprovalDto { + id?: number; + deliveryDate?: string; + expirationDate?: string; +} + diff --git a/src/app/services/api/model/get-provider-dto.ts b/src/app/services/api/model/get-provider-dto.ts new file mode 100644 index 0000000..cab49cd --- /dev/null +++ b/src/app/services/api/model/get-provider-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetProviderDto { + id?: number; + price?: number; +} + diff --git a/src/app/services/api/model/get-provider-type-dto.ts b/src/app/services/api/model/get-provider-type-dto.ts new file mode 100644 index 0000000..9c5d7e8 --- /dev/null +++ b/src/app/services/api/model/get-provider-type-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetProviderTypeDto { + id?: number; + label?: string | null; +} + diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts new file mode 100644 index 0000000..3dbc21d --- /dev/null +++ b/src/app/services/api/model/get-staff-dto.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface GetStaffDto { + id?: number; + f4T2NumberApproval?: string | null; + f4T2ExpirationDate?: string; +} + diff --git a/src/app/services/api/model/http.ts b/src/app/services/api/model/http.ts new file mode 100644 index 0000000..9278360 --- /dev/null +++ b/src/app/services/api/model/http.ts @@ -0,0 +1,27 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * enum for specifying a http verb + */ +export const Http = { + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_3: 3, + NUMBER_4: 4, + NUMBER_5: 5, + NUMBER_6: 6, + NUMBER_7: 7, + NUMBER_8: 8, + NUMBER_9: 9 +} as const; +export type Http = typeof Http[keyof typeof Http]; + diff --git a/src/app/services/api/model/i-identity.ts b/src/app/services/api/model/i-identity.ts new file mode 100644 index 0000000..09990d1 --- /dev/null +++ b/src/app/services/api/model/i-identity.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface IIdentity { + name?: string | null; + authenticationType?: string | null; + isAuthenticated?: boolean; +} + diff --git a/src/app/services/api/model/i-web-host-environment.ts b/src/app/services/api/model/i-web-host-environment.ts new file mode 100644 index 0000000..9185ce5 --- /dev/null +++ b/src/app/services/api/model/i-web-host-environment.ts @@ -0,0 +1,19 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface IWebHostEnvironment { + webRootPath?: string; + /** + * A read-only file provider abstraction. + */ + webRootFileProvider?: object; +} + diff --git a/src/app/services/api/model/idempotency-options.ts b/src/app/services/api/model/idempotency-options.ts new file mode 100644 index 0000000..0b78d56 --- /dev/null +++ b/src/app/services/api/model/idempotency-options.ts @@ -0,0 +1,47 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { FuncOfObject } from './func-of-object'; + + +/** + * idempotency settings for an endpoint + */ +export interface IdempotencyOptions { + /** + * the header name that will contain the idempotency key. defaults to Idempotency-Key + */ + headerName?: string; + /** + * any additional headers that should participate in the generation of the cache-key. see the source/definition for the list of default additional headers. + */ + additionalHeaders?: Array; + /** + * by default, the contents of the request body (form data/json) is taken into consideration when determining the uniqueness of incoming requests even if the idempotency-key is the same among them. i.e. if two different requests come in with the same idempotency-key but with different request body content, they will be considered to be unique requests and the endpoint will be executed for each request. + */ + ignoreRequestBody?: boolean; + /** + * determines how long the cached responses will remain in the cache store before being evicted. defaults to 10 minutes. + */ + cacheDuration?: string; + /** + * by default, the idempotency header will be automatically added to the response headers collection. set false to prevent that from happening. + */ + addHeaderToResponse?: boolean; + /** + * the description text for the swagger request header parameter + */ + swaggerHeaderDescription?: string | null; + swaggerExampleGenerator?: FuncOfObject | null; + /** + * the type/format of the swagger example value + */ + swaggerHeaderType?: string | null; +} + diff --git a/src/app/services/api/model/member-info.ts b/src/app/services/api/model/member-info.ts new file mode 100644 index 0000000..3008d87 --- /dev/null +++ b/src/app/services/api/model/member-info.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { Module } from './module'; + + +export interface MemberInfo { + module?: Module; + customAttributes?: Array; + isCollectible?: boolean; + metadataToken?: number; +} + diff --git a/src/app/services/api/model/member-types.ts b/src/app/services/api/model/member-types.ts new file mode 100644 index 0000000..72e2f18 --- /dev/null +++ b/src/app/services/api/model/member-types.ts @@ -0,0 +1,27 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export const MemberTypes = { + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_4: 4, + NUMBER_8: 8, + NUMBER_16: 16, + NUMBER_32: 32, + NUMBER_64: 64, + NUMBER_128: 128, + NUMBER_191: 191 +} as const; +export type MemberTypes = typeof MemberTypes[keyof typeof MemberTypes]; + diff --git a/src/app/services/api/model/method-base.ts b/src/app/services/api/model/method-base.ts new file mode 100644 index 0000000..529dad1 --- /dev/null +++ b/src/app/services/api/model/method-base.ts @@ -0,0 +1,47 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { CallingConventions } from './calling-conventions'; +import { MethodImplAttributes } from './method-impl-attributes'; +import { Module } from './module'; + + +export interface MethodBase { + module?: Module; + customAttributes?: Array; + isCollectible?: boolean; + metadataToken?: number; + methodImplementationFlags?: MethodImplAttributes; + callingConvention?: CallingConventions; + isAbstract?: boolean; + isConstructor?: boolean; + isFinal?: boolean; + isHideBySig?: boolean; + isSpecialName?: boolean; + isStatic?: boolean; + isVirtual?: boolean; + isAssembly?: boolean; + isFamily?: boolean; + isFamilyAndAssembly?: boolean; + isFamilyOrAssembly?: boolean; + isPrivate?: boolean; + isPublic?: boolean; + isConstructedGenericMethod?: boolean; + isGenericMethod?: boolean; + isGenericMethodDefinition?: boolean; + containsGenericParameters?: boolean; + isSecurityCritical?: boolean; + isSecuritySafeCritical?: boolean; + isSecurityTransparent?: boolean; +} +export namespace MethodBase { +} + + diff --git a/src/app/services/api/model/method-impl-attributes.ts b/src/app/services/api/model/method-impl-attributes.ts new file mode 100644 index 0000000..3e0ac0e --- /dev/null +++ b/src/app/services/api/model/method-impl-attributes.ts @@ -0,0 +1,35 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export const MethodImplAttributes = { + NUMBER_0: 0, + NUMBER_02: 0, + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_3: 3, + NUMBER_32: 3, + NUMBER_4: 4, + NUMBER_42: 4, + NUMBER_8: 8, + NUMBER_16: 16, + NUMBER_32: 32, + NUMBER_64: 64, + NUMBER_128: 128, + NUMBER_256: 256, + NUMBER_512: 512, + NUMBER_4096: 4096, + NUMBER_65535: 65535 +} as const; +export type MethodImplAttributes = typeof MethodImplAttributes[keyof typeof MethodImplAttributes]; + diff --git a/src/app/services/api/model/method-info.ts b/src/app/services/api/model/method-info.ts new file mode 100644 index 0000000..8300d7b --- /dev/null +++ b/src/app/services/api/model/method-info.ts @@ -0,0 +1,52 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { CallingConventions } from './calling-conventions'; +import { MethodImplAttributes } from './method-impl-attributes'; +import { ParameterInfo } from './parameter-info'; +import { Module } from './module'; +import { MemberTypes } from './member-types'; + + +export interface MethodInfo { + module?: Module; + customAttributes?: Array; + isCollectible?: boolean; + metadataToken?: number; + methodImplementationFlags?: MethodImplAttributes; + callingConvention?: CallingConventions; + isAbstract?: boolean; + isConstructor?: boolean; + isFinal?: boolean; + isHideBySig?: boolean; + isSpecialName?: boolean; + isStatic?: boolean; + isVirtual?: boolean; + isAssembly?: boolean; + isFamily?: boolean; + isFamilyAndAssembly?: boolean; + isFamilyOrAssembly?: boolean; + isPrivate?: boolean; + isPublic?: boolean; + isConstructedGenericMethod?: boolean; + isGenericMethod?: boolean; + isGenericMethodDefinition?: boolean; + containsGenericParameters?: boolean; + isSecurityCritical?: boolean; + isSecuritySafeCritical?: boolean; + isSecurityTransparent?: boolean; + memberType?: MemberTypes; + returnParameter?: ParameterInfo; + returnType?: string; +} +export namespace MethodInfo { +} + + diff --git a/src/app/services/api/model/models.ts b/src/app/services/api/model/models.ts new file mode 100644 index 0000000..4d8632a --- /dev/null +++ b/src/app/services/api/model/models.ts @@ -0,0 +1,68 @@ +export * from './action-of-authorization-policy-builder'; +export * from './assembly'; +export * from './base-endpoint'; +export * from './calling-conventions'; +export * from './claim'; +export * from './claims-identity'; +export * from './claims-principal'; +export * from './constructor-info'; +export * from './create-availability-dto'; +export * from './create-communication-dto'; +export * from './create-contact-dto'; +export * from './create-customer-dto'; +export * from './create-customer-type-dto'; +export * from './create-experience-level-dto'; +export * from './create-history-of-approval-dto'; +export * from './create-provider-dto'; +export * from './create-provider-type-dto'; +export * from './create-staff-dto'; +export * from './custom-attribute-data'; +export * from './custom-attribute-named-argument'; +export * from './custom-attribute-typed-argument'; +export * from './delegate'; +export * from './endpoint-definition'; +export * from './endpoint-of-empty-request-and-list-of-get-communication-dto'; +export * from './endpoint-summary'; +export * from './endpoint-without-request-of-list-of-get-communication-dto'; +export * from './ep-version'; +export * from './func-of-object'; +export * from './get-all-communications-endpoint'; +export * from './get-availability-dto'; +export * from './get-communication-dto'; +export * from './get-contact-dto'; +export * from './get-customer-dto'; +export * from './get-customer-type-dto'; +export * from './get-experience-level-dto'; +export * from './get-history-of-approval-dto'; +export * from './get-provider-dto'; +export * from './get-provider-type-dto'; +export * from './get-staff-dto'; +export * from './http'; +export * from './i-identity'; +export * from './i-web-host-environment'; +export * from './idempotency-options'; +export * from './member-info'; +export * from './member-types'; +export * from './method-base'; +export * from './method-impl-attributes'; +export * from './method-info'; +export * from './module'; +export * from './module-handle'; +export * from './multicast-delegate'; +export * from './parameter-attributes'; +export * from './parameter-info'; +export * from './request-example'; +export * from './response-header'; +export * from './security-rule-set'; +export * from './severity'; +export * from './update-availability-dto'; +export * from './update-communication-dto'; +export * from './update-contact-dto'; +export * from './update-customer-dto'; +export * from './update-customer-type-dto'; +export * from './update-experience-level-dto'; +export * from './update-history-of-approval-dto'; +export * from './update-provider-dto'; +export * from './update-provider-type-dto'; +export * from './update-staff-dto'; +export * from './validation-failure'; diff --git a/src/app/services/api/model/module-handle.ts b/src/app/services/api/model/module-handle.ts new file mode 100644 index 0000000..79c1bd0 --- /dev/null +++ b/src/app/services/api/model/module-handle.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface ModuleHandle { + mdStreamVersion?: number; +} + diff --git a/src/app/services/api/model/module.ts b/src/app/services/api/model/module.ts new file mode 100644 index 0000000..dadadf3 --- /dev/null +++ b/src/app/services/api/model/module.ts @@ -0,0 +1,26 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { Assembly } from './assembly'; +import { ModuleHandle } from './module-handle'; + + +export interface Module { + assembly?: Assembly; + fullyQualifiedName?: string; + name?: string; + mdStreamVersion?: number; + moduleVersionId?: string; + scopeName?: string; + moduleHandle?: ModuleHandle; + customAttributes?: Array; + metadataToken?: number; +} + diff --git a/src/app/services/api/model/multicast-delegate.ts b/src/app/services/api/model/multicast-delegate.ts new file mode 100644 index 0000000..a7f0c8e --- /dev/null +++ b/src/app/services/api/model/multicast-delegate.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { MethodInfo } from './method-info'; + + +export interface MulticastDelegate { + target?: any | null; + method?: MethodInfo; +} + diff --git a/src/app/services/api/model/parameter-attributes.ts b/src/app/services/api/model/parameter-attributes.ts new file mode 100644 index 0000000..4a5fd26 --- /dev/null +++ b/src/app/services/api/model/parameter-attributes.ts @@ -0,0 +1,29 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export const ParameterAttributes = { + NUMBER_0: 0, + NUMBER_1: 1, + NUMBER_2: 2, + NUMBER_4: 4, + NUMBER_8: 8, + NUMBER_16: 16, + NUMBER_4096: 4096, + NUMBER_8192: 8192, + NUMBER_16384: 16384, + NUMBER_32768: 32768, + NUMBER_61440: 61440 +} as const; +export type ParameterAttributes = typeof ParameterAttributes[keyof typeof ParameterAttributes]; + diff --git a/src/app/services/api/model/parameter-info.ts b/src/app/services/api/model/parameter-info.ts new file mode 100644 index 0000000..77fb94b --- /dev/null +++ b/src/app/services/api/model/parameter-info.ts @@ -0,0 +1,35 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { CustomAttributeData } from './custom-attribute-data'; +import { MemberInfo } from './member-info'; +import { ParameterAttributes } from './parameter-attributes'; + + +export interface ParameterInfo { + attributes?: ParameterAttributes; + member?: MemberInfo; + name?: string | null; + parameterType?: string; + position?: number; + isIn?: boolean; + isLcid?: boolean; + isOptional?: boolean; + isOut?: boolean; + isRetval?: boolean; + defaultValue?: any | null; + rawDefaultValue?: any | null; + hasDefaultValue?: boolean; + customAttributes?: Array; + metadataToken?: number; +} +export namespace ParameterInfo { +} + + diff --git a/src/app/services/api/model/request-example.ts b/src/app/services/api/model/request-example.ts new file mode 100644 index 0000000..fa0e9c7 --- /dev/null +++ b/src/app/services/api/model/request-example.ts @@ -0,0 +1,33 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * represents a swagger example request analogous to an OpenApiExample + */ +export interface RequestExample { + /** + * the summary text of this example request + */ + summary?: string | null; + /** + * the description of this example request + */ + description?: string | null; + /** + * the actual example request object + */ + value?: any | null; + /** + * the label/name for this example request + */ + label?: string; +} + diff --git a/src/app/services/api/model/response-header.ts b/src/app/services/api/model/response-header.ts new file mode 100644 index 0000000..7d19878 --- /dev/null +++ b/src/app/services/api/model/response-header.ts @@ -0,0 +1,25 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * describes a swagger response header for a certain response dto + */ +export interface ResponseHeader { + /** + * description for the header + */ + description?: string | null; + /** + * an example header value + */ + example?: any | null; +} + diff --git a/src/app/services/api/model/security-rule-set.ts b/src/app/services/api/model/security-rule-set.ts new file mode 100644 index 0000000..97a822c --- /dev/null +++ b/src/app/services/api/model/security-rule-set.ts @@ -0,0 +1,21 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + */ +export const SecurityRuleSet = { + NUMBER_0: 0, + NUMBER_1: 1, + NUMBER_2: 2 +} as const; +export type SecurityRuleSet = typeof SecurityRuleSet[keyof typeof SecurityRuleSet]; + diff --git a/src/app/services/api/model/severity.ts b/src/app/services/api/model/severity.ts new file mode 100644 index 0000000..f6e42cb --- /dev/null +++ b/src/app/services/api/model/severity.ts @@ -0,0 +1,21 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Specifies the severity of a rule. + */ +export const Severity = { + NUMBER_0: 0, + NUMBER_1: 1, + NUMBER_2: 2 +} as const; +export type Severity = typeof Severity[keyof typeof Severity]; + diff --git a/src/app/services/api/model/update-availability-dto.ts b/src/app/services/api/model/update-availability-dto.ts new file mode 100644 index 0000000..6580cc6 --- /dev/null +++ b/src/app/services/api/model/update-availability-dto.ts @@ -0,0 +1,18 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateAvailabilityDto { + availabilityDate?: string; + deliveryDate?: string; + expirationDate?: string; + renewalDate?: string; +} + diff --git a/src/app/services/api/model/update-communication-dto.ts b/src/app/services/api/model/update-communication-dto.ts new file mode 100644 index 0000000..2a7c063 --- /dev/null +++ b/src/app/services/api/model/update-communication-dto.ts @@ -0,0 +1,17 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateCommunicationDto { + calling?: string | null; + email?: string | null; + meeting?: string | null; +} + diff --git a/src/app/services/api/model/update-contact-dto.ts b/src/app/services/api/model/update-contact-dto.ts new file mode 100644 index 0000000..2864dca --- /dev/null +++ b/src/app/services/api/model/update-contact-dto.ts @@ -0,0 +1,20 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateContactDto { + lastName?: string | null; + firstName?: string | null; + phoneNumber?: string | null; + email?: string | null; + address?: string | null; + role?: string | null; +} + diff --git a/src/app/services/api/model/update-customer-dto.ts b/src/app/services/api/model/update-customer-dto.ts new file mode 100644 index 0000000..7024615 --- /dev/null +++ b/src/app/services/api/model/update-customer-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateCustomerDto { + note?: string | null; +} + diff --git a/src/app/services/api/model/update-customer-type-dto.ts b/src/app/services/api/model/update-customer-type-dto.ts new file mode 100644 index 0000000..09a1edf --- /dev/null +++ b/src/app/services/api/model/update-customer-type-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateCustomerTypeDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/update-experience-level-dto.ts b/src/app/services/api/model/update-experience-level-dto.ts new file mode 100644 index 0000000..3f032fe --- /dev/null +++ b/src/app/services/api/model/update-experience-level-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateExperienceLevelDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/update-history-of-approval-dto.ts b/src/app/services/api/model/update-history-of-approval-dto.ts new file mode 100644 index 0000000..57fcb73 --- /dev/null +++ b/src/app/services/api/model/update-history-of-approval-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateHistoryOfApprovalDto { + deliveryDate?: string; + expirationDate?: string; +} + diff --git a/src/app/services/api/model/update-provider-dto.ts b/src/app/services/api/model/update-provider-dto.ts new file mode 100644 index 0000000..5b1ec3a --- /dev/null +++ b/src/app/services/api/model/update-provider-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateProviderDto { + price?: number; +} + diff --git a/src/app/services/api/model/update-provider-type-dto.ts b/src/app/services/api/model/update-provider-type-dto.ts new file mode 100644 index 0000000..3b3192a --- /dev/null +++ b/src/app/services/api/model/update-provider-type-dto.ts @@ -0,0 +1,15 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateProviderTypeDto { + label?: string | null; +} + diff --git a/src/app/services/api/model/update-staff-dto.ts b/src/app/services/api/model/update-staff-dto.ts new file mode 100644 index 0000000..66faedf --- /dev/null +++ b/src/app/services/api/model/update-staff-dto.ts @@ -0,0 +1,16 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export interface UpdateStaffDto { + f4T2NumberApproval?: string | null; + f4T2ExpirationDate?: string; +} + diff --git a/src/app/services/api/model/validation-failure.ts b/src/app/services/api/model/validation-failure.ts new file mode 100644 index 0000000..c9528d7 --- /dev/null +++ b/src/app/services/api/model/validation-failure.ts @@ -0,0 +1,46 @@ +/** + * PyroFetes + * + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Severity } from './severity'; + + +/** + * Defines a validation failure + */ +export interface ValidationFailure { + /** + * The name of the property. + */ + propertyName?: string | null; + /** + * The error message + */ + errorMessage?: string | null; + /** + * The property value that caused the failure. + */ + attemptedValue?: any | null; + /** + * Custom state associated with the failure. + */ + customState?: any | null; + severity?: Severity; + /** + * Gets or sets the error code. + */ + errorCode?: string | null; + /** + * Gets or sets the formatted message placeholder values. + */ + formattedMessagePlaceholderValues?: { [key: string]: any; } | null; +} +export namespace ValidationFailure { +} + + diff --git a/src/app/services/api/param.ts b/src/app/services/api/param.ts new file mode 100644 index 0000000..78a2d20 --- /dev/null +++ b/src/app/services/api/param.ts @@ -0,0 +1,69 @@ +/** + * Standard parameter styles defined by OpenAPI spec + */ +export type StandardParamStyle = + | 'matrix' + | 'label' + | 'form' + | 'simple' + | 'spaceDelimited' + | 'pipeDelimited' + | 'deepObject' + ; + +/** + * The OpenAPI standard {@link StandardParamStyle}s may be extended by custom styles by the user. + */ +export type ParamStyle = StandardParamStyle | string; + +/** + * Standard parameter locations defined by OpenAPI spec + */ +export type ParamLocation = 'query' | 'header' | 'path' | 'cookie'; + +/** + * Standard types as defined in OpenAPI Specification: Data Types + */ +export type StandardDataType = + | "integer" + | "number" + | "boolean" + | "string" + | "object" + | "array" + ; + +/** + * Standard {@link DataType}s plus your own types/classes. + */ +export type DataType = StandardDataType | string; + +/** + * Standard formats as defined in OpenAPI Specification: Data Types + */ +export type StandardDataFormat = + | "int32" + | "int64" + | "float" + | "double" + | "byte" + | "binary" + | "date" + | "date-time" + | "password" + ; + +export type DataFormat = StandardDataFormat | string; + +/** + * The parameter to encode. + */ +export interface Param { + name: string; + value: unknown; + in: ParamLocation; + style: ParamStyle, + explode: boolean; + dataType: DataType; + dataFormat: DataFormat | undefined; +} diff --git a/src/app/services/api/provide-api.ts b/src/app/services/api/provide-api.ts new file mode 100644 index 0000000..19c762a --- /dev/null +++ b/src/app/services/api/provide-api.ts @@ -0,0 +1,15 @@ +import { EnvironmentProviders, makeEnvironmentProviders } from "@angular/core"; +import { Configuration, ConfigurationParameters } from './configuration'; +import { BASE_PATH } from './variables'; + +// Returns the service class providers, to be used in the [ApplicationConfig](https://angular.dev/api/core/ApplicationConfig). +export function provideApi(configOrBasePath: string | ConfigurationParameters): EnvironmentProviders { + return makeEnvironmentProviders([ + typeof configOrBasePath === "string" + ? { provide: BASE_PATH, useValue: configOrBasePath } + : { + provide: Configuration, + useValue: new Configuration({ ...configOrBasePath }), + }, + ]); +} \ No newline at end of file diff --git a/src/app/services/api/variables.ts b/src/app/services/api/variables.ts new file mode 100644 index 0000000..6fe5854 --- /dev/null +++ b/src/app/services/api/variables.ts @@ -0,0 +1,9 @@ +import { InjectionToken } from '@angular/core'; + +export const BASE_PATH = new InjectionToken('basePath'); +export const COLLECTION_FORMATS = { + 'csv': ',', + 'tsv': ' ', + 'ssv': ' ', + 'pipes': '|' +} From 2ff47263a179f776319758cc2945ab5cc53efbd1 Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 11 Dec 2025 14:32:46 +0100 Subject: [PATCH 09/23] get all customers done --- .../customers-get-all/customers-get-all.html | 12 +-- .../customers-get-all/customers-get-all.ts | 23 +++-- .../get-all-customers-card.css | 0 .../get-all-customers-card.html | 29 ++++++ .../get-all-customers-card.ts | 89 +++++++++++++++++++ .../providers-get-all/providers-get-all.ts | 23 ----- .../services/api/model/create-contact-dto.ts | 2 + .../services/api/model/create-customer-dto.ts | 1 + src/app/services/api/model/get-contact-dto.ts | 2 + .../services/api/model/get-customer-dto.ts | 1 + .../api/model/method-impl-attributes.ts | 1 - .../services/api/model/update-contact-dto.ts | 2 + 12 files changed, 143 insertions(+), 42 deletions(-) create mode 100644 src/app/pages/customers/get-all-customers-card/get-all-customers-card.css create mode 100644 src/app/pages/customers/get-all-customers-card/get-all-customers-card.html create mode 100644 src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.html b/src/app/pages/customers/customers-get-all/customers-get-all.html index cbe0385..4c47919 100644 --- a/src/app/pages/customers/customers-get-all/customers-get-all.html +++ b/src/app/pages/customers/customers-get-all/customers-get-all.html @@ -2,14 +2,8 @@
@for (customer of customers(); track customer.id) { - -

Utilisateur n°{{ customer.id }}

-

Nom/Prénom : {{ customer.name }} {{ customer.firstName }}

-

Téléphone : {{ customer.phone }}

-

Email : {{ customer.email }}

-

Adresse : {{ customer.address }}

-

Note : {{ customer.note }}

-
+ + }
- + \ No newline at end of file diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.ts b/src/app/pages/customers/customers-get-all/customers-get-all.ts index 69def45..7da7565 100644 --- a/src/app/pages/customers/customers-get-all/customers-get-all.ts +++ b/src/app/pages/customers/customers-get-all/customers-get-all.ts @@ -1,22 +1,28 @@ -import {Component, inject, signal} from '@angular/core'; -import {Router} from "@angular/router"; -import {firstValueFrom} from "rxjs"; +import {Component, inject, OnInit, signal} from '@angular/core'; +import { Router } from '@angular/router'; +import {CustomersService, GetCustomerDto} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; +import {ReactiveFormsModule} from "@angular/forms"; +import {NzFormModule} from "ng-zorro-antd/form"; +import {NzSpaceComponent} from "ng-zorro-antd/space"; +import {GetAllCustomersCard} from "../get-all-customers-card/get-all-customers-card"; @Component({ selector: 'app-customers-get-all', - imports: [], + imports: [ReactiveFormsModule, NzFormModule, GetAllCustomersCard, GetAllCustomersCard], templateUrl: './customers-get-all.html', styleUrl: './customers-get-all.css', }) export class CustomersGetAll { - private customerService = inject(CustomersService); + private customersService = inject(CustomersService); private notificationService = inject(NzNotificationService) router = inject(Router); customers = signal([]); customersLoading = signal(false); + async ngOnInit() { await this.fetchCustomers(); } @@ -24,10 +30,9 @@ export class CustomersGetAll { async fetchCustomers() { this.customersLoading.set(true); try { - const customer = await firstValueFrom(this.customerService.getAllCustomersEndpoint()) - this.customers.set(customer) - } catch (e) - { + const customers = await firstValueFrom(this.customersService.getAllCustomerEndpoint()) + this.customers.set(customers) + } catch (e) { this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); } diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.css b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html new file mode 100644 index 0000000..03641b7 --- /dev/null +++ b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html @@ -0,0 +1,29 @@ +@if (edit() == false) { + +

Client n°{{ customer().id }}

+

Note : {{ customer().note }}

+
+ + + + + + +} @else { + +
+ + Note + + + + +
+
+ + + + + + +} diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts new file mode 100644 index 0000000..922cced --- /dev/null +++ b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts @@ -0,0 +1,89 @@ +import {Component, inject, input, output, signal} from '@angular/core'; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzFormModule} from "ng-zorro-antd/form"; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {CustomersService, GetCustomerDto, UpdateCustomerDto} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; + +@Component({ + selector: 'app-get-all-customers-card', + imports: [ReactiveFormsModule, NzFormModule, NzCardComponent, NzIconDirective, NzInputDirective], + templateUrl: './get-all-customers-card.html', + styleUrl: './get-all-customers-card.css', +}) +export class GetAllCustomersCard { + private customersService = inject(CustomersService); + private notificationService = inject(NzNotificationService) + + customerEdit = signal(null); + customersLoading = signal(false); + + customerForm = new FormGroup({ + id: new FormControl(null, [Validators.required]), + note: new FormControl(null, [Validators.required]), + }) + + async submitForm() { + this.customersLoading.set(true); + + const customerValue = { + note: this.customerForm.value.note, + } + + try { + const customer = await firstValueFrom(this.customersService.updateCustomer(this.customer().id,customerValue)); + this.customerEdit.set(customer); + console.log(customer); + this.customerForm.reset(); + this.edit.set(false); + + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.customersLoading.set(false); + + } + + + customer = input(null); + + edit = signal(false) + + triggerEdited = output(); + + protected Edit() { + this.edit.set(true) + } + + protected Back() { + this.edit.set(false) + this.customerForm.reset(); + } + + async Delete() { + this.customersLoading.set(true); + + try { + const customer = await firstValueFrom(this.customersService.deleteCustomerEndpoint(this.customer().id)); + this.customerEdit.set(customer); + + this.customerForm.reset(); + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.customersLoading.set(false); + } +} diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.ts b/src/app/pages/providers/providers-get-all/providers-get-all.ts index 084ed18..7db4414 100644 --- a/src/app/pages/providers/providers-get-all/providers-get-all.ts +++ b/src/app/pages/providers/providers-get-all/providers-get-all.ts @@ -10,27 +10,4 @@ import {firstValueFrom} from "rxjs"; styleUrl: './providers-get-all.css', }) export class ProvidersGetAll { - private providersService = inject(ProvidersService); - private notificationService = inject(NzNotificationService) - - router = inject(Router); - - providers = signal([]); - providersLoading = signal(false); - async ngOnInit() { - await this.fetchProviders(); - } - - async fetchProviders() { - this.providersLoading.set(true); - try { - const providers = await firstValueFrom(this.providersService.getAllProvidersEndpoint()) - this.providers.set(providers) - } catch (e) - { - this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); - } - - this.providersLoading.set(false); - } } diff --git a/src/app/services/api/model/create-contact-dto.ts b/src/app/services/api/model/create-contact-dto.ts index 0ad11ac..92a3845 100644 --- a/src/app/services/api/model/create-contact-dto.ts +++ b/src/app/services/api/model/create-contact-dto.ts @@ -15,6 +15,8 @@ export interface CreateContactDto { phoneNumber?: string | null; email?: string | null; address?: string | null; + city?: string | null; role?: string | null; + customerId?: number | null; } diff --git a/src/app/services/api/model/create-customer-dto.ts b/src/app/services/api/model/create-customer-dto.ts index c751b48..8335101 100644 --- a/src/app/services/api/model/create-customer-dto.ts +++ b/src/app/services/api/model/create-customer-dto.ts @@ -11,5 +11,6 @@ export interface CreateCustomerDto { note?: string | null; + customerTypeId?: number; } diff --git a/src/app/services/api/model/get-contact-dto.ts b/src/app/services/api/model/get-contact-dto.ts index 869f71a..bbbedd0 100644 --- a/src/app/services/api/model/get-contact-dto.ts +++ b/src/app/services/api/model/get-contact-dto.ts @@ -16,6 +16,8 @@ export interface GetContactDto { phoneNumber?: string | null; email?: string | null; address?: string | null; + city?: string | null; role?: string | null; + customerId?: number | null; } diff --git a/src/app/services/api/model/get-customer-dto.ts b/src/app/services/api/model/get-customer-dto.ts index edcb955..ef85c4e 100644 --- a/src/app/services/api/model/get-customer-dto.ts +++ b/src/app/services/api/model/get-customer-dto.ts @@ -12,5 +12,6 @@ export interface GetCustomerDto { id?: number; note?: string | null; + customerTypeId?: number; } diff --git a/src/app/services/api/model/method-impl-attributes.ts b/src/app/services/api/model/method-impl-attributes.ts index 3e0ac0e..c9250ed 100644 --- a/src/app/services/api/model/method-impl-attributes.ts +++ b/src/app/services/api/model/method-impl-attributes.ts @@ -18,7 +18,6 @@ export const MethodImplAttributes = { NUMBER_1: 1, NUMBER_2: 2, NUMBER_3: 3, - NUMBER_32: 3, NUMBER_4: 4, NUMBER_42: 4, NUMBER_8: 8, diff --git a/src/app/services/api/model/update-contact-dto.ts b/src/app/services/api/model/update-contact-dto.ts index 2864dca..4f3e7ba 100644 --- a/src/app/services/api/model/update-contact-dto.ts +++ b/src/app/services/api/model/update-contact-dto.ts @@ -15,6 +15,8 @@ export interface UpdateContactDto { phoneNumber?: string | null; email?: string | null; address?: string | null; + city?: string | null; role?: string | null; + customerTypeId?: number | null; } From 20726f0530cea77d648aa26cb0297c69cd1af9ae Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 11 Dec 2025 14:37:20 +0100 Subject: [PATCH 10/23] get all customers corrected --- .../get-all-customers-card/get-all-customers-card.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html index 03641b7..9d6ff29 100644 --- a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html +++ b/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html @@ -1,7 +1,7 @@ @if (edit() == false) {

Client n°{{ customer().id }}

-

Note : {{ customer().note }}

+

Nom : {{ customer().note }}

@@ -13,9 +13,9 @@
- Note + Nom - +
From 99eca9ce8baa3b5f0bac9c581db7000e3bb887be Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 11 Dec 2025 17:54:55 +0100 Subject: [PATCH 11/23] last commit --- src/app/app.html | 1 + src/app/app.routes.ts | 8 +- .../contact-add-form/contact-add-form.css} | 0 .../contact-add-form/contact-add-form.html | 1 + .../contact-add-form/contact-add-form.ts | 11 +++ .../contact-get-all-form.css} | 0 .../contact-get-all-form.html | 1 + .../contact-get-all-form.ts | 11 +++ .../contact-get-all/contact-get-all.css} | 0 .../contact-get-all/contact-get-all.html | 1 + .../contact-get-all/contact-get-all.ts | 11 +++ .../contact.css} | 0 src/app/pages/contact/contact.html | 1 + src/app/pages/contact/contact.ts | 11 +++ .../customers-card-form.html | 0 .../customers-card-form.ts | 12 ++- .../customers-add-form/customers-add-form.css | 19 +++++ .../customers-add-form.html | 56 ++++--------- .../customers-add-form/customers-add-form.ts | 84 ++++++++++++++----- .../customers-card/customers-card.html | 1 - .../customers-card/customers-card.ts | 11 --- .../get-all-customers-card.html | 0 .../get-all-customers-card.ts | 2 +- .../customers-get-all/customers-get-all.html | 9 -- .../customers-get-all/customers-get-all.ts | 41 --------- src/app/pages/customers/customers.html | 12 ++- src/app/pages/customers/customers.ts | 38 +++++++-- .../providers-card/providers-card.html | 1 - .../providers-card/providers-card.ts | 12 --- .../pages/staff/staff-card/staff-card.html | 1 - src/app/pages/staff/staff-card/staff-card.ts | 11 --- src/theme.less | 65 ++++++++++++++ 32 files changed, 269 insertions(+), 163 deletions(-) rename src/app/pages/{customers/customers-card-form/customers-card-form.css => contact/contact-add-form/contact-add-form.css} (100%) create mode 100644 src/app/pages/contact/contact-add-form/contact-add-form.html create mode 100644 src/app/pages/contact/contact-add-form/contact-add-form.ts rename src/app/pages/{customers/customers-card/customers-card.css => contact/contact-get-all-form/contact-get-all-form.css} (100%) create mode 100644 src/app/pages/contact/contact-get-all-form/contact-get-all-form.html create mode 100644 src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts rename src/app/pages/{customers/customers-get-all/customers-get-all.css => contact/contact-get-all/contact-get-all.css} (100%) create mode 100644 src/app/pages/contact/contact-get-all/contact-get-all.html create mode 100644 src/app/pages/contact/contact-get-all/contact-get-all.ts rename src/app/pages/{customers/get-all-customers-card/get-all-customers-card.css => contact/contact.css} (100%) create mode 100644 src/app/pages/contact/contact.html create mode 100644 src/app/pages/contact/contact.ts rename src/app/pages/customers/{customers-card-form => create-customers-modal}/customers-card-form.html (100%) rename src/app/pages/customers/{customers-card-form => create-customers-modal}/customers-card-form.ts (86%) delete mode 100644 src/app/pages/customers/customers-card/customers-card.html delete mode 100644 src/app/pages/customers/customers-card/customers-card.ts rename src/app/pages/customers/{get-all-customers-card => customers-card}/get-all-customers-card.html (100%) rename src/app/pages/customers/{get-all-customers-card => customers-card}/get-all-customers-card.ts (98%) delete mode 100644 src/app/pages/customers/customers-get-all/customers-get-all.html delete mode 100644 src/app/pages/customers/customers-get-all/customers-get-all.ts delete mode 100644 src/app/pages/providers/providers-card/providers-card.html delete mode 100644 src/app/pages/providers/providers-card/providers-card.ts delete mode 100644 src/app/pages/staff/staff-card/staff-card.html delete mode 100644 src/app/pages/staff/staff-card/staff-card.ts diff --git a/src/app/app.html b/src/app/app.html index 9ed2e07..43a740b 100644 --- a/src/app/app.html +++ b/src/app/app.html @@ -7,6 +7,7 @@
    + diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 9d068cd..1556a7d 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -7,8 +7,12 @@ export const routes: Routes = [ redirectTo: '/customers' }, { - path:'customers', - loadComponent: () => import('./pages/customers/customers').then(x => x.Customers) + path:'contact', + loadComponent: () => import('./pages/contact/contact').then(x => x.Contact) + }, + { + path:'customers', + loadComponent: () => import('./pages/customers/customers').then(x => x.Customers) }, { diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.css b/src/app/pages/contact/contact-add-form/contact-add-form.css similarity index 100% rename from src/app/pages/customers/customers-card-form/customers-card-form.css rename to src/app/pages/contact/contact-add-form/contact-add-form.css diff --git a/src/app/pages/contact/contact-add-form/contact-add-form.html b/src/app/pages/contact/contact-add-form/contact-add-form.html new file mode 100644 index 0000000..c752d58 --- /dev/null +++ b/src/app/pages/contact/contact-add-form/contact-add-form.html @@ -0,0 +1 @@ +

    contact-add-form works!

    diff --git a/src/app/pages/contact/contact-add-form/contact-add-form.ts b/src/app/pages/contact/contact-add-form/contact-add-form.ts new file mode 100644 index 0000000..22c0287 --- /dev/null +++ b/src/app/pages/contact/contact-add-form/contact-add-form.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-contact-add-form', + imports: [], + templateUrl: './contact-add-form.html', + styleUrl: './contact-add-form.css', +}) +export class ContactAddForm { + +} diff --git a/src/app/pages/customers/customers-card/customers-card.css b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.css similarity index 100% rename from src/app/pages/customers/customers-card/customers-card.css rename to src/app/pages/contact/contact-get-all-form/contact-get-all-form.css diff --git a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html new file mode 100644 index 0000000..2d632a1 --- /dev/null +++ b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html @@ -0,0 +1 @@ +

    contact-get-all-form works!

    diff --git a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts new file mode 100644 index 0000000..5bd699e --- /dev/null +++ b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-contact-get-all-form', + imports: [], + templateUrl: './contact-get-all-form.html', + styleUrl: './contact-get-all-form.css', +}) +export class ContactGetAllForm { + +} diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.css b/src/app/pages/contact/contact-get-all/contact-get-all.css similarity index 100% rename from src/app/pages/customers/customers-get-all/customers-get-all.css rename to src/app/pages/contact/contact-get-all/contact-get-all.css diff --git a/src/app/pages/contact/contact-get-all/contact-get-all.html b/src/app/pages/contact/contact-get-all/contact-get-all.html new file mode 100644 index 0000000..a96702b --- /dev/null +++ b/src/app/pages/contact/contact-get-all/contact-get-all.html @@ -0,0 +1 @@ +

    contact-get-all works!

    diff --git a/src/app/pages/contact/contact-get-all/contact-get-all.ts b/src/app/pages/contact/contact-get-all/contact-get-all.ts new file mode 100644 index 0000000..5f4cde4 --- /dev/null +++ b/src/app/pages/contact/contact-get-all/contact-get-all.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-contact-get-all', + imports: [], + templateUrl: './contact-get-all.html', + styleUrl: './contact-get-all.css', +}) +export class ContactGetAll { + +} diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.css b/src/app/pages/contact/contact.css similarity index 100% rename from src/app/pages/customers/get-all-customers-card/get-all-customers-card.css rename to src/app/pages/contact/contact.css diff --git a/src/app/pages/contact/contact.html b/src/app/pages/contact/contact.html new file mode 100644 index 0000000..9cae746 --- /dev/null +++ b/src/app/pages/contact/contact.html @@ -0,0 +1 @@ +

    contact works!

    diff --git a/src/app/pages/contact/contact.ts b/src/app/pages/contact/contact.ts new file mode 100644 index 0000000..7a0c2c0 --- /dev/null +++ b/src/app/pages/contact/contact.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-contact', + imports: [], + templateUrl: './contact.html', + styleUrl: './contact.css', +}) +export class Contact { + +} diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.html b/src/app/pages/customers/create-customers-modal/customers-card-form.html similarity index 100% rename from src/app/pages/customers/customers-card-form/customers-card-form.html rename to src/app/pages/customers/create-customers-modal/customers-card-form.html diff --git a/src/app/pages/customers/customers-card-form/customers-card-form.ts b/src/app/pages/customers/create-customers-modal/customers-card-form.ts similarity index 86% rename from src/app/pages/customers/customers-card-form/customers-card-form.ts rename to src/app/pages/customers/create-customers-modal/customers-card-form.ts index 68572de..ca6c9b4 100644 --- a/src/app/pages/customers/customers-card-form/customers-card-form.ts +++ b/src/app/pages/customers/create-customers-modal/customers-card-form.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import {Component, output} from '@angular/core'; import {NzMessageService} from "ng-zorro-antd/message"; import {NzButtonModule} from "ng-zorro-antd/button"; import {NzModalModule} from "ng-zorro-antd/modal"; @@ -6,7 +6,7 @@ import {ProvidersAddForm} from "../../providers/providers-add-form/providers-add import {CustomersAddForm} from "../customers-add-form/customers-add-form"; @Component({ - selector: 'app-customers-card-form', + selector: 'app-create-customers-modal', imports: [NzButtonModule, NzModalModule, CustomersAddForm], template: ` + diff --git a/src/app/pages/customers/customers-add-form/customers-add-form.ts b/src/app/pages/customers/customers-add-form/customers-add-form.ts index 2b819b7..2f61b14 100644 --- a/src/app/pages/customers/customers-add-form/customers-add-form.ts +++ b/src/app/pages/customers/customers-add-form/customers-add-form.ts @@ -1,42 +1,86 @@ -import { Component } from '@angular/core'; +import {Component, inject, signal} from '@angular/core'; import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; -import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzFormModule} from "ng-zorro-antd/form"; import {NzInputDirective} from "ng-zorro-antd/input"; +import {CreateCustomerDto, CustomersService, CustomertypesService, GetCustomerTypeDto} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; @Component({ selector: 'app-customers-add-form', - imports: [ - FormsModule, - NzColDirective, - NzFormControlComponent, - NzFormDirective, - NzFormItemComponent, - NzFormLabelComponent, - NzInputDirective, - NzRowDirective, - ReactiveFormsModule - ], + imports: [ReactiveFormsModule, NzFormModule, NzInputDirective, NzFlexDirective, NzButtonComponent, NzColDirective, NzFlexDirective, NzButtonComponent, NzSelectComponent, NzOptionComponent], templateUrl: './customers-add-form.html', styleUrl: './customers-add-form.css', }) export class CustomersAddForm { + + private customersService = inject(CustomersService); + private customertypesService = inject(CustomertypesService); + private notificationService = inject(NzNotificationService) + + customerForm = new FormGroup({ - lastName: new FormControl(null, [Validators.required]), - firstName: new FormControl(null, [Validators.required]), - phoneNumber: new FormControl(null, [Validators.required]), - email: new FormControl(null, [Validators.required]), - address: new FormControl(null, [Validators.required]), - role: new FormControl(null, [Validators.required]), + note: new FormControl(null, [Validators.required]), + customerTypeId: new FormControl(null, [Validators.required]), }) - submitForm() { + + customerPost = signal(this.customerForm.value); + customersLoading = signal(false); + + async submitForm() { // Pour annuler si le formulaire est invalide if (this.customerForm.invalid) return; // Pour obtenir la valeur du formulaire console.log(this.customerForm.getRawValue()) + this.customerPost.set(this.customerForm.getRawValue()) + await this.createCustomers(this.customerPost().note, this.customerPost().customerTypeId) // Pour vider le formulaire this.customerForm.reset() } + + async createCustomers(note: string, customerTypeId: number) { + this.customersLoading.set(true); + + const customerValue = { + note: note, + customerTypeId: customerTypeId + } + + try { + const customer = await firstValueFrom(this.customersService.createCustomerEndpoint(customerValue)); + this.customerPost.set(customer); + console.log(customer); + } catch (e) + { + this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.customersLoading.set(false); + } + + customerTypes = signal([]) + + async ngOnInit() { + await this.fetchCustomerTypes() + } + + async fetchCustomerTypes() { + this.customersLoading.set(true); + try { + const customerType = await firstValueFrom(this.customertypesService.getAllCustomerTypeEndpoint()) + this.customerTypes.set(customerType) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.customersLoading.set(false); + } } diff --git a/src/app/pages/customers/customers-card/customers-card.html b/src/app/pages/customers/customers-card/customers-card.html deleted file mode 100644 index ca34895..0000000 --- a/src/app/pages/customers/customers-card/customers-card.html +++ /dev/null @@ -1 +0,0 @@ -

    customers-card works!

    diff --git a/src/app/pages/customers/customers-card/customers-card.ts b/src/app/pages/customers/customers-card/customers-card.ts deleted file mode 100644 index 7a6dc3c..0000000 --- a/src/app/pages/customers/customers-card/customers-card.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-customers-card', - imports: [], - templateUrl: './customers-card.html', - styleUrl: './customers-card.css', -}) -export class CustomersCard { - -} diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.html b/src/app/pages/customers/customers-card/get-all-customers-card.html similarity index 100% rename from src/app/pages/customers/get-all-customers-card/get-all-customers-card.html rename to src/app/pages/customers/customers-card/get-all-customers-card.html diff --git a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts b/src/app/pages/customers/customers-card/get-all-customers-card.ts similarity index 98% rename from src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts rename to src/app/pages/customers/customers-card/get-all-customers-card.ts index 922cced..c06483f 100644 --- a/src/app/pages/customers/get-all-customers-card/get-all-customers-card.ts +++ b/src/app/pages/customers/customers-card/get-all-customers-card.ts @@ -9,7 +9,7 @@ import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; @Component({ - selector: 'app-get-all-customers-card', + selector: 'app-customers-card', imports: [ReactiveFormsModule, NzFormModule, NzCardComponent, NzIconDirective, NzInputDirective], templateUrl: './get-all-customers-card.html', styleUrl: './get-all-customers-card.css', diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.html b/src/app/pages/customers/customers-get-all/customers-get-all.html deleted file mode 100644 index 4c47919..0000000 --- a/src/app/pages/customers/customers-get-all/customers-get-all.html +++ /dev/null @@ -1,9 +0,0 @@ -
    -
    - @for (customer of customers(); track customer.id) - { - - - } -
    -
    \ No newline at end of file diff --git a/src/app/pages/customers/customers-get-all/customers-get-all.ts b/src/app/pages/customers/customers-get-all/customers-get-all.ts deleted file mode 100644 index 7da7565..0000000 --- a/src/app/pages/customers/customers-get-all/customers-get-all.ts +++ /dev/null @@ -1,41 +0,0 @@ -import {Component, inject, OnInit, signal} from '@angular/core'; -import { Router } from '@angular/router'; -import {CustomersService, GetCustomerDto} from "../../../services/api"; -import {NzNotificationService} from "ng-zorro-antd/notification"; -import {firstValueFrom} from "rxjs"; -import {ReactiveFormsModule} from "@angular/forms"; -import {NzFormModule} from "ng-zorro-antd/form"; -import {NzSpaceComponent} from "ng-zorro-antd/space"; -import {GetAllCustomersCard} from "../get-all-customers-card/get-all-customers-card"; - -@Component({ - selector: 'app-customers-get-all', - imports: [ReactiveFormsModule, NzFormModule, GetAllCustomersCard, GetAllCustomersCard], - templateUrl: './customers-get-all.html', - styleUrl: './customers-get-all.css', -}) -export class CustomersGetAll { - private customersService = inject(CustomersService); - private notificationService = inject(NzNotificationService) - - router = inject(Router); - - customers = signal([]); - customersLoading = signal(false); - - async ngOnInit() { - await this.fetchCustomers(); - } - - async fetchCustomers() { - this.customersLoading.set(true); - try { - const customers = await firstValueFrom(this.customersService.getAllCustomerEndpoint()) - this.customers.set(customers) - } catch (e) { - this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); - } - - this.customersLoading.set(false); - } -} diff --git a/src/app/pages/customers/customers.html b/src/app/pages/customers/customers.html index caf0405..7d7576a 100644 --- a/src/app/pages/customers/customers.html +++ b/src/app/pages/customers/customers.html @@ -1,3 +1,11 @@ - + - +
    +
    + @for (customer of customers(); track customer.id) + { + + + } +
    +
    \ No newline at end of file diff --git a/src/app/pages/customers/customers.ts b/src/app/pages/customers/customers.ts index 63e241a..4f9235c 100644 --- a/src/app/pages/customers/customers.ts +++ b/src/app/pages/customers/customers.ts @@ -1,16 +1,44 @@ -import { Component } from '@angular/core'; -import {CustomersCardForm} from "./customers-card-form/customers-card-form"; -import {CustomersGetAll} from "./customers-get-all/customers-get-all"; +import {Component, inject, signal} from '@angular/core'; +import {CustomersCardForm} from "./create-customers-modal/customers-card-form"; +import {GetAllCustomersCard} from "./customers-card/get-all-customers-card"; +import {NzRowDirective} from "ng-zorro-antd/grid"; +import {CustomersService, GetCustomerDto} from "../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-customers', imports: [ CustomersCardForm, - CustomersGetAll + GetAllCustomersCard, + NzRowDirective ], templateUrl: './customers.html', styleUrl: './customers.css', }) export class Customers { + private customersService = inject(CustomersService); + private notificationService = inject(NzNotificationService) -} + router = inject(Router); + + customers = signal([]); + customersLoading = signal(false); + + async ngOnInit() { + await this.fetchCustomers(); + } + + async fetchCustomers() { + this.customersLoading.set(true); + try { + const customers = await firstValueFrom(this.customersService.getAllCustomerEndpoint()) + this.customers.set(customers) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.customersLoading.set(false); + } +} \ No newline at end of file diff --git a/src/app/pages/providers/providers-card/providers-card.html b/src/app/pages/providers/providers-card/providers-card.html deleted file mode 100644 index 7fadb39..0000000 --- a/src/app/pages/providers/providers-card/providers-card.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/app/pages/providers/providers-card/providers-card.ts b/src/app/pages/providers/providers-card/providers-card.ts deleted file mode 100644 index f1777ea..0000000 --- a/src/app/pages/providers/providers-card/providers-card.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component } from '@angular/core'; -import {ProvidersCardForm} from "../providers-card-form/providers-card-form"; - -@Component({ - selector: 'app-providers-card', - imports: [ProvidersCardForm], - templateUrl: './providers-card.html', - styleUrl: './providers-card.css', -}) -export class ProvidersCard { - -} diff --git a/src/app/pages/staff/staff-card/staff-card.html b/src/app/pages/staff/staff-card/staff-card.html deleted file mode 100644 index 3aeccb7..0000000 --- a/src/app/pages/staff/staff-card/staff-card.html +++ /dev/null @@ -1 +0,0 @@ -

    staff-card works!

    diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts deleted file mode 100644 index 783d736..0000000 --- a/src/app/pages/staff/staff-card/staff-card.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-staff-card', - imports: [], - templateUrl: './staff-card.html', - styleUrl: './staff-card.css', -}) -export class StaffCard { - -} diff --git a/src/theme.less b/src/theme.less index 80e21da..9c64788 100644 --- a/src/theme.less +++ b/src/theme.less @@ -7,3 +7,68 @@ // View all variables: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/components/style/themes/default.less @primary-color: #1c1c1c; + +@modal-content-bg: #1c1c1c; +@moodal-content-header-bg: #1c1c1c; +@modal-header-bg: #1c1c1c; +@modal-header-border-color-split : #1c1c1c; +@modal-footer-border-color-split : #1c1c1c; +@modal-content-border-color-split : #1c1c1c; +@modal-close-color: #ea7e63; +@modal-heading-color: #AF9252; +@label-color: #AF9252; + + +.ant-modal-content { + border-radius: 16px; + overflow: hidden; +} + + +.ant-modal-header { + border-top-left-radius: 16px; + border-top-right-radius: 16px; +} + +.ant-modal-footer { + border-bottom-left-radius: 16px; + border-bottom-right-radius: 16px; +} + +/* Bouton Cancel/Annuler - Rouge */ +.ant-modal-footer .ant-btn-default { + background-color: #1c1c1c; + color: #ea7e63; + border-color: #ea7e63; +} + +.ant-modal-footer .ant-btn-default:hover, +.ant-modal-footer .ant-btn-default:focus { + background-color: #ea7e63; + color: #1c1c1c; + border-color: #ea7e63; +} + +/* Bouton Submit/Valider - Vert */ +.ant-modal-footer .ant-btn-primary { + background-color: #1c1c1c; + color: #5cd073; + border-color: #5cd073; +} + +.ant-modal-footer .ant-btn-primary:hover, +.ant-modal-footer .ant-btn-primary:focus { + background-color: #5cd073; + color: #1c1c1c; + border-color: #5cd073; +} + +/* Désactiver l'ombre par défaut si vous le souhaitez */ +.ant-modal-footer .ant-btn { + box-shadow: none; +} + +.ant-modal-footer .ant-btn:hover, +.ant-modal-footer .ant-btn:focus { + box-shadow: none; +} \ No newline at end of file From b1af1eb5e41ef99c941312615a59288f5f230b46 Mon Sep 17 00:00:00 2001 From: carteronm Date: Thu, 11 Dec 2025 17:55:02 +0100 Subject: [PATCH 12/23] last commit --- .../create-customers-modal/customers-card-form.css} | 0 .../customers-card/get-all-customers-card.css} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/app/pages/{providers/providers-card/providers-card.css => customers/create-customers-modal/customers-card-form.css} (100%) rename src/app/pages/{staff/staff-card/staff-card.css => customers/customers-card/get-all-customers-card.css} (100%) diff --git a/src/app/pages/providers/providers-card/providers-card.css b/src/app/pages/customers/create-customers-modal/customers-card-form.css similarity index 100% rename from src/app/pages/providers/providers-card/providers-card.css rename to src/app/pages/customers/create-customers-modal/customers-card-form.css diff --git a/src/app/pages/staff/staff-card/staff-card.css b/src/app/pages/customers/customers-card/get-all-customers-card.css similarity index 100% rename from src/app/pages/staff/staff-card/staff-card.css rename to src/app/pages/customers/customers-card/get-all-customers-card.css From 67870e19ea4dc8579987f35a6572cf4a49f3fa2c Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Thu, 28 May 2026 16:06:02 +0200 Subject: [PATCH 13/23] Contact PT1 --- .../contact-card.css} | 0 .../contact/contact-card/contact-card.html | 29 +++++ .../contact/contact-card/contact-card.ts | 108 ++++++++++++++++++ .../contact-get-all-form.html | 1 - .../contact-get-all-form.ts | 11 -- .../contact-get-all/contact-get-all.html | 1 - .../contact-get-all/contact-get-all.ts | 11 -- src/app/pages/contact/contact.html | 12 +- src/app/pages/contact/contact.ts | 39 ++++++- .../create-contact-modal.css} | 0 .../create-contact-modal.html | 1 + .../create-contact-modal.ts | 63 ++++++++++ .../customers-card-form.ts | 3 +- .../get-all-customers-card.html | 4 +- 14 files changed, 252 insertions(+), 31 deletions(-) rename src/app/pages/contact/{contact-get-all-form/contact-get-all-form.css => contact-card/contact-card.css} (100%) create mode 100644 src/app/pages/contact/contact-card/contact-card.html create mode 100644 src/app/pages/contact/contact-card/contact-card.ts delete mode 100644 src/app/pages/contact/contact-get-all-form/contact-get-all-form.html delete mode 100644 src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts delete mode 100644 src/app/pages/contact/contact-get-all/contact-get-all.html delete mode 100644 src/app/pages/contact/contact-get-all/contact-get-all.ts rename src/app/pages/contact/{contact-get-all/contact-get-all.css => create-contact-modal/create-contact-modal.css} (100%) create mode 100644 src/app/pages/contact/create-contact-modal/create-contact-modal.html create mode 100644 src/app/pages/contact/create-contact-modal/create-contact-modal.ts diff --git a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.css b/src/app/pages/contact/contact-card/contact-card.css similarity index 100% rename from src/app/pages/contact/contact-get-all-form/contact-get-all-form.css rename to src/app/pages/contact/contact-card/contact-card.css diff --git a/src/app/pages/contact/contact-card/contact-card.html b/src/app/pages/contact/contact-card/contact-card.html new file mode 100644 index 0000000..7bb4f76 --- /dev/null +++ b/src/app/pages/contact/contact-card/contact-card.html @@ -0,0 +1,29 @@ +@if (edit() == false) { + +

    Contact n°{{ contact().id }}

    +

    Nom : {{ contact().lastName + " " + contact().firstName }}

    +
    + + + + + + +} @else { + +
    + + Nom + + + + +
    +
    + + + + + + +} \ No newline at end of file diff --git a/src/app/pages/contact/contact-card/contact-card.ts b/src/app/pages/contact/contact-card/contact-card.ts new file mode 100644 index 0000000..e22c666 --- /dev/null +++ b/src/app/pages/contact/contact-card/contact-card.ts @@ -0,0 +1,108 @@ +import {Component, inject, input, output, signal} from '@angular/core'; +import { + ContactsService, + CustomersService, GetContactDto, + GetCustomerDto, + UpdateContactDto, + UpdateCustomerDto +} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {firstValueFrom} from "rxjs"; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {NzInputDirective} from "ng-zorro-antd/input"; + +@Component({ + selector: 'app-contact-card', + imports: [NzCardComponent, NzColDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzIconDirective, NzInputDirective, NzRowDirective, ReactiveFormsModule], + templateUrl: './contact-card.html', + styleUrl: './contact-card.css', +}) +export class ContactCard { + private contactsService = inject(ContactsService); + private notificationService = inject(NzNotificationService) + + contactEdit = signal(null); + contactsLoading = signal(false); + + contactForm = new FormGroup({ + id: new FormControl(null, [Validators.required]), + lastname: new FormControl(null, [Validators.required]), + firstname: new FormControl(null, [Validators.required]), + phone: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + address: new FormControl(null, [Validators.required]), + city: new FormControl(null, [Validators.required]), + role: new FormControl(null, [Validators.required]) + }) + + async submitForm() { + this.contactsLoading.set(true); + + const contactValue = { + lastname: this.contactForm.value.lastname, + firstname: this.contactForm.value.firstname, + phone: this.contactForm.value.phone, + email: this.contactForm.value.email, + address: this.contactForm.value.address, + city: this.contactForm.value.city, + role: this.contactForm.value.role, + } + + try { + const contact = await firstValueFrom(this.contactsService.updateContactRequest(this.contact().id,contactValue)); + this.contactEdit.set(contact); + console.log(contact); + this.contactForm.reset(); + this.edit.set(false); + + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.contactsLoading.set(false); + + } + + + contact = input(null); + + edit = signal(false) + + triggerEdited = output(); + + protected Edit() { + this.edit.set(true) + } + + protected Back() { + this.edit.set(false) + this.contactForm.reset(); + } + + async Delete() { + this.contactsLoading.set(true); + + try { + const contact = await firstValueFrom(this.contactsService.deleteContactEndpoint(this.contact().id)); + this.contactEdit.set(contact); + + this.contactForm.reset(); + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur de recherche', "Le contact n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.contactsLoading.set(false); + } +} diff --git a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html deleted file mode 100644 index 2d632a1..0000000 --- a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.html +++ /dev/null @@ -1 +0,0 @@ -

    contact-get-all-form works!

    diff --git a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts b/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts deleted file mode 100644 index 5bd699e..0000000 --- a/src/app/pages/contact/contact-get-all-form/contact-get-all-form.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-contact-get-all-form', - imports: [], - templateUrl: './contact-get-all-form.html', - styleUrl: './contact-get-all-form.css', -}) -export class ContactGetAllForm { - -} diff --git a/src/app/pages/contact/contact-get-all/contact-get-all.html b/src/app/pages/contact/contact-get-all/contact-get-all.html deleted file mode 100644 index a96702b..0000000 --- a/src/app/pages/contact/contact-get-all/contact-get-all.html +++ /dev/null @@ -1 +0,0 @@ -

    contact-get-all works!

    diff --git a/src/app/pages/contact/contact-get-all/contact-get-all.ts b/src/app/pages/contact/contact-get-all/contact-get-all.ts deleted file mode 100644 index 5f4cde4..0000000 --- a/src/app/pages/contact/contact-get-all/contact-get-all.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-contact-get-all', - imports: [], - templateUrl: './contact-get-all.html', - styleUrl: './contact-get-all.css', -}) -export class ContactGetAll { - -} diff --git a/src/app/pages/contact/contact.html b/src/app/pages/contact/contact.html index 9cae746..70b892c 100644 --- a/src/app/pages/contact/contact.html +++ b/src/app/pages/contact/contact.html @@ -1 +1,11 @@ -

    contact works!

    + + +
    +
    + @for (contact of contacts(); track contact.id) + { + + + } +
    +
    diff --git a/src/app/pages/contact/contact.ts b/src/app/pages/contact/contact.ts index 7a0c2c0..cc43b0b 100644 --- a/src/app/pages/contact/contact.ts +++ b/src/app/pages/contact/contact.ts @@ -1,11 +1,46 @@ -import { Component } from '@angular/core'; +import {Component, inject, signal} from '@angular/core'; +import {ContactsService, GetContactDto} from "../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; +import {CustomersCardForm} from "../customers/create-customers-modal/customers-card-form"; +import {GetAllCustomersCard} from "../customers/customers-card/get-all-customers-card"; +import {NzRowDirective} from "ng-zorro-antd/grid"; +import {CreateContactModal} from "./create-contact-modal/create-contact-modal"; +import {ContactCard} from "./contact-card/contact-card"; @Component({ selector: 'app-contact', - imports: [], + imports: [ + NzRowDirective, + CreateContactModal, + ContactCard + ], templateUrl: './contact.html', styleUrl: './contact.css', }) export class Contact { + private contactsService = inject(ContactsService); + private notificationService = inject(NzNotificationService) + router = inject(Router); + + contacts = signal([]); + contactsLoading = signal(false); + + async ngOnInit() { + await this.fetchCustomers(); + } + + async fetchCustomers() { + this.contactsLoading.set(true); + try { + const contacts = await firstValueFrom(this.contactsService.getAllContactxuest()) + this.contacts.set(contacts) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.contactsLoading.set(false); + } } diff --git a/src/app/pages/contact/contact-get-all/contact-get-all.css b/src/app/pages/contact/create-contact-modal/create-contact-modal.css similarity index 100% rename from src/app/pages/contact/contact-get-all/contact-get-all.css rename to src/app/pages/contact/create-contact-modal/create-contact-modal.css diff --git a/src/app/pages/contact/create-contact-modal/create-contact-modal.html b/src/app/pages/contact/create-contact-modal/create-contact-modal.html new file mode 100644 index 0000000..9561a47 --- /dev/null +++ b/src/app/pages/contact/create-contact-modal/create-contact-modal.html @@ -0,0 +1 @@ +

    create-contact-modal works!

    diff --git a/src/app/pages/contact/create-contact-modal/create-contact-modal.ts b/src/app/pages/contact/create-contact-modal/create-contact-modal.ts new file mode 100644 index 0000000..e88f0df --- /dev/null +++ b/src/app/pages/contact/create-contact-modal/create-contact-modal.ts @@ -0,0 +1,63 @@ +import {Component, output} from '@angular/core'; +import {ContactAddForm} from "../contact-add-form/contact-add-form"; +import {NzMessageService} from "ng-zorro-antd/message"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzModalComponent} from "ng-zorro-antd/modal"; + +@Component({ + selector: 'app-create-contact-modal', + imports: [ + ContactAddForm, + NzButtonComponent, + NzModalComponent + ], + template: ` + + + Création de contacts + + + + + + + + + + + `, + styleUrl: './create-contact-modal.css', +}) +export class CreateContactModal { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Client créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 300); + this.triggerCreated.emit(); + } + + handleCancel(): void { + this.isVisible = false; + this.message.info('Création annulée'); + } + + triggerCreated = output() +} diff --git a/src/app/pages/customers/create-customers-modal/customers-card-form.ts b/src/app/pages/customers/create-customers-modal/customers-card-form.ts index ca6c9b4..b5ec8cd 100644 --- a/src/app/pages/customers/create-customers-modal/customers-card-form.ts +++ b/src/app/pages/customers/create-customers-modal/customers-card-form.ts @@ -17,8 +17,7 @@ import {CustomersAddForm} from "../customers-add-form/customers-add-form"; [nzTitle]="modalTitle" [nzContent]="modalContent" [nzFooter]="modalFooter" - (nzOnCancel)="handleCancel()" - > + (nzOnCancel)="handleCancel()"> Création de clients diff --git a/src/app/pages/customers/customers-card/get-all-customers-card.html b/src/app/pages/customers/customers-card/get-all-customers-card.html index 9d6ff29..4afd437 100644 --- a/src/app/pages/customers/customers-card/get-all-customers-card.html +++ b/src/app/pages/customers/customers-card/get-all-customers-card.html @@ -1,7 +1,7 @@ @if (edit() == false) {

    Client n°{{ customer().id }}

    -

    Nom : {{ customer().note }}

    +

    Note : {{ customer().note }}

    @@ -13,7 +13,7 @@
    - Nom + Note From ea65e6a3dc54a629cb06b01cf28eb33c26a54833 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Tue, 2 Jun 2026 18:12:49 +0200 Subject: [PATCH 14/23] Providers Pt1 --- .../create-providers-modal.css} | 0 .../create-providers-modal.html | 1 + .../create-providers-modal.ts | 59 +++++++++ .../providers-add-form.html | 50 ++------ .../providers-add-form/providers-add-form.ts | 115 ++++++++++++++---- .../providers-card-form.css | 3 - .../providers-card-form.html | 1 - .../providers-card-form.ts | 56 --------- .../providers-card/providers-card.css | 0 .../providers-card/providers-card.html | 1 + .../providers-card/providers-card.ts | 11 ++ .../providers-get-all/providers-get-all.html | 1 - .../providers-get-all/providers-get-all.ts | 13 -- src/app/pages/providers/providers.html | 12 +- src/app/pages/providers/providers.ts | 38 ++++-- 15 files changed, 217 insertions(+), 144 deletions(-) rename src/app/pages/providers/{providers-get-all/providers-get-all.css => create-providers-modal/create-providers-modal.css} (100%) create mode 100644 src/app/pages/providers/create-providers-modal/create-providers-modal.html create mode 100644 src/app/pages/providers/create-providers-modal/create-providers-modal.ts delete mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.css delete mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.html delete mode 100644 src/app/pages/providers/providers-card-form/providers-card-form.ts create mode 100644 src/app/pages/providers/providers-card/providers-card.css create mode 100644 src/app/pages/providers/providers-card/providers-card.html create mode 100644 src/app/pages/providers/providers-card/providers-card.ts delete mode 100644 src/app/pages/providers/providers-get-all/providers-get-all.html delete mode 100644 src/app/pages/providers/providers-get-all/providers-get-all.ts diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.css b/src/app/pages/providers/create-providers-modal/create-providers-modal.css similarity index 100% rename from src/app/pages/providers/providers-get-all/providers-get-all.css rename to src/app/pages/providers/create-providers-modal/create-providers-modal.css diff --git a/src/app/pages/providers/create-providers-modal/create-providers-modal.html b/src/app/pages/providers/create-providers-modal/create-providers-modal.html new file mode 100644 index 0000000..1c34d8b --- /dev/null +++ b/src/app/pages/providers/create-providers-modal/create-providers-modal.html @@ -0,0 +1 @@ +

    create-providers-modal works!

    diff --git a/src/app/pages/providers/create-providers-modal/create-providers-modal.ts b/src/app/pages/providers/create-providers-modal/create-providers-modal.ts new file mode 100644 index 0000000..9f431de --- /dev/null +++ b/src/app/pages/providers/create-providers-modal/create-providers-modal.ts @@ -0,0 +1,59 @@ +import {Component, output} from '@angular/core'; +import {NzMessageService} from "ng-zorro-antd/message"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzModalComponent} from "ng-zorro-antd/modal"; +import {ProvidersAddForm} from "../providers-add-form/providers-add-form"; + +@Component({ + selector: 'app-create-providers-modal', + imports: [NzButtonComponent, NzModalComponent, ProvidersAddForm], + template: ` + + + Création de clients + + + + + + + + + + + `, + styleUrl: './create-providers-modal.css', +}) +export class CreateProvidersModal { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Prestataire créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 300); + this.triggerCreated.emit(); + } + + handleCancel(): void { + this.isVisible = false; + this.message.info('Création annulée'); + } + + triggerCreated = output() +} diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.html b/src/app/pages/providers/providers-add-form/providers-add-form.html index c204c6e..3a69e44 100644 --- a/src/app/pages/providers/providers-add-form/providers-add-form.html +++ b/src/app/pages/providers/providers-add-form/providers-add-form.html @@ -1,51 +1,23 @@ - Nom - - - - - - - Prénom + Note - + - Téléphone - - - - - - - Email - - - - - - - Adresse - - - - - - - Rôle + Type - - - - - - Prix - - + + @for (providertype of providerTypes(); track providertype.id) { + + } + + + + diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.ts b/src/app/pages/providers/providers-add-form/providers-add-form.ts index a6989ae..c8e7cbf 100644 --- a/src/app/pages/providers/providers-add-form/providers-add-form.ts +++ b/src/app/pages/providers/providers-add-form/providers-add-form.ts @@ -1,34 +1,105 @@ -import { Component } from '@angular/core'; -import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; -import {NzFormModule} from "ng-zorro-antd/form"; -import {NzInputDirective} from "ng-zorro-antd/input"; -import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {Component, inject, signal} from '@angular/core'; +import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; +import { + CreateCustomerDto, + CustomersService, + CustomertypesService, + GetCustomerTypeDto, + ProvidersService, ProvidertypesService +} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-providers-add-form', - imports: [ReactiveFormsModule, NzFormModule, NzInputDirective,], + imports: [ + FormsModule, + NzButtonComponent, + NzColDirective, + NzFlexDirective, + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzInputDirective, + NzOptionComponent, + NzRowDirective, + NzSelectComponent, + ReactiveFormsModule + ], templateUrl: './providers-add-form.html', styleUrl: './providers-add-form.css', }) export class ProvidersAddForm { - providerForm = new FormGroup({ - lastName: new FormControl(null, [Validators.required]), - firstName: new FormControl(null, [Validators.required]), - phoneNumber: new FormControl(null, [Validators.required]), - email: new FormControl(null, [Validators.required]), - address: new FormControl(null, [Validators.required]), - role: new FormControl(null, [Validators.required]), - price: new FormControl(null, [Validators.required]), - }) - submitForm() { - // Pour annuler si le formulaire est invalide - if (this.providerForm.invalid) return; + private providersService = inject(ProvidersService); + private providertypesService = inject(ProvidertypesService); + private notificationService = inject(NzNotificationService) - // Pour obtenir la valeur du formulaire - console.log(this.providerForm.getRawValue()) - // Pour vider le formulaire - this.providerForm.reset() + providerForm = new FormGroup({ + Price: new FormControl(null, [Validators.required]), + providerTypeId: new FormControl(null, [Validators.required]), + }) + + providerPost = signal(this.providerForm.value); + providersLoading = signal(false); + + async submitForm() { + // Pour annuler si le formulaire est invalide + if (this.providerForm.invalid) return; + + // Pour obtenir la valeur du formulaire + console.log(this.providerForm.getRawValue()) + this.providerPost.set(this.providerForm.getRawValue()) + + await this.createCustomers(this.providerPost().note, this.providerPost().customerTypeId) + // Pour vider le formulaire + this.providerForm.reset() + } + + async createCustomers(note: string, customerTypeId: number) { + this.providersLoading.set(true); + + const providerValue = { + note: note, + customerTypeId: customerTypeId } + + try { + const provider = await firstValueFrom(this.providersService.createProviderEndpoint(providerValue)); + this.providerPost.set(provider); + console.log(provider); + } catch (e) + { + this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.providersLoading.set(false); + } + + customerTypes = signal([]) + + async ngOnInit() { + await this.fetchCustomerTypes() + } + + async fetchCustomerTypes() { + this.customersLoading.set(true); + try { + const customerType = await firstValueFrom(this.customertypesService.getAllCustomerTypeEndpoint()) + this.customerTypes.set(customerType) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.customersLoading.set(false); + } } diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.css b/src/app/pages/providers/providers-card-form/providers-card-form.css deleted file mode 100644 index 8ae4ce1..0000000 --- a/src/app/pages/providers/providers-card-form/providers-card-form.css +++ /dev/null @@ -1,3 +0,0 @@ -.ant-modal-content { - background: #272727; -} \ No newline at end of file diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.html b/src/app/pages/providers/providers-card-form/providers-card-form.html deleted file mode 100644 index 81b94e8..0000000 --- a/src/app/pages/providers/providers-card-form/providers-card-form.html +++ /dev/null @@ -1 +0,0 @@ -

    providers-card-form works!

    diff --git a/src/app/pages/providers/providers-card-form/providers-card-form.ts b/src/app/pages/providers/providers-card-form/providers-card-form.ts deleted file mode 100644 index 85dd200..0000000 --- a/src/app/pages/providers/providers-card-form/providers-card-form.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { Component } from '@angular/core'; -import {NzModalComponent, NzModalModule} from "ng-zorro-antd/modal"; -import {NzButtonComponent, NzButtonModule} from "ng-zorro-antd/button"; -import {NzMessageService} from "ng-zorro-antd/message"; -import {ProvidersAddForm} from "../providers-add-form/providers-add-form"; - -@Component({ - selector: 'app-providers-card-form', - imports: [NzButtonModule, NzModalModule, ProvidersAddForm], - template: ` - - - Création de prestataires - - - - - - - - - - - `, - styleUrl: './providers-card-form.css', -}) -export class ProvidersCardForm { - constructor(private message: NzMessageService) {} - isVisible = false; - isConfirmLoading = false; - - showModal(): void { - this.isVisible = true; - } - - handleOk(): void { - this.isConfirmLoading = true; - this.message.success('Prestataire créé !'); - setTimeout(() => { - this.isVisible = false; - this.isConfirmLoading = false; - }, 1000); - } - - handleCancel(): void { - this.isVisible = false; - } -} diff --git a/src/app/pages/providers/providers-card/providers-card.css b/src/app/pages/providers/providers-card/providers-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/providers/providers-card/providers-card.html b/src/app/pages/providers/providers-card/providers-card.html new file mode 100644 index 0000000..2a291ad --- /dev/null +++ b/src/app/pages/providers/providers-card/providers-card.html @@ -0,0 +1 @@ +

    providers-card works!

    diff --git a/src/app/pages/providers/providers-card/providers-card.ts b/src/app/pages/providers/providers-card/providers-card.ts new file mode 100644 index 0000000..596c6fd --- /dev/null +++ b/src/app/pages/providers/providers-card/providers-card.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-providers-card', + imports: [], + templateUrl: './providers-card.html', + styleUrl: './providers-card.css', +}) +export class ProvidersCard { + +} diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.html b/src/app/pages/providers/providers-get-all/providers-get-all.html deleted file mode 100644 index 7e60329..0000000 --- a/src/app/pages/providers/providers-get-all/providers-get-all.html +++ /dev/null @@ -1 +0,0 @@ -

    providers-get-all works!

    diff --git a/src/app/pages/providers/providers-get-all/providers-get-all.ts b/src/app/pages/providers/providers-get-all/providers-get-all.ts deleted file mode 100644 index 7db4414..0000000 --- a/src/app/pages/providers/providers-get-all/providers-get-all.ts +++ /dev/null @@ -1,13 +0,0 @@ -import {Component, inject, signal} from '@angular/core'; -import {NzNotificationService} from "ng-zorro-antd/notification"; -import {Router} from "@angular/router"; -import {firstValueFrom} from "rxjs"; - -@Component({ - selector: 'app-providers-get-all', - imports: [], - templateUrl: './providers-get-all.html', - styleUrl: './providers-get-all.css', -}) -export class ProvidersGetAll { -} diff --git a/src/app/pages/providers/providers.html b/src/app/pages/providers/providers.html index 1cae579..6e1fd60 100644 --- a/src/app/pages/providers/providers.html +++ b/src/app/pages/providers/providers.html @@ -1,3 +1,11 @@ - + - \ No newline at end of file +
    +
    + @for (provider of providers(); track provider.id) + { + + + } +
    +
    \ No newline at end of file diff --git a/src/app/pages/providers/providers.ts b/src/app/pages/providers/providers.ts index df16827..1511818 100644 --- a/src/app/pages/providers/providers.ts +++ b/src/app/pages/providers/providers.ts @@ -1,16 +1,40 @@ -import { Component } from '@angular/core'; -import {ProvidersCardForm} from "./providers-card-form/providers-card-form"; -import {ProvidersGetAll} from "./providers-get-all/providers-get-all"; +import {Component, inject, signal} from '@angular/core'; +import {NzRowDirective} from "ng-zorro-antd/grid"; +import {GetProviderDto, ProvidersService} from "../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; +import {ProvidersCard} from "./providers-card/providers-card"; +import {CreateProvidersModal} from "./create-providers-modal/create-providers-modal"; @Component({ selector: 'app-providers', - imports: [ - ProvidersCardForm, - ProvidersGetAll - ], + imports: [NzRowDirective, ProvidersCard, CreateProvidersModal], templateUrl: './providers.html', styleUrl: './providers.css', }) export class Providers { + private providersService = inject(ProvidersService); + private notificationService = inject(NzNotificationService) + router = inject(Router); + + providers = signal([]); + providersLoading = signal(false); + + async ngOnInit() { + await this.fetchProviders(); + } + + async fetchProviders() { + this.providersLoading.set(true); + try { + const providers = await firstValueFrom(this.providersService.getAllProvidersEndpoint()) + this.providers.set(providers) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.providersLoading.set(false); + } } From 0d156faead1c151cae6197acfa76a40a22e5b228 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Sun, 7 Jun 2026 17:27:56 +0200 Subject: [PATCH 15/23] Providers & Contact fini --- src/app/app.config.ts | 4 +- .../contact/contact-card/contact-card.ts | 2 +- src/app/pages/contact/contact.ts | 2 +- .../customers-card-form.ts | 1 - .../create-providers-modal.ts | 2 +- .../providers-add-form.html | 4 +- .../providers-add-form/providers-add-form.ts | 47 +++------- .../providers-card/providers-card.html | 30 ++++++- .../providers-card/providers-card.ts | 89 ++++++++++++++++++- src/app/pages/providers/providers.ts | 4 +- .../staff/staff-add-form/staff-add-form.css | 0 .../staff/staff-add-form/staff-add-form.html | 61 ------------- .../staff/staff-add-form/staff-add-form.ts | 43 --------- .../staff/staff-card-form/staff-card-form.css | 0 .../staff-card-form/staff-card-form.html | 1 - .../staff/staff-card-form/staff-card-form.ts | 57 ------------ .../staff/staff-get-all/staff-get-all.css | 0 .../staff/staff-get-all/staff-get-all.html | 1 - .../staff/staff-get-all/staff-get-all.ts | 11 --- src/app/pages/staff/staff.html | 4 +- src/app/services/api/.openapi-generator/FILES | 3 +- src/app/services/api/api/api.ts | 8 +- src/app/services/api/api/contacts.service.ts | 20 ++--- .../services/api/api/providertype.service.ts | 88 ------------------ .../services/api/api/providertypes.service.ts | 50 +++++++++++ ...service.ts => serviceproviders.service.ts} | 22 ++--- .../services/api/model/create-provider-dto.ts | 1 + .../services/api/model/create-staff-dto.ts | 4 + .../services/api/model/get-provider-dto.ts | 1 + src/app/services/api/model/get-staff-dto.ts | 4 + .../api/model/method-impl-attributes.ts | 1 + 31 files changed, 227 insertions(+), 338 deletions(-) delete mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.css delete mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.html delete mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.ts delete mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.css delete mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.html delete mode 100644 src/app/pages/staff/staff-card-form/staff-card-form.ts delete mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.css delete mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.html delete mode 100644 src/app/pages/staff/staff-get-all/staff-get-all.ts delete mode 100644 src/app/services/api/api/providertype.service.ts rename src/app/services/api/api/{providers.service.ts => serviceproviders.service.ts} (94%) diff --git a/src/app/app.config.ts b/src/app/app.config.ts index 010986a..da5b616 100644 --- a/src/app/app.config.ts +++ b/src/app/app.config.ts @@ -7,6 +7,7 @@ import { registerLocaleData } from '@angular/common'; import fr from '@angular/common/locales/fr'; import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { provideHttpClient } from '@angular/common/http'; +import {NzModalService} from 'ng-zorro-antd/modal'; registerLocaleData(fr); @@ -14,6 +15,7 @@ export const appConfig: ApplicationConfig = { providers: [ provideBrowserGlobalErrorListeners(), provideZoneChangeDetection({ eventCoalescing: true }), - provideRouter(routes), provideNzI18n(fr_FR), provideAnimationsAsync(), provideHttpClient() + provideRouter(routes), provideNzI18n(fr_FR), provideAnimationsAsync(), provideHttpClient(), + NzModalService ] }; diff --git a/src/app/pages/contact/contact-card/contact-card.ts b/src/app/pages/contact/contact-card/contact-card.ts index e22c666..c8ef92d 100644 --- a/src/app/pages/contact/contact-card/contact-card.ts +++ b/src/app/pages/contact/contact-card/contact-card.ts @@ -53,7 +53,7 @@ export class ContactCard { } try { - const contact = await firstValueFrom(this.contactsService.updateContactRequest(this.contact().id,contactValue)); + const contact = await firstValueFrom(this.contactsService.updateContactEndpoint(this.contact().id,contactValue)); this.contactEdit.set(contact); console.log(contact); this.contactForm.reset(); diff --git a/src/app/pages/contact/contact.ts b/src/app/pages/contact/contact.ts index cc43b0b..796710b 100644 --- a/src/app/pages/contact/contact.ts +++ b/src/app/pages/contact/contact.ts @@ -35,7 +35,7 @@ export class Contact { async fetchCustomers() { this.contactsLoading.set(true); try { - const contacts = await firstValueFrom(this.contactsService.getAllContactxuest()) + const contacts = await firstValueFrom(this.contactsService.getAllContactEndpoint()) this.contacts.set(contacts) } catch (e) { this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); diff --git a/src/app/pages/customers/create-customers-modal/customers-card-form.ts b/src/app/pages/customers/create-customers-modal/customers-card-form.ts index b5ec8cd..a20b2fc 100644 --- a/src/app/pages/customers/create-customers-modal/customers-card-form.ts +++ b/src/app/pages/customers/create-customers-modal/customers-card-form.ts @@ -2,7 +2,6 @@ import {Component, output} from '@angular/core'; import {NzMessageService} from "ng-zorro-antd/message"; import {NzButtonModule} from "ng-zorro-antd/button"; import {NzModalModule} from "ng-zorro-antd/modal"; -import {ProvidersAddForm} from "../../providers/providers-add-form/providers-add-form"; import {CustomersAddForm} from "../customers-add-form/customers-add-form"; @Component({ diff --git a/src/app/pages/providers/create-providers-modal/create-providers-modal.ts b/src/app/pages/providers/create-providers-modal/create-providers-modal.ts index 9f431de..551cc7e 100644 --- a/src/app/pages/providers/create-providers-modal/create-providers-modal.ts +++ b/src/app/pages/providers/create-providers-modal/create-providers-modal.ts @@ -17,7 +17,7 @@ import {ProvidersAddForm} from "../providers-add-form/providers-add-form"; [nzContent]="modalContent" [nzFooter]="modalFooter" (nzOnCancel)="handleCancel()"> - Création de clients + Création de prestataires diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.html b/src/app/pages/providers/providers-add-form/providers-add-form.html index 3a69e44..69dfa7a 100644 --- a/src/app/pages/providers/providers-add-form/providers-add-form.html +++ b/src/app/pages/providers/providers-add-form/providers-add-form.html @@ -1,8 +1,8 @@
    - Note + Prix - + diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.ts b/src/app/pages/providers/providers-add-form/providers-add-form.ts index c8e7cbf..d0a2a59 100644 --- a/src/app/pages/providers/providers-add-form/providers-add-form.ts +++ b/src/app/pages/providers/providers-add-form/providers-add-form.ts @@ -6,48 +6,29 @@ import {NzFlexDirective} from "ng-zorro-antd/flex"; import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; import {NzInputDirective} from "ng-zorro-antd/input"; import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; -import { - CreateCustomerDto, - CustomersService, - CustomertypesService, - GetCustomerTypeDto, - ProvidersService, ProvidertypesService -} from "../../../services/api"; +import {CreateProviderDto, GetProviderTypeDto, ProvidertypesService, ServiceprovidersService} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-providers-add-form', - imports: [ - FormsModule, - NzButtonComponent, - NzColDirective, - NzFlexDirective, - NzFormControlComponent, - NzFormDirective, - NzFormItemComponent, - NzFormLabelComponent, - NzInputDirective, - NzOptionComponent, - NzRowDirective, - NzSelectComponent, - ReactiveFormsModule + imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzOptionComponent, NzRowDirective, NzSelectComponent, ReactiveFormsModule ], templateUrl: './providers-add-form.html', styleUrl: './providers-add-form.css', }) export class ProvidersAddForm { - private providersService = inject(ProvidersService); - private providertypesService = inject(ProvidertypesService); + private providersService = inject(ServiceprovidersService); + private serviceprovidertypesService = inject(ProvidertypesService); private notificationService = inject(NzNotificationService) providerForm = new FormGroup({ - Price: new FormControl(null, [Validators.required]), + Price: new FormControl(null, [Validators.required]), providerTypeId: new FormControl(null, [Validators.required]), }) - providerPost = signal(this.providerForm.value); + providerPost = signal(this.providerForm.value); providersLoading = signal(false); async submitForm() { @@ -58,16 +39,16 @@ export class ProvidersAddForm { console.log(this.providerForm.getRawValue()) this.providerPost.set(this.providerForm.getRawValue()) - await this.createCustomers(this.providerPost().note, this.providerPost().customerTypeId) + await this.createProviders(this.providerPost().price, this.providerPost().providerTypeId) // Pour vider le formulaire this.providerForm.reset() } - async createCustomers(note: string, customerTypeId: number) { + async createProviders(price: number, customerTypeId: number) { this.providersLoading.set(true); const providerValue = { - note: note, + price: price, customerTypeId: customerTypeId } @@ -85,21 +66,21 @@ export class ProvidersAddForm { this.providersLoading.set(false); } - customerTypes = signal([]) + providerTypes = signal([]) async ngOnInit() { await this.fetchCustomerTypes() } async fetchCustomerTypes() { - this.customersLoading.set(true); + this.providersLoading.set(true); try { - const customerType = await firstValueFrom(this.customertypesService.getAllCustomerTypeEndpoint()) - this.customerTypes.set(customerType) + const providerType = await firstValueFrom(this.serviceprovidertypesService.getAllProviderTypesEndpoint()) + this.providerTypes.set(providerType) } catch (e) { this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); } - this.customersLoading.set(false); + this.providersLoading.set(false); } } diff --git a/src/app/pages/providers/providers-card/providers-card.html b/src/app/pages/providers/providers-card/providers-card.html index 2a291ad..e9ec0c8 100644 --- a/src/app/pages/providers/providers-card/providers-card.html +++ b/src/app/pages/providers/providers-card/providers-card.html @@ -1 +1,29 @@ -

    providers-card works!

    +@if (edit() == false) { + +

    Prestataire n°{{ provider().id }}

    +

    Prix : {{ provider().price }}

    +
    + + + + + + +} @else { + + + + Prix + + + + + + + + + + + + +} diff --git a/src/app/pages/providers/providers-card/providers-card.ts b/src/app/pages/providers/providers-card/providers-card.ts index 596c6fd..71c7265 100644 --- a/src/app/pages/providers/providers-card/providers-card.ts +++ b/src/app/pages/providers/providers-card/providers-card.ts @@ -1,11 +1,96 @@ -import { Component } from '@angular/core'; +import {Component, inject, input, output, signal} from '@angular/core'; +import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import { + CustomersService, + GetCustomerDto, GetProviderDto, + ServiceprovidersService, + UpdateCustomerDto, + UpdateProviderDto +} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-providers-card', - imports: [], + imports: [FormsModule, NzCardComponent, NzColDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzIconDirective, NzInputDirective, NzRowDirective, ReactiveFormsModule], templateUrl: './providers-card.html', styleUrl: './providers-card.css', }) export class ProvidersCard { + private providersService = inject(ServiceprovidersService); + private notificationService = inject(NzNotificationService) + providerEdit = signal(null); + providersLoading = signal(false); + + providerForm = new FormGroup({ + id: new FormControl(null, [Validators.required]), + price: new FormControl(null, [Validators.required]), + }) + + async submitForm() { + this.providersLoading.set(true); + + const providerValue = { + price: this.providerForm.value.price, + } + + try { + const provider = await firstValueFrom(this.providersService.updateProviderEndpoint(this.provider().id,providerValue)); + this.providerEdit.set(provider); + console.log(provider); + this.providerForm.reset(); + this.edit.set(false); + + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.providersLoading.set(false); + + } + + + provider = input(null); + + edit = signal(false) + + triggerEdited = output(); + + protected Edit() { + this.edit.set(true) + } + + protected Back() { + this.edit.set(false) + this.providerForm.reset(); + } + + async Delete() { + this.providersLoading.set(true); + + try { + const provider = await firstValueFrom(this.providersService.deleteProviderEndpoint(this.provider().id)); + this.providerEdit.set(provider); + + this.providerForm.reset(); + this.triggerEdited.emit(); + + } catch (e) + { + this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.providersLoading.set(false); + } } diff --git a/src/app/pages/providers/providers.ts b/src/app/pages/providers/providers.ts index 1511818..b1b0557 100644 --- a/src/app/pages/providers/providers.ts +++ b/src/app/pages/providers/providers.ts @@ -1,6 +1,6 @@ import {Component, inject, signal} from '@angular/core'; import {NzRowDirective} from "ng-zorro-antd/grid"; -import {GetProviderDto, ProvidersService} from "../../services/api"; +import {GetProviderDto, ServiceprovidersService} from "../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {Router} from "@angular/router"; import {firstValueFrom} from "rxjs"; @@ -14,7 +14,7 @@ import {CreateProvidersModal} from "./create-providers-modal/create-providers-mo styleUrl: './providers.css', }) export class Providers { - private providersService = inject(ProvidersService); + private providersService = inject(ServiceprovidersService); private notificationService = inject(NzNotificationService) router = inject(Router); diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.css b/src/app/pages/staff/staff-add-form/staff-add-form.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.html b/src/app/pages/staff/staff-add-form/staff-add-form.html deleted file mode 100644 index 5ef2c2f..0000000 --- a/src/app/pages/staff/staff-add-form/staff-add-form.html +++ /dev/null @@ -1,61 +0,0 @@ -
    - - Nom - - - - - - - Prénom - - - - - - - Téléphone - - - - - - - Email - - - - - - - Adresse - - - - - - - Rôle - - - - - - - - - Numéro F4T2 - - - - - - - Date d'expiration du F4T2 - - - - - - -
    diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts deleted file mode 100644 index 3e341b1..0000000 --- a/src/app/pages/staff/staff-add-form/staff-add-form.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Component } from '@angular/core'; -import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; -import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; -import { - NzFormControlComponent, - NzFormDirective, - NzFormItemComponent, - NzFormLabelComponent, - NzFormModule -} from "ng-zorro-antd/form"; -import {NzInputDirective} from "ng-zorro-antd/input"; -import {NzLayoutComponent} from "ng-zorro-antd/layout"; - -@Component({ - selector: 'app-staff-add-form', - imports: [ReactiveFormsModule, NzFormModule, NzInputDirective, NzLayoutComponent], - templateUrl: './staff-add-form.html', - styleUrl: './staff-add-form.css', -}) -export class StaffAddForm { - staffForm = new FormGroup({ - lastName: new FormControl(null, [Validators.required]), - firstName: new FormControl(null, [Validators.required]), - phoneNumber: new FormControl(null, [Validators.required]), - email: new FormControl(null, [Validators.required]), - address: new FormControl(null, [Validators.required]), - role: new FormControl(null, [Validators.required]), - price: new FormControl(null, [Validators.required]), - F4T2NumberApproval: new FormControl(null, [Validators.required]), - F4T2ExpirationDate: new FormControl(null, [Validators.required]), - - }) - submitForm() { - // Pour annuler si le formulaire est invalide - if (this.staffForm.invalid) return; - - // Pour obtenir la valeur du formulaire - console.log(this.staffForm.getRawValue()) - - // Pour vider le formulaire - this.staffForm.reset() - } -} diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.css b/src/app/pages/staff/staff-card-form/staff-card-form.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.html b/src/app/pages/staff/staff-card-form/staff-card-form.html deleted file mode 100644 index 00c833f..0000000 --- a/src/app/pages/staff/staff-card-form/staff-card-form.html +++ /dev/null @@ -1 +0,0 @@ -

    staff-card-form works!

    diff --git a/src/app/pages/staff/staff-card-form/staff-card-form.ts b/src/app/pages/staff/staff-card-form/staff-card-form.ts deleted file mode 100644 index 90e9a07..0000000 --- a/src/app/pages/staff/staff-card-form/staff-card-form.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Component } from '@angular/core'; -import {NzMessageService} from "ng-zorro-antd/message"; -import {StaffAddForm} from "../staff-add-form/staff-add-form"; -import {NzButtonModule} from "ng-zorro-antd/button"; -import {NzModalModule} from "ng-zorro-antd/modal"; -import {ProvidersAddForm} from "../../providers/providers-add-form/providers-add-form"; - -@Component({ - selector: 'app-staff-card-form', - imports: [NzButtonModule, NzModalModule, StaffAddForm], - template: ` - - - Création de artificiers - - - - - - - - - - - `, - styleUrl: './staff-card-form.css', -}) -export class StaffCardForm { - constructor(private message: NzMessageService) {} - isVisible = false; - isConfirmLoading = false; - - showModal(): void { - this.isVisible = true; - } - - handleOk(): void { - this.isConfirmLoading = true; - this.message.success('Prestataire créé !'); - setTimeout(() => { - this.isVisible = false; - this.isConfirmLoading = false; - }, 1000); - } - - handleCancel(): void { - this.isVisible = false; - } -} \ No newline at end of file diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.css b/src/app/pages/staff/staff-get-all/staff-get-all.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.html b/src/app/pages/staff/staff-get-all/staff-get-all.html deleted file mode 100644 index 00bc9ae..0000000 --- a/src/app/pages/staff/staff-get-all/staff-get-all.html +++ /dev/null @@ -1 +0,0 @@ -

    staff-get-all works!

    diff --git a/src/app/pages/staff/staff-get-all/staff-get-all.ts b/src/app/pages/staff/staff-get-all/staff-get-all.ts deleted file mode 100644 index 27702c8..0000000 --- a/src/app/pages/staff/staff-get-all/staff-get-all.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-staff-get-all', - imports: [], - templateUrl: './staff-get-all.html', - styleUrl: './staff-get-all.css', -}) -export class StaffGetAll { - -} diff --git a/src/app/pages/staff/staff.html b/src/app/pages/staff/staff.html index 614ec0e..d0db3ca 100644 --- a/src/app/pages/staff/staff.html +++ b/src/app/pages/staff/staff.html @@ -1,3 +1 @@ - - - +

    staff

    diff --git a/src/app/services/api/.openapi-generator/FILES b/src/app/services/api/.openapi-generator/FILES index f314012..e7d025e 100644 --- a/src/app/services/api/.openapi-generator/FILES +++ b/src/app/services/api/.openapi-generator/FILES @@ -11,9 +11,8 @@ api/customers.service.ts api/customertypes.service.ts api/experiencelevels.service.ts api/historyofapprovals.service.ts -api/providers.service.ts -api/providertype.service.ts api/providertypes.service.ts +api/serviceproviders.service.ts api/staffs.service.ts configuration.ts encoder.ts diff --git a/src/app/services/api/api/api.ts b/src/app/services/api/api/api.ts index 2934582..bba0b75 100644 --- a/src/app/services/api/api/api.ts +++ b/src/app/services/api/api/api.ts @@ -12,12 +12,10 @@ export * from './experiencelevels.service'; import { ExperiencelevelsService } from './experiencelevels.service'; export * from './historyofapprovals.service'; import { HistoryofapprovalsService } from './historyofapprovals.service'; -export * from './providers.service'; -import { ProvidersService } from './providers.service'; -export * from './providertype.service'; -import { ProvidertypeService } from './providertype.service'; export * from './providertypes.service'; import { ProvidertypesService } from './providertypes.service'; +export * from './serviceproviders.service'; +import { ServiceprovidersService } from './serviceproviders.service'; export * from './staffs.service'; import { StaffsService } from './staffs.service'; -export const APIS = [AvailabilitiesService, CommunicationsService, ContactsService, CustomersService, CustomertypesService, ExperiencelevelsService, HistoryofapprovalsService, ProvidersService, ProvidertypeService, ProvidertypesService, StaffsService]; +export const APIS = [AvailabilitiesService, CommunicationsService, ContactsService, CustomersService, CustomertypesService, ExperiencelevelsService, HistoryofapprovalsService, ProvidertypesService, ServiceprovidersService, StaffsService]; diff --git a/src/app/services/api/api/contacts.service.ts b/src/app/services/api/api/contacts.service.ts index de283ff..d8a5e13 100644 --- a/src/app/services/api/api/contacts.service.ts +++ b/src/app/services/api/api/contacts.service.ts @@ -162,10 +162,10 @@ export class ContactsService extends BaseService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public getAllContactxuest(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public getAllContactxuest(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; - public getAllContactxuest(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; - public getAllContactxuest(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + public getAllContactEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllContactEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllContactEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllContactEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { let localVarHeaders = this.defaultHeaders; @@ -268,15 +268,15 @@ export class ContactsService extends BaseService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; - public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public updateContactRequest(id: number, updateContactDto: UpdateContactDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + public updateContactEndpoint(id: number, updateContactDto: UpdateContactDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateContactEndpoint(id: number, updateContactDto: UpdateContactDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateContactEndpoint(id: number, updateContactDto: UpdateContactDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateContactEndpoint(id: number, updateContactDto: UpdateContactDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling updateContactRequest.'); + throw new Error('Required parameter id was null or undefined when calling updateContactEndpoint.'); } if (updateContactDto === null || updateContactDto === undefined) { - throw new Error('Required parameter updateContactDto was null or undefined when calling updateContactRequest.'); + throw new Error('Required parameter updateContactDto was null or undefined when calling updateContactEndpoint.'); } let localVarHeaders = this.defaultHeaders; diff --git a/src/app/services/api/api/providertype.service.ts b/src/app/services/api/api/providertype.service.ts deleted file mode 100644 index 9f7c7d6..0000000 --- a/src/app/services/api/api/providertype.service.ts +++ /dev/null @@ -1,88 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/* tslint:disable:no-unused-variable member-ordering */ - -import { Inject, Injectable, Optional } from '@angular/core'; -import { HttpClient, HttpHeaders, HttpParams, - HttpResponse, HttpEvent, HttpParameterCodec, HttpContext - } from '@angular/common/http'; -import { CustomHttpParameterCodec } from '../encoder'; -import { Observable } from 'rxjs'; - -// @ts-ignore -import { GetProviderTypeDto } from '../model/get-provider-type-dto'; - -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; -import { Configuration } from '../configuration'; -import { BaseService } from '../api.base.service'; - - - -@Injectable({ - providedIn: 'root' -}) -export class ProvidertypeService extends BaseService { - - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); - } - - /** - * @endpoint get /API/providertype - * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. - * @param reportProgress flag to report request and response progress. - */ - public getAllProviderTypesEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public getAllProviderTypesEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; - public getAllProviderTypesEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; - public getAllProviderTypesEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { - - let localVarHeaders = this.defaultHeaders; - - const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ - 'application/json' - ]); - if (localVarHttpHeaderAcceptSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); - } - - const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); - - const localVarTransferCache: boolean = options?.transferCache ?? true; - - - let responseType_: 'text' | 'json' | 'blob' = 'json'; - if (localVarHttpHeaderAcceptSelected) { - if (localVarHttpHeaderAcceptSelected.startsWith('text')) { - responseType_ = 'text'; - } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { - responseType_ = 'json'; - } else { - responseType_ = 'blob'; - } - } - - let localVarPath = `/API/providertype`; - const { basePath, withCredentials } = this.configuration; - return this.httpClient.request>('get', `${basePath}${localVarPath}`, - { - context: localVarHttpContext, - responseType: responseType_, - ...(withCredentials ? { withCredentials } : {}), - headers: localVarHeaders, - observe: observe, - ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), - reportProgress: reportProgress - } - ); - } - -} diff --git a/src/app/services/api/api/providertypes.service.ts b/src/app/services/api/api/providertypes.service.ts index bcbfc2a..81fdd00 100644 --- a/src/app/services/api/api/providertypes.service.ts +++ b/src/app/services/api/api/providertypes.service.ts @@ -157,6 +157,56 @@ export class ProvidertypesService extends BaseService { ); } + /** + * @endpoint get /API/providertypes + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getAllProviderTypesEndpoint(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public getAllProviderTypesEndpoint(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProviderTypesEndpoint(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>>; + public getAllProviderTypesEndpoint(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + + let localVarHeaders = this.defaultHeaders; + + const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([ + 'application/json' + ]); + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + const localVarHttpContext: HttpContext = options?.context ?? new HttpContext(); + + const localVarTransferCache: boolean = options?.transferCache ?? true; + + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/API/providertypes`; + const { basePath, withCredentials } = this.configuration; + return this.httpClient.request>('get', `${basePath}${localVarPath}`, + { + context: localVarHttpContext, + responseType: responseType_, + ...(withCredentials ? { withCredentials } : {}), + headers: localVarHeaders, + observe: observe, + ...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}), + reportProgress: reportProgress + } + ); + } + /** * @endpoint get /API/providertypes/{id} * @param id diff --git a/src/app/services/api/api/providers.service.ts b/src/app/services/api/api/serviceproviders.service.ts similarity index 94% rename from src/app/services/api/api/providers.service.ts rename to src/app/services/api/api/serviceproviders.service.ts index 1275be0..377f44f 100644 --- a/src/app/services/api/api/providers.service.ts +++ b/src/app/services/api/api/serviceproviders.service.ts @@ -33,14 +33,14 @@ import { BaseService } from '../api.base.service'; @Injectable({ providedIn: 'root' }) -export class ProvidersService extends BaseService { +export class ServiceprovidersService extends BaseService { constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { super(basePath, configuration); } /** - * @endpoint post /API/providers + * @endpoint post /API/serviceproviders * @param createProviderDto * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -87,7 +87,7 @@ export class ProvidersService extends BaseService { } } - let localVarPath = `/API/providers`; + let localVarPath = `/API/serviceproviders`; const { basePath, withCredentials } = this.configuration; return this.httpClient.request('post', `${basePath}${localVarPath}`, { @@ -104,7 +104,7 @@ export class ProvidersService extends BaseService { } /** - * @endpoint delete /API/providers/{id} + * @endpoint delete /API/serviceproviders/{id} * @param id * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -142,7 +142,7 @@ export class ProvidersService extends BaseService { } } - let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + let localVarPath = `/API/serviceproviders/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; const { basePath, withCredentials } = this.configuration; return this.httpClient.request('delete', `${basePath}${localVarPath}`, { @@ -158,7 +158,7 @@ export class ProvidersService extends BaseService { } /** - * @endpoint get /API/providers + * @endpoint get /API/serviceproviders * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ @@ -192,7 +192,7 @@ export class ProvidersService extends BaseService { } } - let localVarPath = `/API/providers`; + let localVarPath = `/API/serviceproviders`; const { basePath, withCredentials } = this.configuration; return this.httpClient.request>('get', `${basePath}${localVarPath}`, { @@ -208,7 +208,7 @@ export class ProvidersService extends BaseService { } /** - * @endpoint get /API/providers/{id} + * @endpoint get /API/serviceproviders/{id} * @param id * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. @@ -246,7 +246,7 @@ export class ProvidersService extends BaseService { } } - let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + let localVarPath = `/API/serviceproviders/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; const { basePath, withCredentials } = this.configuration; return this.httpClient.request('get', `${basePath}${localVarPath}`, { @@ -262,7 +262,7 @@ export class ProvidersService extends BaseService { } /** - * @endpoint put /API/providers/{id} + * @endpoint put /API/serviceproviders/{id} * @param id * @param updateProviderDto * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. @@ -313,7 +313,7 @@ export class ProvidersService extends BaseService { } } - let localVarPath = `/API/providers/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; + let localVarPath = `/API/serviceproviders/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; const { basePath, withCredentials } = this.configuration; return this.httpClient.request('put', `${basePath}${localVarPath}`, { diff --git a/src/app/services/api/model/create-provider-dto.ts b/src/app/services/api/model/create-provider-dto.ts index 5b88833..a939b6a 100644 --- a/src/app/services/api/model/create-provider-dto.ts +++ b/src/app/services/api/model/create-provider-dto.ts @@ -11,5 +11,6 @@ export interface CreateProviderDto { price?: number; + providerTypeId?: number; } diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts index 062ecb6..2e1ac8e 100644 --- a/src/app/services/api/model/create-staff-dto.ts +++ b/src/app/services/api/model/create-staff-dto.ts @@ -10,6 +10,10 @@ export interface CreateStaffDto { + firstName?: string | null; + lastName?: string | null; + profession?: string | null; + email?: string | null; f4T2NumberApproval?: string | null; f4T2ExpirationDate?: string; } diff --git a/src/app/services/api/model/get-provider-dto.ts b/src/app/services/api/model/get-provider-dto.ts index cab49cd..ebeb7d5 100644 --- a/src/app/services/api/model/get-provider-dto.ts +++ b/src/app/services/api/model/get-provider-dto.ts @@ -12,5 +12,6 @@ export interface GetProviderDto { id?: number; price?: number; + providerTypeId?: number; } diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts index 3dbc21d..f9610b6 100644 --- a/src/app/services/api/model/get-staff-dto.ts +++ b/src/app/services/api/model/get-staff-dto.ts @@ -11,6 +11,10 @@ export interface GetStaffDto { id?: number; + firstName?: string | null; + lastName?: string | null; + profession?: string | null; + email?: string | null; f4T2NumberApproval?: string | null; f4T2ExpirationDate?: string; } diff --git a/src/app/services/api/model/method-impl-attributes.ts b/src/app/services/api/model/method-impl-attributes.ts index c9250ed..3e0ac0e 100644 --- a/src/app/services/api/model/method-impl-attributes.ts +++ b/src/app/services/api/model/method-impl-attributes.ts @@ -18,6 +18,7 @@ export const MethodImplAttributes = { NUMBER_1: 1, NUMBER_2: 2, NUMBER_3: 3, + NUMBER_32: 3, NUMBER_4: 4, NUMBER_42: 4, NUMBER_8: 8, From 9885e4ee8587f0ad74780f68383eeaa323073553 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Sun, 7 Jun 2026 19:06:19 +0200 Subject: [PATCH 16/23] Staff PT1 --- .../providers-add-form/providers-add-form.ts | 3 +- .../create-staff-modal/create-staff-modal.css | 0 .../create-staff-modal.html | 1 + .../create-staff-modal/create-staff-modal.ts | 63 ++++++++++++ .../staff/staff-add-form/staff-add-form.css | 0 .../staff/staff-add-form/staff-add-form.html | 37 +++++++ .../staff/staff-add-form/staff-add-form.ts | 98 +++++++++++++++++++ src/app/pages/staff/staff-card/staff-card.css | 0 .../pages/staff/staff-card/staff-card.html | 1 + src/app/pages/staff/staff-card/staff-card.ts | 11 +++ src/app/pages/staff/staff.html | 12 ++- src/app/pages/staff/staff.ts | 34 ++++++- .../services/api/model/create-staff-dto.ts | 2 +- 13 files changed, 253 insertions(+), 9 deletions(-) create mode 100644 src/app/pages/staff/create-staff-modal/create-staff-modal.css create mode 100644 src/app/pages/staff/create-staff-modal/create-staff-modal.html create mode 100644 src/app/pages/staff/create-staff-modal/create-staff-modal.ts create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.css create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.html create mode 100644 src/app/pages/staff/staff-add-form/staff-add-form.ts create mode 100644 src/app/pages/staff/staff-card/staff-card.css create mode 100644 src/app/pages/staff/staff-card/staff-card.html create mode 100644 src/app/pages/staff/staff-card/staff-card.ts diff --git a/src/app/pages/providers/providers-add-form/providers-add-form.ts b/src/app/pages/providers/providers-add-form/providers-add-form.ts index d0a2a59..cbb7720 100644 --- a/src/app/pages/providers/providers-add-form/providers-add-form.ts +++ b/src/app/pages/providers/providers-add-form/providers-add-form.ts @@ -12,8 +12,7 @@ import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-providers-add-form', - imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzOptionComponent, NzRowDirective, NzSelectComponent, ReactiveFormsModule - ], + imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzOptionComponent, NzRowDirective, NzSelectComponent, ReactiveFormsModule], templateUrl: './providers-add-form.html', styleUrl: './providers-add-form.css', }) diff --git a/src/app/pages/staff/create-staff-modal/create-staff-modal.css b/src/app/pages/staff/create-staff-modal/create-staff-modal.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/create-staff-modal/create-staff-modal.html b/src/app/pages/staff/create-staff-modal/create-staff-modal.html new file mode 100644 index 0000000..50f5d70 --- /dev/null +++ b/src/app/pages/staff/create-staff-modal/create-staff-modal.html @@ -0,0 +1 @@ +

    create-staff-modal works!

    diff --git a/src/app/pages/staff/create-staff-modal/create-staff-modal.ts b/src/app/pages/staff/create-staff-modal/create-staff-modal.ts new file mode 100644 index 0000000..0a89b31 --- /dev/null +++ b/src/app/pages/staff/create-staff-modal/create-staff-modal.ts @@ -0,0 +1,63 @@ +import {Component, output} from '@angular/core'; +import {StaffAddForm} from "../staff-add-form/staff-add-form"; +import {NzMessageService} from "ng-zorro-antd/message"; +import {NzModalComponent} from "ng-zorro-antd/modal"; +import {NzButtonComponent} from "ng-zorro-antd/button"; + +@Component({ + selector: 'app-create-staff-modal', + imports: [ + StaffAddForm, + NzModalComponent, + NzButtonComponent + ], + template: ` + + + Création de staff + + + + + + + + + + + `, + styleUrl: './create-staff-modal.css', +}) +export class CreateStaffModal { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Staff créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 300); + this.triggerCreated.emit(); + } + + handleCancel(): void { + this.isVisible = false; + this.message.info('Création annulée'); + } + + triggerCreated = output() +} diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.css b/src/app/pages/staff/staff-add-form/staff-add-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.html b/src/app/pages/staff/staff-add-form/staff-add-form.html new file mode 100644 index 0000000..b5a5e87 --- /dev/null +++ b/src/app/pages/staff/staff-add-form/staff-add-form.html @@ -0,0 +1,37 @@ +
    + + Nom + + + + + + + Prénom + + + + + + + Profession + + + @for (staffprofession of staff(); track staff.id) { + + } + + + + + + Email + + + + + + + + +
    diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts new file mode 100644 index 0000000..ea72a05 --- /dev/null +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -0,0 +1,98 @@ +import {Component, inject, signal} from '@angular/core'; +import {FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; +import { + CreateProviderDto, CreateStaffDto, + GetProviderTypeDto, + ProvidertypesService, StaffsService +} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; + +@Component({ + selector: 'app-staff-add-form', + imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzOptionComponent, NzRowDirective, NzSelectComponent, ReactiveFormsModule], + templateUrl: './staff-add-form.html', + styleUrl: './staff-add-form.css', +}) +export class StaffAddForm { + private staffsService = inject(StaffsService); + private serviceprovidertypesService = inject(ProvidertypesService); + private notificationService = inject(NzNotificationService) + + + staffForm = new FormGroup({ + lastname: new FormControl(null, [Validators.required]), + firstname: new FormControl(null, [Validators.required]), + profession: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + f4t2number: new FormControl(null, [Validators.required]), + f4t2expiration: new FormControl(null, [Validators.required]) + }) + + staffPost = signal(this.staffForm.value); + staffsLoading = signal(false); + + async submitForm() { + // Pour annuler si le formulaire est invalide + if (this.staffForm.invalid) return; + + // Pour obtenir la valeur du formulaire + console.log(this.staffForm.getRawValue()) + this.staffPost.set(this.staffForm.getRawValue()) + + await this.createProviders(this.staffPost().lastName, this.staffPost().firstName, this.staffPost().profession, this.staffPost().email, this.staffPost().f4T2NumberApproval, this.staffPost().f4T2ExpirationDate) + // Pour vider le formulaire + this.staffForm.reset() + } + + async createProviders(lastname: string, firstname: string, profession: string, email: string, f4t2number: string, f4t2expiration: dateFns) + { + this.staffsLoading.set(true); + + const staffValue = { + lastname: lastname, + firstname: firstname, + profession: profession, + email: email, + f4t2number: f4t2number, + f4t2expiration: f4t2expiration + } + + try { + const staff = await firstValueFrom(this.staffsService.createStaffEndpoint(staffValue)); + this.staffPost.set(staff); + console.log(staff); + } catch (e) + { + this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); + + this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); + } + + this.staffsLoading.set(false); + } + + providerTypes = signal([]) + + async ngOnInit() { + await this.fetchCustomerTypes() + } + + async fetchCustomerTypes() { + this.staffsLoading.set(true); + try { + const providerType = await firstValueFrom(this.serviceprovidertypesService.getAllProviderTypesEndpoint()) + this.providerTypes.set(providerType) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.staffsLoading.set(false); + } +} diff --git a/src/app/pages/staff/staff-card/staff-card.css b/src/app/pages/staff/staff-card/staff-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/staff/staff-card/staff-card.html b/src/app/pages/staff/staff-card/staff-card.html new file mode 100644 index 0000000..3aeccb7 --- /dev/null +++ b/src/app/pages/staff/staff-card/staff-card.html @@ -0,0 +1 @@ +

    staff-card works!

    diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts new file mode 100644 index 0000000..783d736 --- /dev/null +++ b/src/app/pages/staff/staff-card/staff-card.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-staff-card', + imports: [], + templateUrl: './staff-card.html', + styleUrl: './staff-card.css', +}) +export class StaffCard { + +} diff --git a/src/app/pages/staff/staff.html b/src/app/pages/staff/staff.html index d0db3ca..3cf8b5b 100644 --- a/src/app/pages/staff/staff.html +++ b/src/app/pages/staff/staff.html @@ -1 +1,11 @@ -

    staff

    + + +

    +
    + @for (staff of staffs(); track staff.id) + { + + + } +
    +
    \ No newline at end of file diff --git a/src/app/pages/staff/staff.ts b/src/app/pages/staff/staff.ts index 3e8bbca..942e192 100644 --- a/src/app/pages/staff/staff.ts +++ b/src/app/pages/staff/staff.ts @@ -1,16 +1,40 @@ -import { Component } from '@angular/core'; +import {Component, inject, signal} from '@angular/core'; import {StaffCardForm} from "./staff-card-form/staff-card-form"; import {StaffGetAll} from "./staff-get-all/staff-get-all"; +import {NzRowDirective} from "ng-zorro-antd/grid"; +import {GetProviderDto, GetStaffDto, ServiceprovidersService, StaffsService} from "../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-staff', - imports: [ - StaffCardForm, - StaffGetAll - ], + imports: [StaffCardForm, StaffGetAll, NzRowDirective,], templateUrl: './staff.html', styleUrl: './staff.css', }) export class Staff { + private staffsService = inject(StaffsService); + private notificationService = inject(NzNotificationService) + router = inject(Router); + + staffs = signal([]); + staffsLoading = signal(false); + + async ngOnInit() { + await this.fetchStaff(); + } + + async fetchStaff() { + this.staffsLoading.set(true); + try { + const staff = await firstValueFrom(this.staffsService.getAllStaffsEndpoint()) + this.staffs.set(staff) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.staffsLoading.set(false); + } } diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts index 2e1ac8e..e0ec092 100644 --- a/src/app/services/api/model/create-staff-dto.ts +++ b/src/app/services/api/model/create-staff-dto.ts @@ -15,6 +15,6 @@ export interface CreateStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: string; + f4T2ExpirationDate?: dateFns; } From a4ae624777c39de16764d5d4e3f009bdae23b437 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Mon, 8 Jun 2026 14:31:52 +0200 Subject: [PATCH 17/23] =?UTF-8?q?Staff=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../providers-card/providers-card.ts | 8 +- .../create-staff-modal/create-staff-modal.ts | 2 +- .../staff/staff-add-form/staff-add-form.html | 26 ++++-- .../staff/staff-add-form/staff-add-form.ts | 48 +++++------ .../pages/staff/staff-card/staff-card.html | 40 ++++++++- src/app/pages/staff/staff-card/staff-card.ts | 82 ++++++++++++++++++- src/app/pages/staff/staff.ts | 8 +- .../services/api/model/create-staff-dto.ts | 2 +- .../api/model/method-impl-attributes.ts | 1 - 9 files changed, 166 insertions(+), 51 deletions(-) diff --git a/src/app/pages/providers/providers-card/providers-card.ts b/src/app/pages/providers/providers-card/providers-card.ts index 71c7265..8e52f43 100644 --- a/src/app/pages/providers/providers-card/providers-card.ts +++ b/src/app/pages/providers/providers-card/providers-card.ts @@ -5,13 +5,7 @@ import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; import {NzIconDirective} from "ng-zorro-antd/icon"; import {NzInputDirective} from "ng-zorro-antd/input"; -import { - CustomersService, - GetCustomerDto, GetProviderDto, - ServiceprovidersService, - UpdateCustomerDto, - UpdateProviderDto -} from "../../../services/api"; +import {GetProviderDto, ServiceprovidersService, UpdateProviderDto} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; diff --git a/src/app/pages/staff/create-staff-modal/create-staff-modal.ts b/src/app/pages/staff/create-staff-modal/create-staff-modal.ts index 0a89b31..835acb8 100644 --- a/src/app/pages/staff/create-staff-modal/create-staff-modal.ts +++ b/src/app/pages/staff/create-staff-modal/create-staff-modal.ts @@ -1,5 +1,5 @@ import {Component, output} from '@angular/core'; -import {StaffAddForm} from "../staff-add-form/staff-add-form"; +import StaffAddForm from "../staff-add-form/staff-add-form"; import {NzMessageService} from "ng-zorro-antd/message"; import {NzModalComponent} from "ng-zorro-antd/modal"; import {NzButtonComponent} from "ng-zorro-antd/button"; diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.html b/src/app/pages/staff/staff-add-form/staff-add-form.html index b5a5e87..678fcbb 100644 --- a/src/app/pages/staff/staff-add-form/staff-add-form.html +++ b/src/app/pages/staff/staff-add-form/staff-add-form.html @@ -2,25 +2,21 @@ Nom - + Prénom - + - Profession + Profession - - @for (staffprofession of staff(); track staff.id) { - - } - + @@ -31,6 +27,20 @@
    + + Numéro F4T2 + + + + + + + Exp. F4T2 + + + + + diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts index ea72a05..9f96462 100644 --- a/src/app/pages/staff/staff-add-form/staff-add-form.ts +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -5,34 +5,29 @@ import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; import {NzFlexDirective} from "ng-zorro-antd/flex"; import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; import {NzInputDirective} from "ng-zorro-antd/input"; -import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; -import { - CreateProviderDto, CreateStaffDto, - GetProviderTypeDto, - ProvidertypesService, StaffsService -} from "../../../services/api"; +import {CreateStaffDto, GetProviderTypeDto, ProvidertypesService, StaffsService} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-staff-add-form', - imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzOptionComponent, NzRowDirective, NzSelectComponent, ReactiveFormsModule], + imports: [FormsModule, NzButtonComponent, NzColDirective, NzFlexDirective, NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent, NzInputDirective, NzRowDirective, ReactiveFormsModule], templateUrl: './staff-add-form.html', styleUrl: './staff-add-form.css', }) -export class StaffAddForm { +class StaffAddForm { private staffsService = inject(StaffsService); private serviceprovidertypesService = inject(ProvidertypesService); private notificationService = inject(NzNotificationService) staffForm = new FormGroup({ - lastname: new FormControl(null, [Validators.required]), - firstname: new FormControl(null, [Validators.required]), - profession: new FormControl(null, [Validators.required]), - email: new FormControl(null, [Validators.required]), - f4t2number: new FormControl(null, [Validators.required]), - f4t2expiration: new FormControl(null, [Validators.required]) + lastName: new FormControl(null, [Validators.required]), + firstName: new FormControl(null, [Validators.required]), + profession: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + f4T2NumberApproval: new FormControl(null, [Validators.required]), + f4T2ExpirationDate: new FormControl(null, [Validators.required]) }) staffPost = signal(this.staffForm.value); @@ -46,31 +41,30 @@ export class StaffAddForm { console.log(this.staffForm.getRawValue()) this.staffPost.set(this.staffForm.getRawValue()) - await this.createProviders(this.staffPost().lastName, this.staffPost().firstName, this.staffPost().profession, this.staffPost().email, this.staffPost().f4T2NumberApproval, this.staffPost().f4T2ExpirationDate) + await this.createStaff(this.staffPost().lastName, this.staffPost().firstName, this.staffPost().profession, this.staffPost().email, this.staffPost().f4T2NumberApproval, this.staffPost().f4T2ExpirationDate) // Pour vider le formulaire this.staffForm.reset() } - async createProviders(lastname: string, firstname: string, profession: string, email: string, f4t2number: string, f4t2expiration: dateFns) + async createStaff(lastname: string, firstname: string, profession: string, email: string, f4t2number: string, f4t2expiration: Date) { this.staffsLoading.set(true); - const staffValue = { - lastname: lastname, - firstname: firstname, - profession: profession, - email: email, - f4t2number: f4t2number, - f4t2expiration: f4t2expiration - } + const staffValue: CreateStaffDto = { + lastName: lastname, + firstName: firstname, + profession: profession, + email: email, + f4T2NumberApproval: f4t2number, + f4T2ExpirationDate: f4t2expiration + } try { const staff = await firstValueFrom(this.staffsService.createStaffEndpoint(staffValue)); - this.staffPost.set(staff); + this.staffPost.set(staff as unknown as CreateStaffDto); console.log(staff); } catch (e) { - this.notificationService.error('Erreur de recherche', "L\'auteur n\'existe pas !"); this.notificationService.error('Erreur', ' (ou Erreur de communication avec l\'API)'); } @@ -96,3 +90,5 @@ export class StaffAddForm { this.staffsLoading.set(false); } } + +export default StaffAddForm diff --git a/src/app/pages/staff/staff-card/staff-card.html b/src/app/pages/staff/staff-card/staff-card.html index 3aeccb7..8be06c6 100644 --- a/src/app/pages/staff/staff-card/staff-card.html +++ b/src/app/pages/staff/staff-card/staff-card.html @@ -1 +1,39 @@ -

    staff-card works!

    +@if (edit() == false) { + +

    Staff n°{{ staff().id }}

    +

    Nom : {{ staff().lastName }} {{ staff().firstName }}

    +

    Profession : {{ staff().profession }}

    +

    Email : {{ staff().email }}

    +

    N° F4T2 : {{ staff().f4T2NumberApproval }}

    +

    Expiration F4T2 : {{ staff().f4T2ExpirationDate }}

    +
    + + + + + + +} @else { + +
    + + N° F4T2 + + + + + + Exp. F4T2 + + + + +
    +
    + + + + + + +} \ No newline at end of file diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts index 783d736..75367ad 100644 --- a/src/app/pages/staff/staff-card/staff-card.ts +++ b/src/app/pages/staff/staff-card/staff-card.ts @@ -1,11 +1,89 @@ -import { Component } from '@angular/core'; +import {Component, inject, input, output, signal} from '@angular/core'; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {GetStaffDto, StaffsService, UpdateStaffDto} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; @Component({ selector: 'app-staff-card', - imports: [], + imports: [ + NzCardComponent, + NzColDirective, + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzIconDirective, + NzInputDirective, + NzRowDirective, + ReactiveFormsModule + ], templateUrl: './staff-card.html', styleUrl: './staff-card.css', }) export class StaffCard { + private staffsService = inject(StaffsService); + private notificationService = inject(NzNotificationService) + staffEdit = signal(null); + staffsLoading = signal(false); + + staffForm = new FormGroup({ + f4T2NumberApproval: new FormControl(null, [Validators.required]), + f4T2ExpirationDate: new FormControl(null, [Validators.required]), + }) + + async submitForm() { + this.staffsLoading.set(true); + + const staffValue: UpdateStaffDto = { + f4T2NumberApproval: this.staffForm.value.f4T2NumberApproval, + f4T2ExpirationDate: this.staffForm.value.f4T2ExpirationDate, + } + + try { + const staff = await firstValueFrom(this.staffsService.updateStaffRequest(this.staff().id, staffValue)); + this.staffEdit.set(staff as unknown as UpdateStaffDto); + console.log(staff); + this.staffForm.reset(); + this.edit.set(false); + this.triggerEdited.emit(); + } catch (e) { + this.notificationService.error('Erreur', '(ou Erreur de communication avec l\'API)'); + } + + this.staffsLoading.set(false); + } + + staff = input(null); + edit = signal(false) + triggerEdited = output(); + + protected Edit() { + this.edit.set(true) + } + + protected Back() { + this.edit.set(false) + this.staffForm.reset(); + } + + async Delete() { + this.staffsLoading.set(true); + + try { + await firstValueFrom(this.staffsService.deleteStaffEndpoint(this.staff().id)); + this.staffForm.reset(); + this.triggerEdited.emit(); + } catch (e) { + this.notificationService.error('Erreur', '(ou Erreur de communication avec l\'API)'); + } + + this.staffsLoading.set(false); + } } diff --git a/src/app/pages/staff/staff.ts b/src/app/pages/staff/staff.ts index 942e192..3ef9ab5 100644 --- a/src/app/pages/staff/staff.ts +++ b/src/app/pages/staff/staff.ts @@ -1,15 +1,15 @@ import {Component, inject, signal} from '@angular/core'; -import {StaffCardForm} from "./staff-card-form/staff-card-form"; -import {StaffGetAll} from "./staff-get-all/staff-get-all"; import {NzRowDirective} from "ng-zorro-antd/grid"; -import {GetProviderDto, GetStaffDto, ServiceprovidersService, StaffsService} from "../../services/api"; +import {GetStaffDto, StaffsService} from "../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {Router} from "@angular/router"; import {firstValueFrom} from "rxjs"; +import {CreateStaffModal} from "./create-staff-modal/create-staff-modal"; +import {StaffCard} from "./staff-card/staff-card"; @Component({ selector: 'app-staff', - imports: [StaffCardForm, StaffGetAll, NzRowDirective,], + imports: [NzRowDirective, CreateStaffModal, StaffCard,], templateUrl: './staff.html', styleUrl: './staff.css', }) diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts index e0ec092..614f4b7 100644 --- a/src/app/services/api/model/create-staff-dto.ts +++ b/src/app/services/api/model/create-staff-dto.ts @@ -15,6 +15,6 @@ export interface CreateStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: dateFns; + f4T2ExpirationDate?: Date | null; } diff --git a/src/app/services/api/model/method-impl-attributes.ts b/src/app/services/api/model/method-impl-attributes.ts index 3e0ac0e..f9accd0 100644 --- a/src/app/services/api/model/method-impl-attributes.ts +++ b/src/app/services/api/model/method-impl-attributes.ts @@ -23,7 +23,6 @@ export const MethodImplAttributes = { NUMBER_42: 4, NUMBER_8: 8, NUMBER_16: 16, - NUMBER_32: 32, NUMBER_64: 64, NUMBER_128: 128, NUMBER_256: 256, From fb0af73a0bf2acdf87cc50d2081918b20bd25452 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Mon, 8 Jun 2026 15:56:13 +0200 Subject: [PATCH 18/23] Opportunity quasi fini --- .../create-opportunity-modal.css | 0 .../create-opportunity-modal.html | 1 + .../create-opportunity-modal.ts | 63 +++++++++++ .../pages/opportunities/opportunities.html | 58 +++++++++- src/app/pages/opportunities/opportunities.ts | 47 +++++++- .../opportunity-add-form.css | 0 .../opportunity-add-form.html | 26 +++++ .../opportunity-add-form.ts | 78 ++++++++++++++ .../opportunity-card/opportunity-card.css | 0 .../opportunity-card/opportunity-card.html | 49 +++++++++ .../opportunity-card/opportunity-card.ts | 100 ++++++++++++++++++ .../staff/staff-add-form/staff-add-form.ts | 2 +- src/app/pages/staff/staff-card/staff-card.ts | 4 +- src/app/services/api/.openapi-generator/FILES | 38 ------- .../api/api/communications.service.ts | 26 +---- src/app/services/api/api/staffs.service.ts | 12 +-- .../action-of-authorization-policy-builder.ts | 17 --- src/app/services/api/model/assembly.ts | 42 -------- src/app/services/api/model/base-endpoint.ts | 22 ---- .../services/api/model/calling-conventions.ts | 23 ---- src/app/services/api/model/claim.ts | 22 ---- src/app/services/api/model/claims-identity.ts | 24 ----- .../services/api/model/claims-principal.ts | 20 ---- .../services/api/model/constructor-info.ts | 49 --------- .../api/model/custom-attribute-data.ts | 21 ---- .../model/custom-attribute-named-argument.ts | 20 ---- .../model/custom-attribute-typed-argument.ts | 16 --- src/app/services/api/model/delegate.ts | 17 --- .../services/api/model/endpoint-definition.ts | 55 ---------- ...quest-and-list-of-get-communication-dto.ts | 58 ---------- .../services/api/model/endpoint-summary.ts | 48 --------- ...equest-of-list-of-get-communication-dto.ts | 58 ---------- src/app/services/api/model/ep-version.ts | 20 ---- src/app/services/api/model/func-of-object.ts | 17 --- .../model/get-all-communications-endpoint.ts | 58 ---------- .../api/model/get-communication-dto.ts | 1 + src/app/services/api/model/get-staff-dto.ts | 2 +- src/app/services/api/model/http.ts | 27 ----- src/app/services/api/model/i-identity.ts | 17 --- .../api/model/i-web-host-environment.ts | 19 ---- .../services/api/model/idempotency-options.ts | 47 -------- src/app/services/api/model/member-info.ts | 20 ---- src/app/services/api/model/member-types.ts | 27 ----- src/app/services/api/model/method-base.ts | 47 -------- .../api/model/method-impl-attributes.ts | 34 ------ src/app/services/api/model/method-info.ts | 52 --------- src/app/services/api/model/models.ts | 38 ------- src/app/services/api/model/module-handle.ts | 15 --- src/app/services/api/model/module.ts | 26 ----- .../services/api/model/multicast-delegate.ts | 17 --- .../api/model/parameter-attributes.ts | 29 ----- src/app/services/api/model/parameter-info.ts | 35 ------ src/app/services/api/model/request-example.ts | 33 ------ src/app/services/api/model/response-header.ts | 25 ----- .../services/api/model/security-rule-set.ts | 21 ---- src/app/services/api/model/severity.ts | 21 ---- .../services/api/model/validation-failure.ts | 46 -------- 57 files changed, 435 insertions(+), 1275 deletions(-) create mode 100644 src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.css create mode 100644 src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.html create mode 100644 src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.ts create mode 100644 src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.css create mode 100644 src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html create mode 100644 src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts create mode 100644 src/app/pages/opportunities/opportunity-card/opportunity-card.css create mode 100644 src/app/pages/opportunities/opportunity-card/opportunity-card.html create mode 100644 src/app/pages/opportunities/opportunity-card/opportunity-card.ts delete mode 100644 src/app/services/api/model/action-of-authorization-policy-builder.ts delete mode 100644 src/app/services/api/model/assembly.ts delete mode 100644 src/app/services/api/model/base-endpoint.ts delete mode 100644 src/app/services/api/model/calling-conventions.ts delete mode 100644 src/app/services/api/model/claim.ts delete mode 100644 src/app/services/api/model/claims-identity.ts delete mode 100644 src/app/services/api/model/claims-principal.ts delete mode 100644 src/app/services/api/model/constructor-info.ts delete mode 100644 src/app/services/api/model/custom-attribute-data.ts delete mode 100644 src/app/services/api/model/custom-attribute-named-argument.ts delete mode 100644 src/app/services/api/model/custom-attribute-typed-argument.ts delete mode 100644 src/app/services/api/model/delegate.ts delete mode 100644 src/app/services/api/model/endpoint-definition.ts delete mode 100644 src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts delete mode 100644 src/app/services/api/model/endpoint-summary.ts delete mode 100644 src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts delete mode 100644 src/app/services/api/model/ep-version.ts delete mode 100644 src/app/services/api/model/func-of-object.ts delete mode 100644 src/app/services/api/model/get-all-communications-endpoint.ts delete mode 100644 src/app/services/api/model/http.ts delete mode 100644 src/app/services/api/model/i-identity.ts delete mode 100644 src/app/services/api/model/i-web-host-environment.ts delete mode 100644 src/app/services/api/model/idempotency-options.ts delete mode 100644 src/app/services/api/model/member-info.ts delete mode 100644 src/app/services/api/model/member-types.ts delete mode 100644 src/app/services/api/model/method-base.ts delete mode 100644 src/app/services/api/model/method-impl-attributes.ts delete mode 100644 src/app/services/api/model/method-info.ts delete mode 100644 src/app/services/api/model/module-handle.ts delete mode 100644 src/app/services/api/model/module.ts delete mode 100644 src/app/services/api/model/multicast-delegate.ts delete mode 100644 src/app/services/api/model/parameter-attributes.ts delete mode 100644 src/app/services/api/model/parameter-info.ts delete mode 100644 src/app/services/api/model/request-example.ts delete mode 100644 src/app/services/api/model/response-header.ts delete mode 100644 src/app/services/api/model/security-rule-set.ts delete mode 100644 src/app/services/api/model/severity.ts delete mode 100644 src/app/services/api/model/validation-failure.ts diff --git a/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.css b/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.html b/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.html new file mode 100644 index 0000000..c704788 --- /dev/null +++ b/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.html @@ -0,0 +1 @@ +

    create-opportunity-modal works!

    diff --git a/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.ts b/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.ts new file mode 100644 index 0000000..d3599df --- /dev/null +++ b/src/app/pages/opportunities/create-opportunity-modal/create-opportunity-modal.ts @@ -0,0 +1,63 @@ +import {Component, output} from '@angular/core'; +import {OpportunityAddForm} from "../opportunity-add-form/opportunity-add-form"; +import {NzMessageService} from "ng-zorro-antd/message"; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzModalComponent} from "ng-zorro-antd/modal"; + +@Component({ + selector: 'app-create-opportunity-modal', + imports: [ + OpportunityAddForm, + NzButtonComponent, + NzModalComponent + ], + template: ` + + + Création d'opportunités + + + + + + + + + + + `, + styleUrl: './create-opportunity-modal.css', +}) +export class CreateOpportunityModal { + constructor(private message: NzMessageService) {} + isVisible = false; + isConfirmLoading = false; + + showModal(): void { + this.isVisible = true; + } + + handleOk(): void { + this.isConfirmLoading = true; + this.message.success('Opportunité créé !'); + setTimeout(() => { + this.isVisible = false; + this.isConfirmLoading = false; + }, 300); + this.triggerCreated.emit(); + } + + handleCancel(): void { + this.isVisible = false; + this.message.info('Création annulée'); + } + + triggerCreated = output() +} diff --git a/src/app/pages/opportunities/opportunities.html b/src/app/pages/opportunities/opportunities.html index 5b82714..2de5708 100644 --- a/src/app/pages/opportunities/opportunities.html +++ b/src/app/pages/opportunities/opportunities.html @@ -1 +1,57 @@ -

    opportunities works!

    + + + + + +
    +
    +

    📞 Appels

    +

    {{ totalCalls }}

    +
    +
    +

    ✉️ Emails

    +

    {{ totalEmails }}

    +
    +
    +

    🤝 Réunions

    +

    {{ totalMeetings }}

    +
    +
    +
    + + + +
    +
    + + @for (communication of communications(); track communication.id) { + @if (communication.calling) { + + + } + } + +
    + +
    + + @for (communication of communications(); track communication.id) { + @if (communication.email) { + + + } + } + +
    + +
    + + @for (communication of communications(); track communication.id) { + @if (communication.meeting) { + + + } + } + +
    +
    \ No newline at end of file diff --git a/src/app/pages/opportunities/opportunities.ts b/src/app/pages/opportunities/opportunities.ts index e287f5b..2b373a5 100644 --- a/src/app/pages/opportunities/opportunities.ts +++ b/src/app/pages/opportunities/opportunities.ts @@ -1,11 +1,54 @@ -import { Component } from '@angular/core'; +import {Component, inject, signal} from '@angular/core'; +import {CreateOpportunityModal} from "./create-opportunity-modal/create-opportunity-modal"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {Router} from "@angular/router"; +import {firstValueFrom} from "rxjs"; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzDividerComponent} from "ng-zorro-antd/divider"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {OpportunityCard} from "./opportunity-card/opportunity-card"; +import {CommunicationsService, GetCommunicationDto} from "../../services/api"; @Component({ selector: 'app-opportunities', - imports: [], + imports: [CreateOpportunityModal, NzCardComponent, NzDividerComponent, NzRowDirective, NzColDirective, OpportunityCard], templateUrl: './opportunities.html', styleUrl: './opportunities.css', }) export class Opportunities { + private communicationsService = inject(CommunicationsService); + private notificationService = inject(NzNotificationService) + router = inject(Router); + + communications = signal([]); + communicationsLoading = signal(false); + + async ngOnInit() { + await this.fetchCommunications(); + } + + get totalCalls() { + return this.communications().filter(c => c.calling).length; + } + + get totalEmails() { + return this.communications().filter(c => c.email).length; + } + + get totalMeetings() { + return this.communications().filter(c => c.meeting).length; + } + + async fetchCommunications() { + this.communicationsLoading.set(true); + try { + const communications = await firstValueFrom(this.communicationsService.getAllCommunicationsEndpoint()) + this.communications.set(communications) + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.communicationsLoading.set(false); + } } diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.css b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html new file mode 100644 index 0000000..ba1c23c --- /dev/null +++ b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html @@ -0,0 +1,26 @@ +
    + + Appel + + + + + + + Email + + + + + + + Réunion + + + + + + + + +
    \ No newline at end of file diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts new file mode 100644 index 0000000..6b63b21 --- /dev/null +++ b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts @@ -0,0 +1,78 @@ +import {Component, inject, signal} from '@angular/core'; +import {NzButtonComponent} from "ng-zorro-antd/button"; +import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {FormControl, FormGroup, ReactiveFormsModule} from "@angular/forms"; +import {CommunicationsService, CreateCommunicationDto} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; + +@Component({ + selector: 'app-opportunity-add-form', + imports: [ + NzButtonComponent, + NzColDirective, + NzFlexDirective, + NzFormControlComponent, + NzFormDirective, + NzFormItemComponent, + NzFormLabelComponent, + NzInputDirective, + NzRowDirective, + ReactiveFormsModule + ], + templateUrl: './opportunity-add-form.html', + styleUrl: './opportunity-add-form.css', +}) +export class OpportunityAddForm { + + private communicationsService = inject(CommunicationsService); + private notificationService = inject(NzNotificationService) + + communicationForm = new FormGroup({ + calling: new FormControl(null), + email: new FormControl(null), + meeting: new FormControl(null), + }, { validators: atLeastOneRequired }) + + communicationPost = signal(this.communicationForm.value); + communicationsLoading = signal(false); + + async submitForm() { + if (this.communicationForm.invalid) return; + + console.log(this.communicationForm.getRawValue()) + this.communicationPost.set(this.communicationForm.getRawValue()) + + await this.createCommunication(this.communicationPost().calling, this.communicationPost().email, this.communicationPost().meeting) + this.communicationForm.reset() + } + + async createCommunication(calling: string, email: string, meeting: string) { + this.communicationsLoading.set(true); + + const communicationValue: CreateCommunicationDto = { + calling: calling, + email: email, + meeting: meeting, + } + + try { + const communication = await firstValueFrom(this.communicationsService.createCommunicationEndpoint(communicationValue)); + this.communicationPost.set(communication); + console.log(communication); + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.communicationsLoading.set(false); + } + } + + function atLeastOneRequired(group: FormGroup) { + const { calling, email, meeting } = group.controls; + const valid = [calling, email, meeting].some(c => c.value); + return valid ? null : { atLeastOneRequired: true }; + } diff --git a/src/app/pages/opportunities/opportunity-card/opportunity-card.css b/src/app/pages/opportunities/opportunity-card/opportunity-card.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/opportunities/opportunity-card/opportunity-card.html b/src/app/pages/opportunities/opportunity-card/opportunity-card.html new file mode 100644 index 0000000..c64c11a --- /dev/null +++ b/src/app/pages/opportunities/opportunity-card/opportunity-card.html @@ -0,0 +1,49 @@ +@if (edit() == false) { + +

    Communication n°{{ communication().id }}

    + @if (communication().calling) { +

    📞 Appel : {{ communication().calling }}

    + } + @if (communication().email) { +

    ✉️ Email : {{ communication().email }}

    + } + @if (communication().meeting) { +

    🤝 Réunion : {{ communication().meeting }}

    + } +
    + + + + + + +} @else { + +
    + + Appel + + + + + + Email + + + + + + Réunion + + + + +
    +
    + + + + + + +} diff --git a/src/app/pages/opportunities/opportunity-card/opportunity-card.ts b/src/app/pages/opportunities/opportunity-card/opportunity-card.ts new file mode 100644 index 0000000..447932c --- /dev/null +++ b/src/app/pages/opportunities/opportunity-card/opportunity-card.ts @@ -0,0 +1,100 @@ +import {Component, inject, input, output, signal} from '@angular/core'; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {FormControl, FormGroup, ReactiveFormsModule} from "@angular/forms"; +import {firstValueFrom} from "rxjs"; +import {NzCardComponent} from "ng-zorro-antd/card"; +import {NzFormControlComponent, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {NzColDirective} from "ng-zorro-antd/grid"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {CommunicationsService, GetCommunicationDto, UpdateCommunicationDto} from "../../../services/api"; + +@Component({ + selector: 'app-opportunity-card', + imports: [ + NzCardComponent, + ReactiveFormsModule, + NzFormLabelComponent, + NzFormControlComponent, + NzFormItemComponent, + NzIconDirective, + NzColDirective, + NzInputDirective + ], + templateUrl: './opportunity-card.html', + styleUrl: './opportunity-card.css', +}) +export class OpportunityCard { + private communicationsService = inject(CommunicationsService); + private notificationService = inject(NzNotificationService); + + communicationEdit = signal(null); + communicationsLoading = signal(false); + + communicationForm = new FormGroup({ + calling: new FormControl(null), + email: new FormControl(null), + meeting: new FormControl(null), + }, { validators: atLeastOneRequired }) + + async submitForm() { + this.communicationsLoading.set(true); + + const communicationValue: UpdateCommunicationDto = { + calling: this.communicationForm.value.calling, + email: this.communicationForm.value.email, + meeting: this.communicationForm.value.meeting, + } + + try { + const communication = await firstValueFrom(this.communicationsService.updateCommunicationEndpoint(this.communication().id, communicationValue)); + this.communicationEdit.set(communication as unknown as UpdateCommunicationDto); + console.log(communication); + this.communicationForm.reset(); + this.edit.set(false); + this.triggerEdited.emit(); + } catch (e) { + this.notificationService.error('Erreur', '(ou Erreur de communication avec l\'API)'); + } + + this.communicationsLoading.set(false); + } + + communication = input(null); + edit = signal(false); + triggerEdited = output(); + + protected Edit() { + this.edit.set(true); + this.communicationForm.patchValue({ + calling: this.communication().calling, + email: this.communication().email, + meeting: this.communication().meeting, + }); + } + + protected Back() { + this.edit.set(false); + this.communicationForm.reset(); + } + + async Delete() { + this.communicationsLoading.set(true); + + try { + await firstValueFrom(this.communicationsService.deleteCommunicationEndpoint(this.communication().id)); + this.communicationForm.reset(); + this.triggerEdited.emit(); + } catch (e) { + this.notificationService.error('Erreur', '(ou Erreur de communication avec l\'API)'); + } + + this.communicationsLoading.set(false); + } + } + + function atLeastOneRequired(group: FormGroup) { + const { calling, email, meeting } = group.controls; + const valid = [calling, email, meeting].some(c => c.value); + return valid ? null : { atLeastOneRequired: true }; +} diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts index 9f96462..d0b969b 100644 --- a/src/app/pages/staff/staff-add-form/staff-add-form.ts +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -5,9 +5,9 @@ import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; import {NzFlexDirective} from "ng-zorro-antd/flex"; import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; import {NzInputDirective} from "ng-zorro-antd/input"; -import {CreateStaffDto, GetProviderTypeDto, ProvidertypesService, StaffsService} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; +import {CreateStaffDto, GetProviderTypeDto, ProvidertypesService, StaffsService} from "../../../services/api"; @Component({ selector: 'app-staff-add-form', diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts index 75367ad..a8f47d1 100644 --- a/src/app/pages/staff/staff-card/staff-card.ts +++ b/src/app/pages/staff/staff-card/staff-card.ts @@ -5,9 +5,9 @@ import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabe import {NzIconDirective} from "ng-zorro-antd/icon"; import {NzInputDirective} from "ng-zorro-antd/input"; import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; -import {GetStaffDto, StaffsService, UpdateStaffDto} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; +import {GetStaffDto, StaffsService, UpdateStaffDto} from "../../../services/api"; @Component({ selector: 'app-staff-card', @@ -47,7 +47,7 @@ export class StaffCard { } try { - const staff = await firstValueFrom(this.staffsService.updateStaffRequest(this.staff().id, staffValue)); + const staff = await firstValueFrom(this.staffsService.updateStaffEndpoint(this.staff().id, staffValue)); this.staffEdit.set(staff as unknown as UpdateStaffDto); console.log(staff); this.staffForm.reset(); diff --git a/src/app/services/api/.openapi-generator/FILES b/src/app/services/api/.openapi-generator/FILES index e7d025e..381935a 100644 --- a/src/app/services/api/.openapi-generator/FILES +++ b/src/app/services/api/.openapi-generator/FILES @@ -18,14 +18,6 @@ configuration.ts encoder.ts git_push.sh index.ts -model/action-of-authorization-policy-builder.ts -model/assembly.ts -model/base-endpoint.ts -model/calling-conventions.ts -model/claim.ts -model/claims-identity.ts -model/claims-principal.ts -model/constructor-info.ts model/create-availability-dto.ts model/create-communication-dto.ts model/create-contact-dto.ts @@ -36,17 +28,6 @@ model/create-history-of-approval-dto.ts model/create-provider-dto.ts model/create-provider-type-dto.ts model/create-staff-dto.ts -model/custom-attribute-data.ts -model/custom-attribute-named-argument.ts -model/custom-attribute-typed-argument.ts -model/delegate.ts -model/endpoint-definition.ts -model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts -model/endpoint-summary.ts -model/endpoint-without-request-of-list-of-get-communication-dto.ts -model/ep-version.ts -model/func-of-object.ts -model/get-all-communications-endpoint.ts model/get-availability-dto.ts model/get-communication-dto.ts model/get-contact-dto.ts @@ -57,25 +38,7 @@ model/get-history-of-approval-dto.ts model/get-provider-dto.ts model/get-provider-type-dto.ts model/get-staff-dto.ts -model/http.ts -model/i-identity.ts -model/i-web-host-environment.ts -model/idempotency-options.ts -model/member-info.ts -model/member-types.ts -model/method-base.ts -model/method-impl-attributes.ts -model/method-info.ts model/models.ts -model/module-handle.ts -model/module.ts -model/multicast-delegate.ts -model/parameter-attributes.ts -model/parameter-info.ts -model/request-example.ts -model/response-header.ts -model/security-rule-set.ts -model/severity.ts model/update-availability-dto.ts model/update-communication-dto.ts model/update-contact-dto.ts @@ -86,7 +49,6 @@ model/update-history-of-approval-dto.ts model/update-provider-dto.ts model/update-provider-type-dto.ts model/update-staff-dto.ts -model/validation-failure.ts param.ts provide-api.ts variables.ts diff --git a/src/app/services/api/api/communications.service.ts b/src/app/services/api/api/communications.service.ts index 6fe3c95..6ccf985 100644 --- a/src/app/services/api/api/communications.service.ts +++ b/src/app/services/api/api/communications.service.ts @@ -19,8 +19,6 @@ import { Observable } from 'rxjs'; // @ts-ignore import { CreateCommunicationDto } from '../model/create-communication-dto'; // @ts-ignore -import { GetAllCommunicationsEndpoint } from '../model/get-all-communications-endpoint'; -// @ts-ignore import { GetCommunicationDto } from '../model/get-communication-dto'; // @ts-ignore import { UpdateCommunicationDto } from '../model/update-communication-dto'; @@ -108,20 +106,16 @@ export class CommunicationsService extends BaseService { /** * @endpoint delete /API/communications/{id} * @param id - * @param getCommunicationDto * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; - public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public deleteCommunicationEndpoint(id: number, getCommunicationDto: GetCommunicationDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + public deleteCommunicationEndpoint(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public deleteCommunicationEndpoint(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCommunicationEndpoint(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public deleteCommunicationEndpoint(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { if (id === null || id === undefined) { throw new Error('Required parameter id was null or undefined when calling deleteCommunicationEndpoint.'); } - if (getCommunicationDto === null || getCommunicationDto === undefined) { - throw new Error('Required parameter getCommunicationDto was null or undefined when calling deleteCommunicationEndpoint.'); - } let localVarHeaders = this.defaultHeaders; @@ -137,15 +131,6 @@ export class CommunicationsService extends BaseService { const localVarTransferCache: boolean = options?.transferCache ?? true; - // to determine the Content-Type header - const consumes: string[] = [ - 'application/json' - ]; - const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); - if (httpContentTypeSelected !== undefined) { - localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); - } - let responseType_: 'text' | 'json' | 'blob' = 'json'; if (localVarHttpHeaderAcceptSelected) { if (localVarHttpHeaderAcceptSelected.startsWith('text')) { @@ -159,10 +144,9 @@ export class CommunicationsService extends BaseService { let localVarPath = `/API/communications/${this.configuration.encodeParam({name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: "int32"})}`; const { basePath, withCredentials } = this.configuration; - return this.httpClient.request('delete', `${basePath}${localVarPath}`, + return this.httpClient.request('delete', `${basePath}${localVarPath}`, { context: localVarHttpContext, - body: getCommunicationDto, responseType: responseType_, ...(withCredentials ? { withCredentials } : {}), headers: localVarHeaders, diff --git a/src/app/services/api/api/staffs.service.ts b/src/app/services/api/api/staffs.service.ts index f04713f..8196b0a 100644 --- a/src/app/services/api/api/staffs.service.ts +++ b/src/app/services/api/api/staffs.service.ts @@ -268,15 +268,15 @@ export class StaffsService extends BaseService { * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ - public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; - public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; - public updateStaffRequest(id: number, updateStaffDto: UpdateStaffDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { + public updateStaffEndpoint(id: number, updateStaffDto: UpdateStaffDto, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable; + public updateStaffEndpoint(id: number, updateStaffDto: UpdateStaffDto, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateStaffEndpoint(id: number, updateStaffDto: UpdateStaffDto, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable>; + public updateStaffEndpoint(id: number, updateStaffDto: UpdateStaffDto, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable { if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling updateStaffRequest.'); + throw new Error('Required parameter id was null or undefined when calling updateStaffEndpoint.'); } if (updateStaffDto === null || updateStaffDto === undefined) { - throw new Error('Required parameter updateStaffDto was null or undefined when calling updateStaffRequest.'); + throw new Error('Required parameter updateStaffDto was null or undefined when calling updateStaffEndpoint.'); } let localVarHeaders = this.defaultHeaders; diff --git a/src/app/services/api/model/action-of-authorization-policy-builder.ts b/src/app/services/api/model/action-of-authorization-policy-builder.ts deleted file mode 100644 index 43dd09d..0000000 --- a/src/app/services/api/model/action-of-authorization-policy-builder.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { MethodInfo } from './method-info'; - - -export interface ActionOfAuthorizationPolicyBuilder { - target?: any | null; - method?: MethodInfo; -} - diff --git a/src/app/services/api/model/assembly.ts b/src/app/services/api/model/assembly.ts deleted file mode 100644 index 30eba81..0000000 --- a/src/app/services/api/model/assembly.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { SecurityRuleSet } from './security-rule-set'; -import { MethodInfo } from './method-info'; -import { Module } from './module'; - - -export interface Assembly { - definedTypes?: Array; - exportedTypes?: Array; - /** @deprecated */ - codeBase?: string | null; - entryPoint?: MethodInfo | null; - fullName?: string | null; - imageRuntimeVersion?: string; - isDynamic?: boolean; - location?: string; - reflectionOnly?: boolean; - isCollectible?: boolean; - isFullyTrusted?: boolean; - customAttributes?: Array; - /** @deprecated */ - escapedCodeBase?: string; - manifestModule?: Module; - modules?: Array; - /** @deprecated */ - globalAssemblyCache?: boolean; - hostContext?: number; - securityRuleSet?: SecurityRuleSet; -} -export namespace Assembly { -} - - diff --git a/src/app/services/api/model/base-endpoint.ts b/src/app/services/api/model/base-endpoint.ts deleted file mode 100644 index 7a4004b..0000000 --- a/src/app/services/api/model/base-endpoint.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { EndpointDefinition } from './endpoint-definition'; -import { ValidationFailure } from './validation-failure'; - - -/** - * the base class all fast endpoints inherit from - */ -export interface BaseEndpoint { - definition?: EndpointDefinition; - httpContext?: object; - validationFailures?: Array; -} - diff --git a/src/app/services/api/model/calling-conventions.ts b/src/app/services/api/model/calling-conventions.ts deleted file mode 100644 index d3fea68..0000000 --- a/src/app/services/api/model/calling-conventions.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - */ -export const CallingConventions = { - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_3: 3, - NUMBER_32: 32, - NUMBER_64: 64 -} as const; -export type CallingConventions = typeof CallingConventions[keyof typeof CallingConventions]; - diff --git a/src/app/services/api/model/claim.ts b/src/app/services/api/model/claim.ts deleted file mode 100644 index 69590d2..0000000 --- a/src/app/services/api/model/claim.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ClaimsIdentity } from './claims-identity'; - - -export interface Claim { - issuer?: string; - originalIssuer?: string; - properties?: { [key: string]: string; }; - subject?: ClaimsIdentity | null; - type?: string; - value?: string; - valueType?: string; -} - diff --git a/src/app/services/api/model/claims-identity.ts b/src/app/services/api/model/claims-identity.ts deleted file mode 100644 index d9206ab..0000000 --- a/src/app/services/api/model/claims-identity.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Claim } from './claim'; - - -export interface ClaimsIdentity { - authenticationType?: string | null; - isAuthenticated?: boolean; - actor?: ClaimsIdentity | null; - bootstrapContext?: any | null; - claims?: Array; - label?: string | null; - name?: string | null; - nameClaimType?: string; - roleClaimType?: string; -} - diff --git a/src/app/services/api/model/claims-principal.ts b/src/app/services/api/model/claims-principal.ts deleted file mode 100644 index 6999651..0000000 --- a/src/app/services/api/model/claims-principal.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ClaimsIdentity } from './claims-identity'; -import { IIdentity } from './i-identity'; -import { Claim } from './claim'; - - -export interface ClaimsPrincipal { - claims?: Array; - identities?: Array; - identity?: IIdentity | null; -} - diff --git a/src/app/services/api/model/constructor-info.ts b/src/app/services/api/model/constructor-info.ts deleted file mode 100644 index a4ee06d..0000000 --- a/src/app/services/api/model/constructor-info.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { CallingConventions } from './calling-conventions'; -import { MethodImplAttributes } from './method-impl-attributes'; -import { Module } from './module'; -import { MemberTypes } from './member-types'; - - -export interface ConstructorInfo { - module?: Module; - customAttributes?: Array; - isCollectible?: boolean; - metadataToken?: number; - methodImplementationFlags?: MethodImplAttributes; - callingConvention?: CallingConventions; - isAbstract?: boolean; - isConstructor?: boolean; - isFinal?: boolean; - isHideBySig?: boolean; - isSpecialName?: boolean; - isStatic?: boolean; - isVirtual?: boolean; - isAssembly?: boolean; - isFamily?: boolean; - isFamilyAndAssembly?: boolean; - isFamilyOrAssembly?: boolean; - isPrivate?: boolean; - isPublic?: boolean; - isConstructedGenericMethod?: boolean; - isGenericMethod?: boolean; - isGenericMethodDefinition?: boolean; - containsGenericParameters?: boolean; - isSecurityCritical?: boolean; - isSecuritySafeCritical?: boolean; - isSecurityTransparent?: boolean; - memberType?: MemberTypes; -} -export namespace ConstructorInfo { -} - - diff --git a/src/app/services/api/model/custom-attribute-data.ts b/src/app/services/api/model/custom-attribute-data.ts deleted file mode 100644 index de95789..0000000 --- a/src/app/services/api/model/custom-attribute-data.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeTypedArgument } from './custom-attribute-typed-argument'; -import { CustomAttributeNamedArgument } from './custom-attribute-named-argument'; -import { ConstructorInfo } from './constructor-info'; - - -export interface CustomAttributeData { - attributeType?: string; - constructor?: ConstructorInfo; - constructorArguments?: Array; - namedArguments?: Array; -} - diff --git a/src/app/services/api/model/custom-attribute-named-argument.ts b/src/app/services/api/model/custom-attribute-named-argument.ts deleted file mode 100644 index b04113d..0000000 --- a/src/app/services/api/model/custom-attribute-named-argument.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeTypedArgument } from './custom-attribute-typed-argument'; -import { MemberInfo } from './member-info'; - - -export interface CustomAttributeNamedArgument { - memberInfo?: MemberInfo; - typedValue?: CustomAttributeTypedArgument; - memberName?: string; - isField?: boolean; -} - diff --git a/src/app/services/api/model/custom-attribute-typed-argument.ts b/src/app/services/api/model/custom-attribute-typed-argument.ts deleted file mode 100644 index 87d733b..0000000 --- a/src/app/services/api/model/custom-attribute-typed-argument.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export interface CustomAttributeTypedArgument { - argumentType?: string; - value?: any | null; -} - diff --git a/src/app/services/api/model/delegate.ts b/src/app/services/api/model/delegate.ts deleted file mode 100644 index 33c5fc7..0000000 --- a/src/app/services/api/model/delegate.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { MethodInfo } from './method-info'; - - -export interface Delegate { - target?: any | null; - method?: MethodInfo; -} - diff --git a/src/app/services/api/model/endpoint-definition.ts b/src/app/services/api/model/endpoint-definition.ts deleted file mode 100644 index c205773..0000000 --- a/src/app/services/api/model/endpoint-definition.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { ActionOfAuthorizationPolicyBuilder } from './action-of-authorization-policy-builder'; -import { IdempotencyOptions } from './idempotency-options'; -import { EndpointSummary } from './endpoint-summary'; -import { EpVersion } from './ep-version'; - - -/** - * represents the configuration settings of an endpoint - */ -export interface EndpointDefinition { - endpointType?: string; - mapperType?: string | null; - preProcessorsList?: Array; - postProcessorsList?: Array; - reqDtoType?: string; - resDtoType?: string; - routes?: Array; - securityPolicyName?: string; - validatorType?: string | null; - verbs?: Array; - version?: EpVersion; - allowAnyPermission?: boolean; - allowedPermissions?: Array | null; - allowAnyScope?: boolean; - allowedScopes?: Array | null; - allowAnyClaim?: boolean; - allowedClaimTypes?: Array | null; - allowedRoles?: Array | null; - anonymousVerbs?: Array | null; - antiforgeryEnabled?: boolean; - authSchemeNames?: Array | null; - dontAutoSend?: boolean; - dontAutoTagEndpoints?: boolean; - dontBindFormData?: boolean; - doNotCatchExceptions?: boolean; - endpointAttributes?: Array | null; - endpointSummary?: EndpointSummary | null; - endpointTags?: Array | null; - formDataContentType?: string | null; - idempotencyOptions?: IdempotencyOptions | null; - overriddenRoutePrefix?: string | null; - preBuiltUserPolicies?: Array | null; - policyBuilder?: ActionOfAuthorizationPolicyBuilder | null; - throwIfValidationFails?: boolean; -} - diff --git a/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts b/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts deleted file mode 100644 index 8ead4ae..0000000 --- a/src/app/services/api/model/endpoint-of-empty-request-and-list-of-get-communication-dto.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { GetCommunicationDto } from './get-communication-dto'; -import { ClaimsPrincipal } from './claims-principal'; -import { EndpointDefinition } from './endpoint-definition'; -import { Http } from './http'; -import { IWebHostEnvironment } from './i-web-host-environment'; -import { ValidationFailure } from './validation-failure'; - - -export interface EndpointOfEmptyRequestAndListOfGetCommunicationDto { - definition?: EndpointDefinition; - httpContext?: object; - validationFailures?: Array; - /** - * the response object that is serialized to the response stream. - */ - response?: Array | null; - user?: ClaimsPrincipal; - /** - * Represents a set of key/value application configuration properties. - */ - config?: object; - env?: IWebHostEnvironment; - /** - * Represents a type used to perform logging. - */ - logger?: object; - /** - * the base url of the current request - */ - baseURL?: string; - httpMethod?: Http; - /** - * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' - */ - form?: Array; - /** - * the files sent with the request. only populated when content-type is \'multipart/form-data\' - */ - files?: Array; - /** - * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. - */ - responseStarted?: boolean; - validationFailed?: boolean; -} -export namespace EndpointOfEmptyRequestAndListOfGetCommunicationDto { -} - - diff --git a/src/app/services/api/model/endpoint-summary.ts b/src/app/services/api/model/endpoint-summary.ts deleted file mode 100644 index 7c52aa5..0000000 --- a/src/app/services/api/model/endpoint-summary.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { RequestExample } from './request-example'; -import { ResponseHeader } from './response-header'; - - -/** - * a class used for providing a textual description about an endpoint for swagger - */ -export interface EndpointSummary { - /** - * the short summary of the endpoint - */ - summary?: string; - /** - * the long description of the endpoint - */ - description?: string; - /** - * specify multiple request examples by adding to this collection. - */ - requestExamples?: Array; - /** - * an example request object to be used in swagger/ openapi. multiple examples can be specified by setting this property multiple times or by adding to the RequestExamples collection. - */ - exampleRequest?: any | null; - /** - * the descriptions for endpoint parameters. you can add descriptions for route/query params and request dto properties. what you specify here will take precedence over xml comments of dto classes (if they are also specified). - */ - params?: { [key: string]: string; }; - /** - * the descriptions of the different responses/ status codes an endpoint can return - */ - responses?: { [key: string]: string; }; - /** - * the response examples for each status code - */ - responseExamples?: { [key: string]: any; }; - responseHeaders?: Array; -} - diff --git a/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts b/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts deleted file mode 100644 index e76b488..0000000 --- a/src/app/services/api/model/endpoint-without-request-of-list-of-get-communication-dto.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { GetCommunicationDto } from './get-communication-dto'; -import { ClaimsPrincipal } from './claims-principal'; -import { EndpointDefinition } from './endpoint-definition'; -import { Http } from './http'; -import { IWebHostEnvironment } from './i-web-host-environment'; -import { ValidationFailure } from './validation-failure'; - - -export interface EndpointWithoutRequestOfListOfGetCommunicationDto { - definition?: EndpointDefinition; - httpContext?: object; - validationFailures?: Array; - /** - * the response object that is serialized to the response stream. - */ - response?: Array | null; - user?: ClaimsPrincipal; - /** - * Represents a set of key/value application configuration properties. - */ - config?: object; - env?: IWebHostEnvironment; - /** - * Represents a type used to perform logging. - */ - logger?: object; - /** - * the base url of the current request - */ - baseURL?: string; - httpMethod?: Http; - /** - * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' - */ - form?: Array; - /** - * the files sent with the request. only populated when content-type is \'multipart/form-data\' - */ - files?: Array; - /** - * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. - */ - responseStarted?: boolean; - validationFailed?: boolean; -} -export namespace EndpointWithoutRequestOfListOfGetCommunicationDto { -} - - diff --git a/src/app/services/api/model/ep-version.ts b/src/app/services/api/model/ep-version.ts deleted file mode 100644 index 91e6034..0000000 --- a/src/app/services/api/model/ep-version.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * represents an endpoint version - */ -export interface EpVersion { - current?: number; - startingReleaseVersion?: number; - deprecatedAt?: number; -} - diff --git a/src/app/services/api/model/func-of-object.ts b/src/app/services/api/model/func-of-object.ts deleted file mode 100644 index 3c04cba..0000000 --- a/src/app/services/api/model/func-of-object.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { MethodInfo } from './method-info'; - - -export interface FuncOfObject { - target?: any | null; - method?: MethodInfo; -} - diff --git a/src/app/services/api/model/get-all-communications-endpoint.ts b/src/app/services/api/model/get-all-communications-endpoint.ts deleted file mode 100644 index fa25604..0000000 --- a/src/app/services/api/model/get-all-communications-endpoint.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { GetCommunicationDto } from './get-communication-dto'; -import { ClaimsPrincipal } from './claims-principal'; -import { EndpointDefinition } from './endpoint-definition'; -import { Http } from './http'; -import { IWebHostEnvironment } from './i-web-host-environment'; -import { ValidationFailure } from './validation-failure'; - - -export interface GetAllCommunicationsEndpoint { - definition?: EndpointDefinition; - httpContext?: object; - validationFailures?: Array; - /** - * the response object that is serialized to the response stream. - */ - response?: Array | null; - user?: ClaimsPrincipal; - /** - * Represents a set of key/value application configuration properties. - */ - config?: object; - env?: IWebHostEnvironment; - /** - * Represents a type used to perform logging. - */ - logger?: object; - /** - * the base url of the current request - */ - baseURL?: string; - httpMethod?: Http; - /** - * the form sent with the request. only populated if content-type is \'application/x-www-form-urlencoded\' or \'multipart/form-data\' - */ - form?: Array; - /** - * the files sent with the request. only populated when content-type is \'multipart/form-data\' - */ - files?: Array; - /** - * get or set whether the response has started. you\'d only use this if you\'re writing to the response stream by yourself. - */ - responseStarted?: boolean; - validationFailed?: boolean; -} -export namespace GetAllCommunicationsEndpoint { -} - - diff --git a/src/app/services/api/model/get-communication-dto.ts b/src/app/services/api/model/get-communication-dto.ts index 697ec6f..bc01d87 100644 --- a/src/app/services/api/model/get-communication-dto.ts +++ b/src/app/services/api/model/get-communication-dto.ts @@ -10,6 +10,7 @@ export interface GetCommunicationDto { + id?: number; calling?: string | null; email?: string | null; meeting?: string | null; diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts index f9610b6..231c9bc 100644 --- a/src/app/services/api/model/get-staff-dto.ts +++ b/src/app/services/api/model/get-staff-dto.ts @@ -16,6 +16,6 @@ export interface GetStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: string; + f4T2ExpirationDate?: Date | null; } diff --git a/src/app/services/api/model/http.ts b/src/app/services/api/model/http.ts deleted file mode 100644 index 9278360..0000000 --- a/src/app/services/api/model/http.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * enum for specifying a http verb - */ -export const Http = { - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_3: 3, - NUMBER_4: 4, - NUMBER_5: 5, - NUMBER_6: 6, - NUMBER_7: 7, - NUMBER_8: 8, - NUMBER_9: 9 -} as const; -export type Http = typeof Http[keyof typeof Http]; - diff --git a/src/app/services/api/model/i-identity.ts b/src/app/services/api/model/i-identity.ts deleted file mode 100644 index 09990d1..0000000 --- a/src/app/services/api/model/i-identity.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export interface IIdentity { - name?: string | null; - authenticationType?: string | null; - isAuthenticated?: boolean; -} - diff --git a/src/app/services/api/model/i-web-host-environment.ts b/src/app/services/api/model/i-web-host-environment.ts deleted file mode 100644 index 9185ce5..0000000 --- a/src/app/services/api/model/i-web-host-environment.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export interface IWebHostEnvironment { - webRootPath?: string; - /** - * A read-only file provider abstraction. - */ - webRootFileProvider?: object; -} - diff --git a/src/app/services/api/model/idempotency-options.ts b/src/app/services/api/model/idempotency-options.ts deleted file mode 100644 index 0b78d56..0000000 --- a/src/app/services/api/model/idempotency-options.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { FuncOfObject } from './func-of-object'; - - -/** - * idempotency settings for an endpoint - */ -export interface IdempotencyOptions { - /** - * the header name that will contain the idempotency key. defaults to Idempotency-Key - */ - headerName?: string; - /** - * any additional headers that should participate in the generation of the cache-key. see the source/definition for the list of default additional headers. - */ - additionalHeaders?: Array; - /** - * by default, the contents of the request body (form data/json) is taken into consideration when determining the uniqueness of incoming requests even if the idempotency-key is the same among them. i.e. if two different requests come in with the same idempotency-key but with different request body content, they will be considered to be unique requests and the endpoint will be executed for each request. - */ - ignoreRequestBody?: boolean; - /** - * determines how long the cached responses will remain in the cache store before being evicted. defaults to 10 minutes. - */ - cacheDuration?: string; - /** - * by default, the idempotency header will be automatically added to the response headers collection. set false to prevent that from happening. - */ - addHeaderToResponse?: boolean; - /** - * the description text for the swagger request header parameter - */ - swaggerHeaderDescription?: string | null; - swaggerExampleGenerator?: FuncOfObject | null; - /** - * the type/format of the swagger example value - */ - swaggerHeaderType?: string | null; -} - diff --git a/src/app/services/api/model/member-info.ts b/src/app/services/api/model/member-info.ts deleted file mode 100644 index 3008d87..0000000 --- a/src/app/services/api/model/member-info.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { Module } from './module'; - - -export interface MemberInfo { - module?: Module; - customAttributes?: Array; - isCollectible?: boolean; - metadataToken?: number; -} - diff --git a/src/app/services/api/model/member-types.ts b/src/app/services/api/model/member-types.ts deleted file mode 100644 index 72e2f18..0000000 --- a/src/app/services/api/model/member-types.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - */ -export const MemberTypes = { - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_4: 4, - NUMBER_8: 8, - NUMBER_16: 16, - NUMBER_32: 32, - NUMBER_64: 64, - NUMBER_128: 128, - NUMBER_191: 191 -} as const; -export type MemberTypes = typeof MemberTypes[keyof typeof MemberTypes]; - diff --git a/src/app/services/api/model/method-base.ts b/src/app/services/api/model/method-base.ts deleted file mode 100644 index 529dad1..0000000 --- a/src/app/services/api/model/method-base.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { CallingConventions } from './calling-conventions'; -import { MethodImplAttributes } from './method-impl-attributes'; -import { Module } from './module'; - - -export interface MethodBase { - module?: Module; - customAttributes?: Array; - isCollectible?: boolean; - metadataToken?: number; - methodImplementationFlags?: MethodImplAttributes; - callingConvention?: CallingConventions; - isAbstract?: boolean; - isConstructor?: boolean; - isFinal?: boolean; - isHideBySig?: boolean; - isSpecialName?: boolean; - isStatic?: boolean; - isVirtual?: boolean; - isAssembly?: boolean; - isFamily?: boolean; - isFamilyAndAssembly?: boolean; - isFamilyOrAssembly?: boolean; - isPrivate?: boolean; - isPublic?: boolean; - isConstructedGenericMethod?: boolean; - isGenericMethod?: boolean; - isGenericMethodDefinition?: boolean; - containsGenericParameters?: boolean; - isSecurityCritical?: boolean; - isSecuritySafeCritical?: boolean; - isSecurityTransparent?: boolean; -} -export namespace MethodBase { -} - - diff --git a/src/app/services/api/model/method-impl-attributes.ts b/src/app/services/api/model/method-impl-attributes.ts deleted file mode 100644 index f9accd0..0000000 --- a/src/app/services/api/model/method-impl-attributes.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - */ -export const MethodImplAttributes = { - NUMBER_0: 0, - NUMBER_02: 0, - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_3: 3, - NUMBER_32: 3, - NUMBER_4: 4, - NUMBER_42: 4, - NUMBER_8: 8, - NUMBER_16: 16, - NUMBER_64: 64, - NUMBER_128: 128, - NUMBER_256: 256, - NUMBER_512: 512, - NUMBER_4096: 4096, - NUMBER_65535: 65535 -} as const; -export type MethodImplAttributes = typeof MethodImplAttributes[keyof typeof MethodImplAttributes]; - diff --git a/src/app/services/api/model/method-info.ts b/src/app/services/api/model/method-info.ts deleted file mode 100644 index 8300d7b..0000000 --- a/src/app/services/api/model/method-info.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { CallingConventions } from './calling-conventions'; -import { MethodImplAttributes } from './method-impl-attributes'; -import { ParameterInfo } from './parameter-info'; -import { Module } from './module'; -import { MemberTypes } from './member-types'; - - -export interface MethodInfo { - module?: Module; - customAttributes?: Array; - isCollectible?: boolean; - metadataToken?: number; - methodImplementationFlags?: MethodImplAttributes; - callingConvention?: CallingConventions; - isAbstract?: boolean; - isConstructor?: boolean; - isFinal?: boolean; - isHideBySig?: boolean; - isSpecialName?: boolean; - isStatic?: boolean; - isVirtual?: boolean; - isAssembly?: boolean; - isFamily?: boolean; - isFamilyAndAssembly?: boolean; - isFamilyOrAssembly?: boolean; - isPrivate?: boolean; - isPublic?: boolean; - isConstructedGenericMethod?: boolean; - isGenericMethod?: boolean; - isGenericMethodDefinition?: boolean; - containsGenericParameters?: boolean; - isSecurityCritical?: boolean; - isSecuritySafeCritical?: boolean; - isSecurityTransparent?: boolean; - memberType?: MemberTypes; - returnParameter?: ParameterInfo; - returnType?: string; -} -export namespace MethodInfo { -} - - diff --git a/src/app/services/api/model/models.ts b/src/app/services/api/model/models.ts index 4d8632a..4bc8e96 100644 --- a/src/app/services/api/model/models.ts +++ b/src/app/services/api/model/models.ts @@ -1,11 +1,3 @@ -export * from './action-of-authorization-policy-builder'; -export * from './assembly'; -export * from './base-endpoint'; -export * from './calling-conventions'; -export * from './claim'; -export * from './claims-identity'; -export * from './claims-principal'; -export * from './constructor-info'; export * from './create-availability-dto'; export * from './create-communication-dto'; export * from './create-contact-dto'; @@ -16,17 +8,6 @@ export * from './create-history-of-approval-dto'; export * from './create-provider-dto'; export * from './create-provider-type-dto'; export * from './create-staff-dto'; -export * from './custom-attribute-data'; -export * from './custom-attribute-named-argument'; -export * from './custom-attribute-typed-argument'; -export * from './delegate'; -export * from './endpoint-definition'; -export * from './endpoint-of-empty-request-and-list-of-get-communication-dto'; -export * from './endpoint-summary'; -export * from './endpoint-without-request-of-list-of-get-communication-dto'; -export * from './ep-version'; -export * from './func-of-object'; -export * from './get-all-communications-endpoint'; export * from './get-availability-dto'; export * from './get-communication-dto'; export * from './get-contact-dto'; @@ -37,24 +18,6 @@ export * from './get-history-of-approval-dto'; export * from './get-provider-dto'; export * from './get-provider-type-dto'; export * from './get-staff-dto'; -export * from './http'; -export * from './i-identity'; -export * from './i-web-host-environment'; -export * from './idempotency-options'; -export * from './member-info'; -export * from './member-types'; -export * from './method-base'; -export * from './method-impl-attributes'; -export * from './method-info'; -export * from './module'; -export * from './module-handle'; -export * from './multicast-delegate'; -export * from './parameter-attributes'; -export * from './parameter-info'; -export * from './request-example'; -export * from './response-header'; -export * from './security-rule-set'; -export * from './severity'; export * from './update-availability-dto'; export * from './update-communication-dto'; export * from './update-contact-dto'; @@ -65,4 +28,3 @@ export * from './update-history-of-approval-dto'; export * from './update-provider-dto'; export * from './update-provider-type-dto'; export * from './update-staff-dto'; -export * from './validation-failure'; diff --git a/src/app/services/api/model/module-handle.ts b/src/app/services/api/model/module-handle.ts deleted file mode 100644 index 79c1bd0..0000000 --- a/src/app/services/api/model/module-handle.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -export interface ModuleHandle { - mdStreamVersion?: number; -} - diff --git a/src/app/services/api/model/module.ts b/src/app/services/api/model/module.ts deleted file mode 100644 index dadadf3..0000000 --- a/src/app/services/api/model/module.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { Assembly } from './assembly'; -import { ModuleHandle } from './module-handle'; - - -export interface Module { - assembly?: Assembly; - fullyQualifiedName?: string; - name?: string; - mdStreamVersion?: number; - moduleVersionId?: string; - scopeName?: string; - moduleHandle?: ModuleHandle; - customAttributes?: Array; - metadataToken?: number; -} - diff --git a/src/app/services/api/model/multicast-delegate.ts b/src/app/services/api/model/multicast-delegate.ts deleted file mode 100644 index a7f0c8e..0000000 --- a/src/app/services/api/model/multicast-delegate.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { MethodInfo } from './method-info'; - - -export interface MulticastDelegate { - target?: any | null; - method?: MethodInfo; -} - diff --git a/src/app/services/api/model/parameter-attributes.ts b/src/app/services/api/model/parameter-attributes.ts deleted file mode 100644 index 4a5fd26..0000000 --- a/src/app/services/api/model/parameter-attributes.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - */ -export const ParameterAttributes = { - NUMBER_0: 0, - NUMBER_1: 1, - NUMBER_2: 2, - NUMBER_4: 4, - NUMBER_8: 8, - NUMBER_16: 16, - NUMBER_4096: 4096, - NUMBER_8192: 8192, - NUMBER_16384: 16384, - NUMBER_32768: 32768, - NUMBER_61440: 61440 -} as const; -export type ParameterAttributes = typeof ParameterAttributes[keyof typeof ParameterAttributes]; - diff --git a/src/app/services/api/model/parameter-info.ts b/src/app/services/api/model/parameter-info.ts deleted file mode 100644 index 77fb94b..0000000 --- a/src/app/services/api/model/parameter-info.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { CustomAttributeData } from './custom-attribute-data'; -import { MemberInfo } from './member-info'; -import { ParameterAttributes } from './parameter-attributes'; - - -export interface ParameterInfo { - attributes?: ParameterAttributes; - member?: MemberInfo; - name?: string | null; - parameterType?: string; - position?: number; - isIn?: boolean; - isLcid?: boolean; - isOptional?: boolean; - isOut?: boolean; - isRetval?: boolean; - defaultValue?: any | null; - rawDefaultValue?: any | null; - hasDefaultValue?: boolean; - customAttributes?: Array; - metadataToken?: number; -} -export namespace ParameterInfo { -} - - diff --git a/src/app/services/api/model/request-example.ts b/src/app/services/api/model/request-example.ts deleted file mode 100644 index fa0e9c7..0000000 --- a/src/app/services/api/model/request-example.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * represents a swagger example request analogous to an OpenApiExample - */ -export interface RequestExample { - /** - * the summary text of this example request - */ - summary?: string | null; - /** - * the description of this example request - */ - description?: string | null; - /** - * the actual example request object - */ - value?: any | null; - /** - * the label/name for this example request - */ - label?: string; -} - diff --git a/src/app/services/api/model/response-header.ts b/src/app/services/api/model/response-header.ts deleted file mode 100644 index 7d19878..0000000 --- a/src/app/services/api/model/response-header.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * describes a swagger response header for a certain response dto - */ -export interface ResponseHeader { - /** - * description for the header - */ - description?: string | null; - /** - * an example header value - */ - example?: any | null; -} - diff --git a/src/app/services/api/model/security-rule-set.ts b/src/app/services/api/model/security-rule-set.ts deleted file mode 100644 index 97a822c..0000000 --- a/src/app/services/api/model/security-rule-set.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - */ -export const SecurityRuleSet = { - NUMBER_0: 0, - NUMBER_1: 1, - NUMBER_2: 2 -} as const; -export type SecurityRuleSet = typeof SecurityRuleSet[keyof typeof SecurityRuleSet]; - diff --git a/src/app/services/api/model/severity.ts b/src/app/services/api/model/severity.ts deleted file mode 100644 index f6e42cb..0000000 --- a/src/app/services/api/model/severity.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * Specifies the severity of a rule. - */ -export const Severity = { - NUMBER_0: 0, - NUMBER_1: 1, - NUMBER_2: 2 -} as const; -export type Severity = typeof Severity[keyof typeof Severity]; - diff --git a/src/app/services/api/model/validation-failure.ts b/src/app/services/api/model/validation-failure.ts deleted file mode 100644 index c9528d7..0000000 --- a/src/app/services/api/model/validation-failure.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * PyroFetes - * - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import { Severity } from './severity'; - - -/** - * Defines a validation failure - */ -export interface ValidationFailure { - /** - * The name of the property. - */ - propertyName?: string | null; - /** - * The error message - */ - errorMessage?: string | null; - /** - * The property value that caused the failure. - */ - attemptedValue?: any | null; - /** - * Custom state associated with the failure. - */ - customState?: any | null; - severity?: Severity; - /** - * Gets or sets the error code. - */ - errorCode?: string | null; - /** - * Gets or sets the formatted message placeholder values. - */ - formattedMessagePlaceholderValues?: { [key: string]: any; } | null; -} -export namespace ValidationFailure { -} - - From 933f5dee24c7c320440a3d6c4f4ac37dacc4b21d Mon Sep 17 00:00:00 2001 From: ilylallois Date: Tue, 9 Jun 2026 12:29:07 +0200 Subject: [PATCH 19/23] correcton casting issues --- package-lock.json | 166 ++++++++++++++---- package.json | 3 +- .../staff/staff-add-form/staff-add-form.ts | 8 +- .../services/api/model/create-staff-dto.ts | 2 +- src/app/services/api/model/get-staff-dto.ts | 2 +- 5 files changed, 144 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2021a59..85dec7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "@angular/cli": "^20.3.10", "@angular/compiler-cli": "^20.3.0", "less": "^4.2.0", + "rimraf": "^6.1.3", "typescript": "~5.9.2" } }, @@ -571,6 +572,7 @@ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.10.tgz", "integrity": "sha512-12fEzvKbEqjqy1fSk9DMYlJz6dF1MJVXuC5BB+oWWJpd+2lfh4xJ62pkvvLGAICI89hfM5n9Cy5kWnXwnqPZsA==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -587,6 +589,7 @@ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.10.tgz", "integrity": "sha512-cW939Lr8GZjPSYfbQKIDNrUaHWmn2M+zBbERThfq5skLuY+xM60bJFv4NqBekfX6YqKLCY62ilUZlnImYIXaqA==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -600,6 +603,7 @@ "integrity": "sha512-9BemvpFxA26yIVdu8ROffadMkEdlk/AQQ2Jb486w7RPkrvUQ0pbEJukhv9aryJvhbMopT66S5H/j4ipOUMzmzQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "7.28.3", "@jridgewell/sourcemap-codec": "^1.4.14", @@ -632,6 +636,7 @@ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.10.tgz", "integrity": "sha512-g99Qe+NOVo72OLxowVF9NjCckswWYHmvO7MgeiZTDJbTjF9tXH96dMx7AWq76/GUinV10sNzDysVW16NoAbCRQ==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -657,6 +662,7 @@ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.10.tgz", "integrity": "sha512-9yWr51EUauTEINB745AaHwZNTHLpXIm4uxuykxzOg+g2QskEgVfH26uS8G2ogdNuwYpB8wnsXWr34qhM3qgOWw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -675,6 +681,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.10.tgz", "integrity": "sha512-UV8CGoB5P3FmJciI3/I/n3L7C3NVgGh7bIlZ1BaB/qJDtv0Wq0rRAGwmT/Z3gwmrRtfHZWme7/CeQ2CYJmMyUQ==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -697,6 +704,7 @@ "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.10.tgz", "integrity": "sha512-Z03cfH1jgQ7XMDJj4R8qAGqivcvhdG3wYBwaiN1K1ODBgPhbFKNeD4stKqYp7xBNtswmM2O2jMxrL/Djwju4Gg==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -778,6 +786,7 @@ "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -1745,6 +1754,7 @@ "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@inquirer/checkbox": "^4.2.1", "@inquirer/confirm": "^5.1.14", @@ -2604,6 +2614,7 @@ "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.9.tgz", "integrity": "sha512-zDntUTReRbAThIfSp3dQZ9kKqI+LjgLp5YZN5c1bgNRDuoeLySAoZg46Bg1a+uV8TMgIRziHocglKGNzr6l+bQ==", "license": "MIT", + "peer": true, "dependencies": { "file-type": "21.1.0", "iterare": "1.2.1", @@ -4420,6 +4431,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", "license": "MIT", + "peer": true, "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", @@ -4588,6 +4600,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -4787,6 +4800,7 @@ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -5490,29 +5504,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/enhanced-resolve": { "version": "5.18.3", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", @@ -5810,6 +5801,7 @@ "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", @@ -7071,6 +7063,7 @@ "integrity": "sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "copy-anything": "^2.0.1", "parse-node-version": "^1.0.1", @@ -7358,6 +7351,7 @@ "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", @@ -7748,10 +7742,10 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -9016,7 +9010,8 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "license": "Apache-2.0" + "license": "Apache-2.0", + "peer": true }, "node_modules/require-directory": { "version": "2.1.1", @@ -9092,6 +9087,110 @@ "dev": true, "license": "MIT" }, + "node_modules/rimraf": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rollup": { "version": "4.52.3", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", @@ -9165,6 +9264,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "license": "Apache-2.0", + "peer": true, "dependencies": { "tslib": "^2.1.0" } @@ -9201,6 +9301,7 @@ "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -9950,7 +10051,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tuf-js": { "version": "3.1.0", @@ -10000,6 +10102,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10161,6 +10264,7 @@ "integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -10549,6 +10653,7 @@ "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -10567,7 +10672,8 @@ "version": "0.15.1", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", - "license": "MIT" + "license": "MIT", + "peer": true } } } diff --git a/package.json b/package.json index 9e9511d..340fe98 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "start": "ng serve", "build": "ng build", "watch": "ng build --watch --configuration development", - "openapi": "rm -rf src/app/services/api && openapi-generator-cli generate -i http://localhost:5298/swagger/v1/swagger.json -g typescript-angular -o src/app/services/api -c openapi-generator.yaml" + "openapi": "rimraf src/app/services/api && openapi-generator-cli generate -i http://localhost:5298/swagger/v1/swagger.json -g typescript-angular -o src/app/services/api -c openapi-generator.yaml" }, "prettier": { "printWidth": 100, @@ -42,6 +42,7 @@ "@angular/cli": "^20.3.10", "@angular/compiler-cli": "^20.3.0", "less": "^4.2.0", + "rimraf": "^6.1.3", "typescript": "~5.9.2" } } diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts index d0b969b..a991294 100644 --- a/src/app/pages/staff/staff-add-form/staff-add-form.ts +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -30,7 +30,7 @@ class StaffAddForm { f4T2ExpirationDate: new FormControl(null, [Validators.required]) }) - staffPost = signal(this.staffForm.value); + staffPost = signal(this.staffForm.value as any); staffsLoading = signal(false); async submitForm() { @@ -39,14 +39,14 @@ class StaffAddForm { // Pour obtenir la valeur du formulaire console.log(this.staffForm.getRawValue()) - this.staffPost.set(this.staffForm.getRawValue()) + this.staffPost.set(this.staffForm.getRawValue() as any) await this.createStaff(this.staffPost().lastName, this.staffPost().firstName, this.staffPost().profession, this.staffPost().email, this.staffPost().f4T2NumberApproval, this.staffPost().f4T2ExpirationDate) // Pour vider le formulaire this.staffForm.reset() } - async createStaff(lastname: string, firstname: string, profession: string, email: string, f4t2number: string, f4t2expiration: Date) + async createStaff(lastname: string, firstname: string, profession: string, email: string, f4t2number: string, f4t2expiration: Date | string) { this.staffsLoading.set(true); @@ -56,7 +56,7 @@ class StaffAddForm { profession: profession, email: email, f4T2NumberApproval: f4t2number, - f4T2ExpirationDate: f4t2expiration + f4T2ExpirationDate: f4t2expiration instanceof Date ? f4t2expiration.toISOString().split('T')[0] : f4t2expiration } try { diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts index 614f4b7..2e1ac8e 100644 --- a/src/app/services/api/model/create-staff-dto.ts +++ b/src/app/services/api/model/create-staff-dto.ts @@ -15,6 +15,6 @@ export interface CreateStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: Date | null; + f4T2ExpirationDate?: string; } diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts index 231c9bc..f9610b6 100644 --- a/src/app/services/api/model/get-staff-dto.ts +++ b/src/app/services/api/model/get-staff-dto.ts @@ -16,6 +16,6 @@ export interface GetStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: Date | null; + f4T2ExpirationDate?: string; } From 5faef466637bf814784798dc0dab06bfc3d0bf6d Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Tue, 9 Jun 2026 13:31:05 +0200 Subject: [PATCH 20/23] Fin opportunity --- .../contact-add-form/contact-add-form.html | 62 +++++++++++++- .../contact-add-form/contact-add-form.ts | 82 ++++++++++++++++++- .../contact/contact-card/contact-card.html | 43 +++++++++- .../opportunity-add-form.html | 11 +++ .../opportunity-add-form.ts | 34 ++++++-- .../opportunity-card/opportunity-card.html | 11 ++- src/app/pages/staff/staff-card/staff-card.ts | 2 +- .../api/model/create-communication-dto.ts | 1 + .../api/model/get-communication-dto.ts | 5 ++ .../services/api/model/update-staff-dto.ts | 2 +- 10 files changed, 241 insertions(+), 12 deletions(-) diff --git a/src/app/pages/contact/contact-add-form/contact-add-form.html b/src/app/pages/contact/contact-add-form/contact-add-form.html index c752d58..9cf3fbf 100644 --- a/src/app/pages/contact/contact-add-form/contact-add-form.html +++ b/src/app/pages/contact/contact-add-form/contact-add-form.html @@ -1 +1,61 @@ -

    contact-add-form works!

    +
    + + Nom + + + + + + + Prénom + + + + + + + Email + + + + + + + Téléphone + + + + + + + Adresse + + + + + + + Code postal + + + + + + + Ville + + + + + + + Rôle + + + + + + + + +
    \ No newline at end of file diff --git a/src/app/pages/contact/contact-add-form/contact-add-form.ts b/src/app/pages/contact/contact-add-form/contact-add-form.ts index 22c0287..604001f 100644 --- a/src/app/pages/contact/contact-add-form/contact-add-form.ts +++ b/src/app/pages/contact/contact-add-form/contact-add-form.ts @@ -1,11 +1,89 @@ -import { Component } from '@angular/core'; +import {Component, inject, signal} from '@angular/core'; +import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; +import {NzInputDirective} from "ng-zorro-antd/input"; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {NzColDirective} from "ng-zorro-antd/grid"; +import {NzFlexDirective} from "ng-zorro-antd/flex"; +import {ContactsService, CreateContactDto} from "../../../services/api"; +import {NzNotificationService} from "ng-zorro-antd/notification"; +import {firstValueFrom} from "rxjs"; +import {NzButtonComponent} from "ng-zorro-antd/button"; @Component({ selector: 'app-contact-add-form', - imports: [], + imports: [ + NzFormLabelComponent, + NzFormItemComponent, + NzFormControlComponent, + NzInputDirective, + ReactiveFormsModule, + NzColDirective, + NzFormDirective, + NzFlexDirective, + NzButtonComponent + ], templateUrl: './contact-add-form.html', styleUrl: './contact-add-form.css', }) export class ContactAddForm { + private contactsService = inject(ContactsService); + private notificationService = inject(NzNotificationService); + contactForm = new FormGroup({ + lastName: new FormControl(null, [Validators.required]), + firstName: new FormControl(null, [Validators.required]), + phoneNumber: new FormControl(null, [Validators.required]), + email: new FormControl(null, [Validators.required]), + address: new FormControl(null, [Validators.required]), + city: new FormControl(null, [Validators.required]), + role: new FormControl(null, [Validators.required]), + customerId: new FormControl(null), + }) + + contactPost = signal(this.contactForm.value); + contactsLoading = signal(false); + + async submitForm() { + if (this.contactForm.invalid) return; + + console.log(this.contactForm.getRawValue()) + this.contactPost.set(this.contactForm.getRawValue()) + + await this.createContact( + this.contactPost().lastName, + this.contactPost().firstName, + this.contactPost().phoneNumber, + this.contactPost().email, + this.contactPost().address, + this.contactPost().city, + this.contactPost().role, + this.contactPost().customerId + ) + this.contactForm.reset() + } + + async createContact(lastName: string, firstName: string, phoneNumber: string, email: string, address: string, city: string, role: string, customerId: number) { + this.contactsLoading.set(true); + + const contactValue: CreateContactDto = { + lastName: lastName, + firstName: firstName, + phoneNumber: phoneNumber, + email: email, + address: address, + city: city, + role: role, + customerId: customerId + } + + try { + const contact = await firstValueFrom(this.contactsService.createContactEndpoint(contactValue)); + this.contactPost.set(contact); + console.log(contact); + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + + this.contactsLoading.set(false); + } } diff --git a/src/app/pages/contact/contact-card/contact-card.html b/src/app/pages/contact/contact-card/contact-card.html index 7bb4f76..331e35b 100644 --- a/src/app/pages/contact/contact-card/contact-card.html +++ b/src/app/pages/contact/contact-card/contact-card.html @@ -2,6 +2,11 @@

    Contact n°{{ contact().id }}

    Nom : {{ contact().lastName + " " + contact().firstName }}

    +

    Rôle : {{ contact().role }}

    +

    Numéro de téléphone : {{ contact().phoneNumber }}

    +

    Email : {{ contact().email }}

    +

    Adresse : {{ contact().address + ", " + contact().city }}

    +
    @@ -15,7 +20,43 @@ Nom - + + + + + Prénom + + + + + + Num. Tél. + + + + + + Email + + + + + + Adresse + + + + + + Ville + + + + + + Rôle + + diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html index ba1c23c..59f6bf6 100644 --- a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html +++ b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.html @@ -20,6 +20,17 @@ + + Contact + + + @for (contact of contacts(); track contact.id) { + + } + + + + diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts index 6b63b21..3056b60 100644 --- a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts +++ b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts @@ -4,10 +4,11 @@ import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; import {NzFlexDirective} from "ng-zorro-antd/flex"; import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form"; import {NzInputDirective} from "ng-zorro-antd/input"; -import {FormControl, FormGroup, ReactiveFormsModule} from "@angular/forms"; -import {CommunicationsService, CreateCommunicationDto} from "../../../services/api"; +import {FormControl, FormGroup, ReactiveFormsModule, Validators} from "@angular/forms"; +import {CommunicationsService, ContactsService, CreateCommunicationDto, GetContactDto} from "../../../services/api"; import {NzNotificationService} from "ng-zorro-antd/notification"; import {firstValueFrom} from "rxjs"; +import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; @Component({ selector: 'app-opportunity-add-form', @@ -21,7 +22,9 @@ import {firstValueFrom} from "rxjs"; NzFormLabelComponent, NzInputDirective, NzRowDirective, - ReactiveFormsModule + ReactiveFormsModule, + NzSelectComponent, + NzOptionComponent ], templateUrl: './opportunity-add-form.html', styleUrl: './opportunity-add-form.css', @@ -30,11 +33,14 @@ export class OpportunityAddForm { private communicationsService = inject(CommunicationsService); private notificationService = inject(NzNotificationService) + private contactsService = inject(ContactsService); + communicationForm = new FormGroup({ calling: new FormControl(null), email: new FormControl(null), meeting: new FormControl(null), + contactId: new FormControl(null, [Validators.required]), }, { validators: atLeastOneRequired }) communicationPost = signal(this.communicationForm.value); @@ -46,17 +52,18 @@ export class OpportunityAddForm { console.log(this.communicationForm.getRawValue()) this.communicationPost.set(this.communicationForm.getRawValue()) - await this.createCommunication(this.communicationPost().calling, this.communicationPost().email, this.communicationPost().meeting) + await this.createCommunication(this.communicationPost().calling, this.communicationPost().email, this.communicationPost().meeting, this.communicationPost().contactId) this.communicationForm.reset() } - async createCommunication(calling: string, email: string, meeting: string) { + async createCommunication(calling: string, email: string, meeting: string, contactId: number) { this.communicationsLoading.set(true); const communicationValue: CreateCommunicationDto = { calling: calling, email: email, meeting: meeting, + contactId: contactId } try { @@ -69,8 +76,25 @@ export class OpportunityAddForm { this.communicationsLoading.set(false); } + + contacts = signal([]); + + async ngOnInit() { + await this.fetchContacts(); + } + + async fetchContacts() { + try { + const contacts = await firstValueFrom(this.contactsService.getAllContactEndpoint()); + this.contacts.set(contacts); + } catch (e) { + this.notificationService.error('Erreur', 'Erreur de communication avec l\'API'); + } + } } + + function atLeastOneRequired(group: FormGroup) { const { calling, email, meeting } = group.controls; const valid = [calling, email, meeting].some(c => c.value); diff --git a/src/app/pages/opportunities/opportunity-card/opportunity-card.html b/src/app/pages/opportunities/opportunity-card/opportunity-card.html index c64c11a..e25a26a 100644 --- a/src/app/pages/opportunities/opportunity-card/opportunity-card.html +++ b/src/app/pages/opportunities/opportunity-card/opportunity-card.html @@ -1,14 +1,23 @@ @if (edit() == false) { -

    Communication n°{{ communication().id }}

    +

    Contact n°{{ communication().contactId }}

    @if (communication().calling) {

    📞 Appel : {{ communication().calling }}

    +

    Nom du Contact : {{ communication().contactLastName + " " + communication().contactFirstName}}

    +

    Numéro du Contact : {{ communication().contactPhoneNumber }}

    +

    Email du Contact : {{ communication().contactEmail }}

    } @if (communication().email) {

    ✉️ Email : {{ communication().email }}

    +

    Nom du Contact : {{ communication().contactLastName + " " + communication().contactFirstName}}

    +

    Numéro du Contact : {{ communication().contactPhoneNumber }}

    +

    Email du Contact : {{ communication().contactEmail }}

    } @if (communication().meeting) {

    🤝 Réunion : {{ communication().meeting }}

    +

    Nom du Contact : {{ communication().contactLastName + " " + communication().contactFirstName}}

    +

    Numéro du Contact : {{ communication().contactPhoneNumber }}

    +

    Email du Contact : {{ communication().contactEmail }}

    }
    diff --git a/src/app/pages/staff/staff-card/staff-card.ts b/src/app/pages/staff/staff-card/staff-card.ts index a8f47d1..ef46418 100644 --- a/src/app/pages/staff/staff-card/staff-card.ts +++ b/src/app/pages/staff/staff-card/staff-card.ts @@ -35,7 +35,7 @@ export class StaffCard { staffForm = new FormGroup({ f4T2NumberApproval: new FormControl(null, [Validators.required]), - f4T2ExpirationDate: new FormControl(null, [Validators.required]), + f4T2ExpirationDate: new FormControl(null, [Validators.required]), }) async submitForm() { diff --git a/src/app/services/api/model/create-communication-dto.ts b/src/app/services/api/model/create-communication-dto.ts index 5b44961..27da861 100644 --- a/src/app/services/api/model/create-communication-dto.ts +++ b/src/app/services/api/model/create-communication-dto.ts @@ -13,5 +13,6 @@ export interface CreateCommunicationDto { calling?: string | null; email?: string | null; meeting?: string | null; + contactId?: number; } diff --git a/src/app/services/api/model/get-communication-dto.ts b/src/app/services/api/model/get-communication-dto.ts index bc01d87..bdfd4cc 100644 --- a/src/app/services/api/model/get-communication-dto.ts +++ b/src/app/services/api/model/get-communication-dto.ts @@ -14,5 +14,10 @@ export interface GetCommunicationDto { calling?: string | null; email?: string | null; meeting?: string | null; + contactId?: number; + contactFirstName?: string | null; + contactLastName?: string | null; + contactEmail?: string | null; + contactPhoneNumber?: string | null; } diff --git a/src/app/services/api/model/update-staff-dto.ts b/src/app/services/api/model/update-staff-dto.ts index 66faedf..39f7cb3 100644 --- a/src/app/services/api/model/update-staff-dto.ts +++ b/src/app/services/api/model/update-staff-dto.ts @@ -11,6 +11,6 @@ export interface UpdateStaffDto { f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: string; + f4T2ExpirationDate?: Date | null; } From a1e73304631612a2e842df7e46687512fe625c5a Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Wed, 10 Jun 2026 21:40:37 +0200 Subject: [PATCH 21/23] =?UTF-8?q?Type=20de=20customer=20ajout=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customers/customers-card/get-all-customers-card.html | 1 + .../opportunity-add-form/opportunity-add-form.ts | 5 ++++- src/app/services/api/model/get-customer-dto.ts | 1 + src/app/services/api/model/get-staff-dto.ts | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/pages/customers/customers-card/get-all-customers-card.html b/src/app/pages/customers/customers-card/get-all-customers-card.html index 4afd437..83fbd88 100644 --- a/src/app/pages/customers/customers-card/get-all-customers-card.html +++ b/src/app/pages/customers/customers-card/get-all-customers-card.html @@ -2,6 +2,7 @@

    Client n°{{ customer().id }}

    Note : {{ customer().note }}

    +

    Type de Contact : {{ customer().customerType}}

    diff --git a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts index 3056b60..d1ec64b 100644 --- a/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts +++ b/src/app/pages/opportunities/opportunity-add-form/opportunity-add-form.ts @@ -49,6 +49,9 @@ export class OpportunityAddForm { async submitForm() { if (this.communicationForm.invalid) return; + const raw = this.communicationForm.getRawValue(); + console.log('contactId:', raw.contactId, 'type:', typeof raw.contactId); + console.log(this.communicationForm.getRawValue()) this.communicationPost.set(this.communicationForm.getRawValue()) @@ -63,7 +66,7 @@ export class OpportunityAddForm { calling: calling, email: email, meeting: meeting, - contactId: contactId + contactId: Number(contactId) } try { diff --git a/src/app/services/api/model/get-customer-dto.ts b/src/app/services/api/model/get-customer-dto.ts index ef85c4e..f4c6a47 100644 --- a/src/app/services/api/model/get-customer-dto.ts +++ b/src/app/services/api/model/get-customer-dto.ts @@ -13,5 +13,6 @@ export interface GetCustomerDto { id?: number; note?: string | null; customerTypeId?: number; + customerType?: string | null; } diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts index f9610b6..231c9bc 100644 --- a/src/app/services/api/model/get-staff-dto.ts +++ b/src/app/services/api/model/get-staff-dto.ts @@ -16,6 +16,6 @@ export interface GetStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: string; + f4T2ExpirationDate?: Date | null; } From b0555d944b4f6ab0fbec459b7e02c217d69c6454 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Wed, 10 Jun 2026 21:41:44 +0200 Subject: [PATCH 22/23] =?UTF-8?q?Type=20de=20customer=20ajout=C3=A9=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/customers/customers-card/get-all-customers-card.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/pages/customers/customers-card/get-all-customers-card.html b/src/app/pages/customers/customers-card/get-all-customers-card.html index 83fbd88..944568d 100644 --- a/src/app/pages/customers/customers-card/get-all-customers-card.html +++ b/src/app/pages/customers/customers-card/get-all-customers-card.html @@ -2,7 +2,7 @@

    Client n°{{ customer().id }}

    Note : {{ customer().note }}

    -

    Type de Contact : {{ customer().customerType}}

    +

    Type de client : {{ customer().customerType}}

    From e1a71ce24806d48b4dcd8b9c5f300d0b352cdaa2 Mon Sep 17 00:00:00 2001 From: MathieuCarteron Date: Thu, 11 Jun 2026 11:06:59 +0200 Subject: [PATCH 23/23] ajout du niveau d'experience --- src/app/pages/providers/providers-card/providers-card.html | 3 ++- src/app/pages/staff/staff-add-form/staff-add-form.ts | 2 +- src/app/pages/staff/staff-card/staff-card.html | 1 + src/app/services/api/model/create-experience-level-dto.ts | 1 + src/app/services/api/model/create-history-of-approval-dto.ts | 1 + src/app/services/api/model/create-staff-dto.ts | 2 +- src/app/services/api/model/get-experience-level-dto.ts | 1 + src/app/services/api/model/get-history-of-approval-dto.ts | 1 + src/app/services/api/model/get-provider-dto.ts | 1 + src/app/services/api/model/get-staff-dto.ts | 1 + 10 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/pages/providers/providers-card/providers-card.html b/src/app/pages/providers/providers-card/providers-card.html index e9ec0c8..e5b0da9 100644 --- a/src/app/pages/providers/providers-card/providers-card.html +++ b/src/app/pages/providers/providers-card/providers-card.html @@ -2,6 +2,7 @@

    Prestataire n°{{ provider().id }}

    Prix : {{ provider().price }}

    +

    Type de Prestataire : {{ provider().providerType }}

    @@ -15,7 +16,7 @@ Prix - + diff --git a/src/app/pages/staff/staff-add-form/staff-add-form.ts b/src/app/pages/staff/staff-add-form/staff-add-form.ts index a991294..56df90b 100644 --- a/src/app/pages/staff/staff-add-form/staff-add-form.ts +++ b/src/app/pages/staff/staff-add-form/staff-add-form.ts @@ -56,7 +56,7 @@ class StaffAddForm { profession: profession, email: email, f4T2NumberApproval: f4t2number, - f4T2ExpirationDate: f4t2expiration instanceof Date ? f4t2expiration.toISOString().split('T')[0] : f4t2expiration + f4T2ExpirationDate: f4t2expiration instanceof Date ? f4t2expiration : new Date(f4t2expiration) } try { diff --git a/src/app/pages/staff/staff-card/staff-card.html b/src/app/pages/staff/staff-card/staff-card.html index 8be06c6..09e0487 100644 --- a/src/app/pages/staff/staff-card/staff-card.html +++ b/src/app/pages/staff/staff-card/staff-card.html @@ -6,6 +6,7 @@

    Email : {{ staff().email }}

    N° F4T2 : {{ staff().f4T2NumberApproval }}

    Expiration F4T2 : {{ staff().f4T2ExpirationDate }}

    +

    Niveau d'experience : {{ staff().experienceLevel}}

    diff --git a/src/app/services/api/model/create-experience-level-dto.ts b/src/app/services/api/model/create-experience-level-dto.ts index 736fb08..20c17ba 100644 --- a/src/app/services/api/model/create-experience-level-dto.ts +++ b/src/app/services/api/model/create-experience-level-dto.ts @@ -11,5 +11,6 @@ export interface CreateExperienceLevelDto { label?: string | null; + staffId?: number | null; } diff --git a/src/app/services/api/model/create-history-of-approval-dto.ts b/src/app/services/api/model/create-history-of-approval-dto.ts index 156d083..25086df 100644 --- a/src/app/services/api/model/create-history-of-approval-dto.ts +++ b/src/app/services/api/model/create-history-of-approval-dto.ts @@ -12,5 +12,6 @@ export interface CreateHistoryOfApprovalDto { deliveryDate?: string; expirationDate?: string; + staffId?: number; } diff --git a/src/app/services/api/model/create-staff-dto.ts b/src/app/services/api/model/create-staff-dto.ts index 2e1ac8e..614f4b7 100644 --- a/src/app/services/api/model/create-staff-dto.ts +++ b/src/app/services/api/model/create-staff-dto.ts @@ -15,6 +15,6 @@ export interface CreateStaffDto { profession?: string | null; email?: string | null; f4T2NumberApproval?: string | null; - f4T2ExpirationDate?: string; + f4T2ExpirationDate?: Date | null; } diff --git a/src/app/services/api/model/get-experience-level-dto.ts b/src/app/services/api/model/get-experience-level-dto.ts index 160bbd3..c6fddc7 100644 --- a/src/app/services/api/model/get-experience-level-dto.ts +++ b/src/app/services/api/model/get-experience-level-dto.ts @@ -12,5 +12,6 @@ export interface GetExperienceLevelDto { id?: number; label?: string | null; + staffId?: number | null; } diff --git a/src/app/services/api/model/get-history-of-approval-dto.ts b/src/app/services/api/model/get-history-of-approval-dto.ts index 4455b00..5102b19 100644 --- a/src/app/services/api/model/get-history-of-approval-dto.ts +++ b/src/app/services/api/model/get-history-of-approval-dto.ts @@ -13,5 +13,6 @@ export interface GetHistoryOfApprovalDto { id?: number; deliveryDate?: string; expirationDate?: string; + staffId?: number; } diff --git a/src/app/services/api/model/get-provider-dto.ts b/src/app/services/api/model/get-provider-dto.ts index ebeb7d5..33ed302 100644 --- a/src/app/services/api/model/get-provider-dto.ts +++ b/src/app/services/api/model/get-provider-dto.ts @@ -13,5 +13,6 @@ export interface GetProviderDto { id?: number; price?: number; providerTypeId?: number; + providerType?: string | null; } diff --git a/src/app/services/api/model/get-staff-dto.ts b/src/app/services/api/model/get-staff-dto.ts index 231c9bc..b5a9c8b 100644 --- a/src/app/services/api/model/get-staff-dto.ts +++ b/src/app/services/api/model/get-staff-dto.ts @@ -17,5 +17,6 @@ export interface GetStaffDto { email?: string | null; f4T2NumberApproval?: string | null; f4T2ExpirationDate?: Date | null; + experienceLevel?: string | null; }