From eeecb188c74f5ca9f9607d8606f2e6ee4809e5f4 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Wed, 23 Apr 2025 13:03:33 +0700 Subject: [PATCH] add nswag --- .DS_Store | Bin 10244 -> 10244 bytes src/.DS_Store | Bin 14340 -> 14340 bytes src/Nswag/.DS_Store | Bin 0 -> 6148 bytes src/Nswag/Nswag.sln | 16 ++++++++++ src/Nswag/Nswag/.DS_Store | Bin 0 -> 6148 bytes src/Nswag/Nswag/Nswag.csproj | 14 +++++++++ src/Nswag/Nswag/Program.cs | 56 +++++++++++++++++++++++++++++++++++ 7 files changed, 86 insertions(+) create mode 100644 src/Nswag/.DS_Store create mode 100644 src/Nswag/Nswag.sln create mode 100644 src/Nswag/Nswag/.DS_Store create mode 100644 src/Nswag/Nswag/Nswag.csproj create mode 100644 src/Nswag/Nswag/Program.cs diff --git a/.DS_Store b/.DS_Store index f10db01e4de76c9eddc101118bfed9a7608edac0..9f12458f3342ce738f8a8be8641612e14cd5fb64 100644 GIT binary patch delta 390 zcmZn(XbG6$FDlHyz`)4BAi%&-#E{CM$Kb(`&rrOva2or>2Hwr=94s8>AQjvUjts>N z1q_+Usu)Tupe+mx^I#?b*&;ag7XeMGV5pq@PC$%}VLeFO(|0Uei&sS@NQM!w0b1f3aoOnxU=$SqM_ZER|( zqhM@gJULrPnz3tgyO2C%_vYn7o7t6FfPMs8h8{8?2Qu@~ delta 108 zcmV-y0F(cOP=rvBPZbRS0003101yBGbO3WnY;R*?Y;R(*ah3;>fDN+;2m}ZL4U<9; zeUnEK%#%wJV3XStI03nn6ccd_8GCy%G%_|UAT}~JlaLb|0gIEY6CVMLv&<8-2eEXm O1+xbr`UJBk76Su&7$746 diff --git a/src/.DS_Store b/src/.DS_Store index edd418b8cce1ba6bf4b9bebb10b214f360d001e1..056bab422f6d27eb79d94bb7206e1e81236f9295 100644 GIT binary patch delta 1735 zcmc&!YfKzf82!%OLTBt2W?{=?c?k-JOs>Xl4lbN~m z%{}Kk_k7>X$547GTBtf@ z<(xF=_eL~N(65i`nm_(VEmTYRaHf5xOub!Jyi$)T(k3vK)+$*s<(_ffSYCUlwMJ6> z^8SF=rv(!5T5Fx8w8_0w3Hgbj+qzA%p;GP}2~JFCM#M~n8`PbWazQ#66VdK9Bb_15 zxGuxfqVATIOVZuuA#YggoHn#@0@R|mNz#y#9*@UREq*-`497R?DOA<|7+a&?ulbkv zs_s*JxZ7SoQ{3QMc2A-L+C-R7j&7vryuDz01TplSO+@_ z;D8fFsK6cAh$^_zj27&|J`7+G2QdUcCSV|h!qsgp1~O(p2JzZ zfOB{o=Wzk=;xjDbD}0U1_yO1O3w~v(ES=>tmF2M#R?5m)IdikEtc7*3UN*??Nyukd z-o{{ZGq6$qt*zJ{@&$rEA{PDUW^=Ue+1qCI{A;sS{YSGcq{W&i)4m}q+ZpS*x@|l8 zVAf*x4y#om8-`?gUi4dDQ?tXNh|2Q4*(Lwe^#%HluF%i)r*J(DnaDvIT&TrX;c*AL z(2XAK7d{Wehmp9~LE&^5CLX|p!tG zF(!bq+FK|{KDw75%gJWXroAPQiyc%tWlMiA6g~mR7^~?J72fpwy4$l zIoq8}e!&_MXiZ$}1&1jjgj3W!4!oK=E*{Dut{#5w10O|fuWnZ3F(NkXH5 zgs4@d5LC%xs4)iQpO!mzBxAbc$)<#W5ix5P=co`dDMUobT*dKnoMS1+5xrXKv=n(n zB7?@nwV8aYmR?UcIyXDOXG*j9Qh6b7RAzXWt^MXyL9;~Hx~{E>o+;Uco9taK{suJp Bobvzx delta 1105 zcmb7?ZA?>F9LCRcih3{J;q42wVDDPe7my(>NPK4^I>pga7K*mW)RtcHYH2I2C?<~S z+*`6ly0e+=lXG+XHZs>Ob7APVFEdfM8HveAMiw=hi`k2YFOq;>S|D+8F`f_Soczyu zPX5pDJjWBq69YahOSf!b9~uqpuO-j2A1j<^?^qW>&wg9mDaivN_g zh7(aGnR2^FK{a{v<}cv*{Ds0Z(zZabUFZlXo$*+!a#&`~+PtER7eTm)Gy2MJ}9}9KMBRW%Y$zro4v2P1a?!bYt zvj2dR>Jx1oH?m07>V#6s#*1HZ9g$E<_QoU1Zbgn{Poz?*jP24H`YWVLUJP;mq}okR z;}WWQG0FS)DY2QmwZd{vjPPyIP*{%U&^=7kz3?% za-U3)Niqcu1n6Lf9ZTVY8`W5iHK@b$Xo4SY*orXrA&MB{NZ|-x!K*lmH*f+2co!^+ z5AYE_#wYj`gZLWf@C|;zC0xc&_!(pP1Gn)f#xaR0JfK=yLhaN+ozz9$w1zIDo9JfR zLW49+yXc;r35pprFVC6EZfGC-SG2Js2Ci)I@yW7mZrt*s;CUojHBU&^uLaW~(Hjbj zj8;d5t9E7GdbYE0)F26hNO*o^I$RAKEEZAyLDo`ae@ft2$td}q+$Q7XKIUT~L|9Oc zD%7fgH=$95?15K>96&p^qXRO!pkS|xJcV8yLLUy}HN1{D@fO}zfxqX$`#6bHIITiI zqhcS#=QxWmFoa=Tz<2mQi+=>a;RbI02dMW^pcqdNSTjLm5G=oBm>n}YGOYLvnAhyg zd}iLEVOIEH$q3eKG*fMxplrfu$lP&SHB6~k!s0eFJ89CgPLuC{S5Z>*NCKRCug&r5Y7Oag5#Y?F5>cNN}RBB>M4aRI~QgbMUob`o#5}(JJ z-HlYL2QMOJ24=qL?98V7rR;PVW4u2L_Ze$4#w<|8iVfx)!FALXshCI=kgGk$L7q;6 zSOzP(6!@PE;Jd4{GnTTP`E2?9y#=10kBstTfT1SvOHQ4-3$FK0=Zs#;GkShj5so2~iWIqbEC z({&bYG4FLdZE@fnEf%)5v%7bEK75Ry68WNuK(0hG@A_xd9X7Epf2TR#NfId;=<&)1`Cb4oN+UJaPwqtCKRro4*Lt0&bX_Q zEHOX~d}RPV4u4739UQX0yX`vrcmLgWQ}AR;tGh%2J>SLI!KT4ro30-X>vG|^bHXK&Wt z)lG3eo0+e__A9fcnJwT%`(~IL_vsURDu(Dhj#h@ z=hV%klpqD9fE17dQa}pap#XX|ZSkC_CCSTX0Hjw<96^Z(#?CKq7;w + + + Exe + net8.0 + enable + enable + + + + + + + diff --git a/src/Nswag/Nswag/Program.cs b/src/Nswag/Nswag/Program.cs new file mode 100644 index 0000000..d68ebf6 --- /dev/null +++ b/src/Nswag/Nswag/Program.cs @@ -0,0 +1,56 @@ +// See https://aka.ms/new-console-template for more information + +using NJsonSchema.CodeGeneration.TypeScript; +using NSwag; +using NSwag.CodeGeneration.OperationNameGenerators; +using NSwag.CodeGeneration.TypeScript; + +var document = OpenApiDocument.FromUrlAsync(("http://localhost:5000/swagger/v1/swagger.json")).Result; + +var settings = new TypeScriptClientGeneratorSettings +{ + ClassName = "{controller}Client", + ClientBaseClass = "AuthorizedApiBase", + ConfigurationClass = "IConfig", + GenerateDtoTypes = true, + UseTransformOptionsMethod = true, + TypeScriptGeneratorSettings = + { + EnumStyle = TypeScriptEnumStyle.Enum, + DateTimeType = TypeScriptDateTimeType.Date, + NullValue = TypeScriptNullValue.Null, + TypeStyle = TypeScriptTypeStyle.Interface, + GenerateDefaultValues = true, + MarkOptionalProperties = true, + TypeScriptVersion = 4.3m + }, + OperationNameGenerator = new MultipleClientsFromFirstTagAndOperationIdGenerator(), + Template = TypeScriptTemplate.Fetch, +}; + +var generatorApiClient = new TypeScriptClientGenerator(document, settings); +var codeApiClient = generatorApiClient.GenerateFile(); +File.WriteAllText("ManagingApi.ts", codeApiClient); + +var settingsTypes = new TypeScriptClientGeneratorSettings +{ + GenerateDtoTypes = true, + TypeScriptGeneratorSettings = + { + EnumStyle = TypeScriptEnumStyle.Enum, + DateTimeType = TypeScriptDateTimeType.Date, + NullValue = TypeScriptNullValue.Null, + TypeStyle = TypeScriptTypeStyle.Interface, + GenerateDefaultValues = true, + MarkOptionalProperties = true, + TypeScriptVersion = 4.3m + }, + GenerateClientClasses = false, + GenerateClientInterfaces = false, + GenerateOptionalParameters = false, + GenerateResponseClasses = false, +}; + +var generatorTypes = new TypeScriptClientGenerator(document, settingsTypes); +var codeTypes = generatorTypes.GenerateFile(); +File.WriteAllText("ManagingApiTypes.ts", codeTypes); \ No newline at end of file