diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e68affe2..00000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -**/bin -**/obj -**/.DS_Store -**/.vs diff --git a/Appwrite/Appwrite.csproj b/Appwrite/Appwrite.csproj index dbbe6fa0..d95b4003 100644 --- a/Appwrite/Appwrite.csproj +++ b/Appwrite/Appwrite.csproj @@ -2,7 +2,7 @@ netstandard2.0;net462 Appwrite - 0.22.0 + 0.23.0 Appwrite Team Appwrite Team diff --git a/Appwrite/Client.cs b/Appwrite/Client.cs index a6e84def..33951355 100644 --- a/Appwrite/Client.cs +++ b/Appwrite/Client.cs @@ -69,11 +69,11 @@ public Client( _headers = new Dictionary() { { "content-type", "application/json" }, - { "user-agent" , $"AppwriteDotNetSDK/0.22.0 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"}, + { "user-agent" , $"AppwriteDotNetSDK/0.23.0 ({Environment.OSVersion.Platform}; {Environment.OSVersion.VersionString})"}, { "x-sdk-name", ".NET" }, { "x-sdk-platform", "server" }, { "x-sdk-language", "dotnet" }, - { "x-sdk-version", "0.22.0"}, + { "x-sdk-version", "0.23.0"}, { "X-Appwrite-Response-Format", "1.8.0" } }; diff --git a/Appwrite/Enums/BuildRuntime.cs b/Appwrite/Enums/BuildRuntime.cs index 52e2277d..c71e7d4c 100644 --- a/Appwrite/Enums/BuildRuntime.cs +++ b/Appwrite/Enums/BuildRuntime.cs @@ -49,6 +49,7 @@ public BuildRuntime(string value) public static BuildRuntime Dart33 => new BuildRuntime("dart-3.3"); public static BuildRuntime Dart35 => new BuildRuntime("dart-3.5"); public static BuildRuntime Dart38 => new BuildRuntime("dart-3.8"); + public static BuildRuntime Dart39 => new BuildRuntime("dart-3.9"); public static BuildRuntime Dotnet60 => new BuildRuntime("dotnet-6.0"); public static BuildRuntime Dotnet70 => new BuildRuntime("dotnet-7.0"); public static BuildRuntime Dotnet80 => new BuildRuntime("dotnet-8.0"); @@ -76,5 +77,6 @@ public BuildRuntime(string value) public static BuildRuntime Flutter327 => new BuildRuntime("flutter-3.27"); public static BuildRuntime Flutter329 => new BuildRuntime("flutter-3.29"); public static BuildRuntime Flutter332 => new BuildRuntime("flutter-3.32"); + public static BuildRuntime Flutter335 => new BuildRuntime("flutter-3.35"); } } diff --git a/Appwrite/Enums/Output.cs b/Appwrite/Enums/Output.cs new file mode 100644 index 00000000..73cb1ef9 --- /dev/null +++ b/Appwrite/Enums/Output.cs @@ -0,0 +1,22 @@ +using System; + +namespace Appwrite.Enums +{ + public class Output : IEnum + { + public string Value { get; private set; } + + public Output(string value) + { + Value = value; + } + + public static Output Jpg => new Output("jpg"); + public static Output Jpeg => new Output("jpeg"); + public static Output Png => new Output("png"); + public static Output Webp => new Output("webp"); + public static Output Heic => new Output("heic"); + public static Output Avif => new Output("avif"); + public static Output Gif => new Output("gif"); + } +} diff --git a/Appwrite/Enums/Runtime.cs b/Appwrite/Enums/Runtime.cs index 09d17504..3dc74510 100644 --- a/Appwrite/Enums/Runtime.cs +++ b/Appwrite/Enums/Runtime.cs @@ -49,6 +49,7 @@ public Runtime(string value) public static Runtime Dart33 => new Runtime("dart-3.3"); public static Runtime Dart35 => new Runtime("dart-3.5"); public static Runtime Dart38 => new Runtime("dart-3.8"); + public static Runtime Dart39 => new Runtime("dart-3.9"); public static Runtime Dotnet60 => new Runtime("dotnet-6.0"); public static Runtime Dotnet70 => new Runtime("dotnet-7.0"); public static Runtime Dotnet80 => new Runtime("dotnet-8.0"); @@ -76,5 +77,6 @@ public Runtime(string value) public static Runtime Flutter327 => new Runtime("flutter-3.27"); public static Runtime Flutter329 => new Runtime("flutter-3.29"); public static Runtime Flutter332 => new Runtime("flutter-3.32"); + public static Runtime Flutter335 => new Runtime("flutter-3.35"); } } diff --git a/Appwrite/Enums/TemplateReferenceType.cs b/Appwrite/Enums/TemplateReferenceType.cs new file mode 100644 index 00000000..36b1f7d7 --- /dev/null +++ b/Appwrite/Enums/TemplateReferenceType.cs @@ -0,0 +1,18 @@ +using System; + +namespace Appwrite.Enums +{ + public class TemplateReferenceType : IEnum + { + public string Value { get; private set; } + + public TemplateReferenceType(string value) + { + Value = value; + } + + public static TemplateReferenceType Branch => new TemplateReferenceType("branch"); + public static TemplateReferenceType Commit => new TemplateReferenceType("commit"); + public static TemplateReferenceType Tag => new TemplateReferenceType("tag"); + } +} diff --git a/Appwrite/Enums/Theme.cs b/Appwrite/Enums/Theme.cs new file mode 100644 index 00000000..2bd3a50d --- /dev/null +++ b/Appwrite/Enums/Theme.cs @@ -0,0 +1,17 @@ +using System; + +namespace Appwrite.Enums +{ + public class Theme : IEnum + { + public string Value { get; private set; } + + public Theme(string value) + { + Value = value; + } + + public static Theme Light => new Theme("light"); + public static Theme Dark => new Theme("dark"); + } +} diff --git a/Appwrite/Enums/Timezone.cs b/Appwrite/Enums/Timezone.cs new file mode 100644 index 00000000..8d4acdfa --- /dev/null +++ b/Appwrite/Enums/Timezone.cs @@ -0,0 +1,434 @@ +using System; + +namespace Appwrite.Enums +{ + public class Timezone : IEnum + { + public string Value { get; private set; } + + public Timezone(string value) + { + Value = value; + } + + public static Timezone AfricaAbidjan => new Timezone("africa/abidjan"); + public static Timezone AfricaAccra => new Timezone("africa/accra"); + public static Timezone AfricaAddisAbaba => new Timezone("africa/addis_ababa"); + public static Timezone AfricaAlgiers => new Timezone("africa/algiers"); + public static Timezone AfricaAsmara => new Timezone("africa/asmara"); + public static Timezone AfricaBamako => new Timezone("africa/bamako"); + public static Timezone AfricaBangui => new Timezone("africa/bangui"); + public static Timezone AfricaBanjul => new Timezone("africa/banjul"); + public static Timezone AfricaBissau => new Timezone("africa/bissau"); + public static Timezone AfricaBlantyre => new Timezone("africa/blantyre"); + public static Timezone AfricaBrazzaville => new Timezone("africa/brazzaville"); + public static Timezone AfricaBujumbura => new Timezone("africa/bujumbura"); + public static Timezone AfricaCairo => new Timezone("africa/cairo"); + public static Timezone AfricaCasablanca => new Timezone("africa/casablanca"); + public static Timezone AfricaCeuta => new Timezone("africa/ceuta"); + public static Timezone AfricaConakry => new Timezone("africa/conakry"); + public static Timezone AfricaDakar => new Timezone("africa/dakar"); + public static Timezone AfricaDarEsSalaam => new Timezone("africa/dar_es_salaam"); + public static Timezone AfricaDjibouti => new Timezone("africa/djibouti"); + public static Timezone AfricaDouala => new Timezone("africa/douala"); + public static Timezone AfricaElAaiun => new Timezone("africa/el_aaiun"); + public static Timezone AfricaFreetown => new Timezone("africa/freetown"); + public static Timezone AfricaGaborone => new Timezone("africa/gaborone"); + public static Timezone AfricaHarare => new Timezone("africa/harare"); + public static Timezone AfricaJohannesburg => new Timezone("africa/johannesburg"); + public static Timezone AfricaJuba => new Timezone("africa/juba"); + public static Timezone AfricaKampala => new Timezone("africa/kampala"); + public static Timezone AfricaKhartoum => new Timezone("africa/khartoum"); + public static Timezone AfricaKigali => new Timezone("africa/kigali"); + public static Timezone AfricaKinshasa => new Timezone("africa/kinshasa"); + public static Timezone AfricaLagos => new Timezone("africa/lagos"); + public static Timezone AfricaLibreville => new Timezone("africa/libreville"); + public static Timezone AfricaLome => new Timezone("africa/lome"); + public static Timezone AfricaLuanda => new Timezone("africa/luanda"); + public static Timezone AfricaLubumbashi => new Timezone("africa/lubumbashi"); + public static Timezone AfricaLusaka => new Timezone("africa/lusaka"); + public static Timezone AfricaMalabo => new Timezone("africa/malabo"); + public static Timezone AfricaMaputo => new Timezone("africa/maputo"); + public static Timezone AfricaMaseru => new Timezone("africa/maseru"); + public static Timezone AfricaMbabane => new Timezone("africa/mbabane"); + public static Timezone AfricaMogadishu => new Timezone("africa/mogadishu"); + public static Timezone AfricaMonrovia => new Timezone("africa/monrovia"); + public static Timezone AfricaNairobi => new Timezone("africa/nairobi"); + public static Timezone AfricaNdjamena => new Timezone("africa/ndjamena"); + public static Timezone AfricaNiamey => new Timezone("africa/niamey"); + public static Timezone AfricaNouakchott => new Timezone("africa/nouakchott"); + public static Timezone AfricaOuagadougou => new Timezone("africa/ouagadougou"); + public static Timezone AfricaPortoNovo => new Timezone("africa/porto-novo"); + public static Timezone AfricaSaoTome => new Timezone("africa/sao_tome"); + public static Timezone AfricaTripoli => new Timezone("africa/tripoli"); + public static Timezone AfricaTunis => new Timezone("africa/tunis"); + public static Timezone AfricaWindhoek => new Timezone("africa/windhoek"); + public static Timezone AmericaAdak => new Timezone("america/adak"); + public static Timezone AmericaAnchorage => new Timezone("america/anchorage"); + public static Timezone AmericaAnguilla => new Timezone("america/anguilla"); + public static Timezone AmericaAntigua => new Timezone("america/antigua"); + public static Timezone AmericaAraguaina => new Timezone("america/araguaina"); + public static Timezone AmericaArgentinaBuenosAires => new Timezone("america/argentina/buenos_aires"); + public static Timezone AmericaArgentinaCatamarca => new Timezone("america/argentina/catamarca"); + public static Timezone AmericaArgentinaCordoba => new Timezone("america/argentina/cordoba"); + public static Timezone AmericaArgentinaJujuy => new Timezone("america/argentina/jujuy"); + public static Timezone AmericaArgentinaLaRioja => new Timezone("america/argentina/la_rioja"); + public static Timezone AmericaArgentinaMendoza => new Timezone("america/argentina/mendoza"); + public static Timezone AmericaArgentinaRioGallegos => new Timezone("america/argentina/rio_gallegos"); + public static Timezone AmericaArgentinaSalta => new Timezone("america/argentina/salta"); + public static Timezone AmericaArgentinaSanJuan => new Timezone("america/argentina/san_juan"); + public static Timezone AmericaArgentinaSanLuis => new Timezone("america/argentina/san_luis"); + public static Timezone AmericaArgentinaTucuman => new Timezone("america/argentina/tucuman"); + public static Timezone AmericaArgentinaUshuaia => new Timezone("america/argentina/ushuaia"); + public static Timezone AmericaAruba => new Timezone("america/aruba"); + public static Timezone AmericaAsuncion => new Timezone("america/asuncion"); + public static Timezone AmericaAtikokan => new Timezone("america/atikokan"); + public static Timezone AmericaBahia => new Timezone("america/bahia"); + public static Timezone AmericaBahiaBanderas => new Timezone("america/bahia_banderas"); + public static Timezone AmericaBarbados => new Timezone("america/barbados"); + public static Timezone AmericaBelem => new Timezone("america/belem"); + public static Timezone AmericaBelize => new Timezone("america/belize"); + public static Timezone AmericaBlancSablon => new Timezone("america/blanc-sablon"); + public static Timezone AmericaBoaVista => new Timezone("america/boa_vista"); + public static Timezone AmericaBogota => new Timezone("america/bogota"); + public static Timezone AmericaBoise => new Timezone("america/boise"); + public static Timezone AmericaCambridgeBay => new Timezone("america/cambridge_bay"); + public static Timezone AmericaCampoGrande => new Timezone("america/campo_grande"); + public static Timezone AmericaCancun => new Timezone("america/cancun"); + public static Timezone AmericaCaracas => new Timezone("america/caracas"); + public static Timezone AmericaCayenne => new Timezone("america/cayenne"); + public static Timezone AmericaCayman => new Timezone("america/cayman"); + public static Timezone AmericaChicago => new Timezone("america/chicago"); + public static Timezone AmericaChihuahua => new Timezone("america/chihuahua"); + public static Timezone AmericaCiudadJuarez => new Timezone("america/ciudad_juarez"); + public static Timezone AmericaCostaRica => new Timezone("america/costa_rica"); + public static Timezone AmericaCoyhaique => new Timezone("america/coyhaique"); + public static Timezone AmericaCreston => new Timezone("america/creston"); + public static Timezone AmericaCuiaba => new Timezone("america/cuiaba"); + public static Timezone AmericaCuracao => new Timezone("america/curacao"); + public static Timezone AmericaDanmarkshavn => new Timezone("america/danmarkshavn"); + public static Timezone AmericaDawson => new Timezone("america/dawson"); + public static Timezone AmericaDawsonCreek => new Timezone("america/dawson_creek"); + public static Timezone AmericaDenver => new Timezone("america/denver"); + public static Timezone AmericaDetroit => new Timezone("america/detroit"); + public static Timezone AmericaDominica => new Timezone("america/dominica"); + public static Timezone AmericaEdmonton => new Timezone("america/edmonton"); + public static Timezone AmericaEirunepe => new Timezone("america/eirunepe"); + public static Timezone AmericaElSalvador => new Timezone("america/el_salvador"); + public static Timezone AmericaFortNelson => new Timezone("america/fort_nelson"); + public static Timezone AmericaFortaleza => new Timezone("america/fortaleza"); + public static Timezone AmericaGlaceBay => new Timezone("america/glace_bay"); + public static Timezone AmericaGooseBay => new Timezone("america/goose_bay"); + public static Timezone AmericaGrandTurk => new Timezone("america/grand_turk"); + public static Timezone AmericaGrenada => new Timezone("america/grenada"); + public static Timezone AmericaGuadeloupe => new Timezone("america/guadeloupe"); + public static Timezone AmericaGuatemala => new Timezone("america/guatemala"); + public static Timezone AmericaGuayaquil => new Timezone("america/guayaquil"); + public static Timezone AmericaGuyana => new Timezone("america/guyana"); + public static Timezone AmericaHalifax => new Timezone("america/halifax"); + public static Timezone AmericaHavana => new Timezone("america/havana"); + public static Timezone AmericaHermosillo => new Timezone("america/hermosillo"); + public static Timezone AmericaIndianaIndianapolis => new Timezone("america/indiana/indianapolis"); + public static Timezone AmericaIndianaKnox => new Timezone("america/indiana/knox"); + public static Timezone AmericaIndianaMarengo => new Timezone("america/indiana/marengo"); + public static Timezone AmericaIndianaPetersburg => new Timezone("america/indiana/petersburg"); + public static Timezone AmericaIndianaTellCity => new Timezone("america/indiana/tell_city"); + public static Timezone AmericaIndianaVevay => new Timezone("america/indiana/vevay"); + public static Timezone AmericaIndianaVincennes => new Timezone("america/indiana/vincennes"); + public static Timezone AmericaIndianaWinamac => new Timezone("america/indiana/winamac"); + public static Timezone AmericaInuvik => new Timezone("america/inuvik"); + public static Timezone AmericaIqaluit => new Timezone("america/iqaluit"); + public static Timezone AmericaJamaica => new Timezone("america/jamaica"); + public static Timezone AmericaJuneau => new Timezone("america/juneau"); + public static Timezone AmericaKentuckyLouisville => new Timezone("america/kentucky/louisville"); + public static Timezone AmericaKentuckyMonticello => new Timezone("america/kentucky/monticello"); + public static Timezone AmericaKralendijk => new Timezone("america/kralendijk"); + public static Timezone AmericaLaPaz => new Timezone("america/la_paz"); + public static Timezone AmericaLima => new Timezone("america/lima"); + public static Timezone AmericaLosAngeles => new Timezone("america/los_angeles"); + public static Timezone AmericaLowerPrinces => new Timezone("america/lower_princes"); + public static Timezone AmericaMaceio => new Timezone("america/maceio"); + public static Timezone AmericaManagua => new Timezone("america/managua"); + public static Timezone AmericaManaus => new Timezone("america/manaus"); + public static Timezone AmericaMarigot => new Timezone("america/marigot"); + public static Timezone AmericaMartinique => new Timezone("america/martinique"); + public static Timezone AmericaMatamoros => new Timezone("america/matamoros"); + public static Timezone AmericaMazatlan => new Timezone("america/mazatlan"); + public static Timezone AmericaMenominee => new Timezone("america/menominee"); + public static Timezone AmericaMerida => new Timezone("america/merida"); + public static Timezone AmericaMetlakatla => new Timezone("america/metlakatla"); + public static Timezone AmericaMexicoCity => new Timezone("america/mexico_city"); + public static Timezone AmericaMiquelon => new Timezone("america/miquelon"); + public static Timezone AmericaMoncton => new Timezone("america/moncton"); + public static Timezone AmericaMonterrey => new Timezone("america/monterrey"); + public static Timezone AmericaMontevideo => new Timezone("america/montevideo"); + public static Timezone AmericaMontserrat => new Timezone("america/montserrat"); + public static Timezone AmericaNassau => new Timezone("america/nassau"); + public static Timezone AmericaNewYork => new Timezone("america/new_york"); + public static Timezone AmericaNome => new Timezone("america/nome"); + public static Timezone AmericaNoronha => new Timezone("america/noronha"); + public static Timezone AmericaNorthDakotaBeulah => new Timezone("america/north_dakota/beulah"); + public static Timezone AmericaNorthDakotaCenter => new Timezone("america/north_dakota/center"); + public static Timezone AmericaNorthDakotaNewSalem => new Timezone("america/north_dakota/new_salem"); + public static Timezone AmericaNuuk => new Timezone("america/nuuk"); + public static Timezone AmericaOjinaga => new Timezone("america/ojinaga"); + public static Timezone AmericaPanama => new Timezone("america/panama"); + public static Timezone AmericaParamaribo => new Timezone("america/paramaribo"); + public static Timezone AmericaPhoenix => new Timezone("america/phoenix"); + public static Timezone AmericaPortAuPrince => new Timezone("america/port-au-prince"); + public static Timezone AmericaPortOfSpain => new Timezone("america/port_of_spain"); + public static Timezone AmericaPortoVelho => new Timezone("america/porto_velho"); + public static Timezone AmericaPuertoRico => new Timezone("america/puerto_rico"); + public static Timezone AmericaPuntaArenas => new Timezone("america/punta_arenas"); + public static Timezone AmericaRankinInlet => new Timezone("america/rankin_inlet"); + public static Timezone AmericaRecife => new Timezone("america/recife"); + public static Timezone AmericaRegina => new Timezone("america/regina"); + public static Timezone AmericaResolute => new Timezone("america/resolute"); + public static Timezone AmericaRioBranco => new Timezone("america/rio_branco"); + public static Timezone AmericaSantarem => new Timezone("america/santarem"); + public static Timezone AmericaSantiago => new Timezone("america/santiago"); + public static Timezone AmericaSantoDomingo => new Timezone("america/santo_domingo"); + public static Timezone AmericaSaoPaulo => new Timezone("america/sao_paulo"); + public static Timezone AmericaScoresbysund => new Timezone("america/scoresbysund"); + public static Timezone AmericaSitka => new Timezone("america/sitka"); + public static Timezone AmericaStBarthelemy => new Timezone("america/st_barthelemy"); + public static Timezone AmericaStJohns => new Timezone("america/st_johns"); + public static Timezone AmericaStKitts => new Timezone("america/st_kitts"); + public static Timezone AmericaStLucia => new Timezone("america/st_lucia"); + public static Timezone AmericaStThomas => new Timezone("america/st_thomas"); + public static Timezone AmericaStVincent => new Timezone("america/st_vincent"); + public static Timezone AmericaSwiftCurrent => new Timezone("america/swift_current"); + public static Timezone AmericaTegucigalpa => new Timezone("america/tegucigalpa"); + public static Timezone AmericaThule => new Timezone("america/thule"); + public static Timezone AmericaTijuana => new Timezone("america/tijuana"); + public static Timezone AmericaToronto => new Timezone("america/toronto"); + public static Timezone AmericaTortola => new Timezone("america/tortola"); + public static Timezone AmericaVancouver => new Timezone("america/vancouver"); + public static Timezone AmericaWhitehorse => new Timezone("america/whitehorse"); + public static Timezone AmericaWinnipeg => new Timezone("america/winnipeg"); + public static Timezone AmericaYakutat => new Timezone("america/yakutat"); + public static Timezone AntarcticaCasey => new Timezone("antarctica/casey"); + public static Timezone AntarcticaDavis => new Timezone("antarctica/davis"); + public static Timezone AntarcticaDumontdurville => new Timezone("antarctica/dumontdurville"); + public static Timezone AntarcticaMacquarie => new Timezone("antarctica/macquarie"); + public static Timezone AntarcticaMawson => new Timezone("antarctica/mawson"); + public static Timezone AntarcticaMcmurdo => new Timezone("antarctica/mcmurdo"); + public static Timezone AntarcticaPalmer => new Timezone("antarctica/palmer"); + public static Timezone AntarcticaRothera => new Timezone("antarctica/rothera"); + public static Timezone AntarcticaSyowa => new Timezone("antarctica/syowa"); + public static Timezone AntarcticaTroll => new Timezone("antarctica/troll"); + public static Timezone AntarcticaVostok => new Timezone("antarctica/vostok"); + public static Timezone ArcticLongyearbyen => new Timezone("arctic/longyearbyen"); + public static Timezone AsiaAden => new Timezone("asia/aden"); + public static Timezone AsiaAlmaty => new Timezone("asia/almaty"); + public static Timezone AsiaAmman => new Timezone("asia/amman"); + public static Timezone AsiaAnadyr => new Timezone("asia/anadyr"); + public static Timezone AsiaAqtau => new Timezone("asia/aqtau"); + public static Timezone AsiaAqtobe => new Timezone("asia/aqtobe"); + public static Timezone AsiaAshgabat => new Timezone("asia/ashgabat"); + public static Timezone AsiaAtyrau => new Timezone("asia/atyrau"); + public static Timezone AsiaBaghdad => new Timezone("asia/baghdad"); + public static Timezone AsiaBahrain => new Timezone("asia/bahrain"); + public static Timezone AsiaBaku => new Timezone("asia/baku"); + public static Timezone AsiaBangkok => new Timezone("asia/bangkok"); + public static Timezone AsiaBarnaul => new Timezone("asia/barnaul"); + public static Timezone AsiaBeirut => new Timezone("asia/beirut"); + public static Timezone AsiaBishkek => new Timezone("asia/bishkek"); + public static Timezone AsiaBrunei => new Timezone("asia/brunei"); + public static Timezone AsiaChita => new Timezone("asia/chita"); + public static Timezone AsiaColombo => new Timezone("asia/colombo"); + public static Timezone AsiaDamascus => new Timezone("asia/damascus"); + public static Timezone AsiaDhaka => new Timezone("asia/dhaka"); + public static Timezone AsiaDili => new Timezone("asia/dili"); + public static Timezone AsiaDubai => new Timezone("asia/dubai"); + public static Timezone AsiaDushanbe => new Timezone("asia/dushanbe"); + public static Timezone AsiaFamagusta => new Timezone("asia/famagusta"); + public static Timezone AsiaGaza => new Timezone("asia/gaza"); + public static Timezone AsiaHebron => new Timezone("asia/hebron"); + public static Timezone AsiaHoChiMinh => new Timezone("asia/ho_chi_minh"); + public static Timezone AsiaHongKong => new Timezone("asia/hong_kong"); + public static Timezone AsiaHovd => new Timezone("asia/hovd"); + public static Timezone AsiaIrkutsk => new Timezone("asia/irkutsk"); + public static Timezone AsiaJakarta => new Timezone("asia/jakarta"); + public static Timezone AsiaJayapura => new Timezone("asia/jayapura"); + public static Timezone AsiaJerusalem => new Timezone("asia/jerusalem"); + public static Timezone AsiaKabul => new Timezone("asia/kabul"); + public static Timezone AsiaKamchatka => new Timezone("asia/kamchatka"); + public static Timezone AsiaKarachi => new Timezone("asia/karachi"); + public static Timezone AsiaKathmandu => new Timezone("asia/kathmandu"); + public static Timezone AsiaKhandyga => new Timezone("asia/khandyga"); + public static Timezone AsiaKolkata => new Timezone("asia/kolkata"); + public static Timezone AsiaKrasnoyarsk => new Timezone("asia/krasnoyarsk"); + public static Timezone AsiaKualaLumpur => new Timezone("asia/kuala_lumpur"); + public static Timezone AsiaKuching => new Timezone("asia/kuching"); + public static Timezone AsiaKuwait => new Timezone("asia/kuwait"); + public static Timezone AsiaMacau => new Timezone("asia/macau"); + public static Timezone AsiaMagadan => new Timezone("asia/magadan"); + public static Timezone AsiaMakassar => new Timezone("asia/makassar"); + public static Timezone AsiaManila => new Timezone("asia/manila"); + public static Timezone AsiaMuscat => new Timezone("asia/muscat"); + public static Timezone AsiaNicosia => new Timezone("asia/nicosia"); + public static Timezone AsiaNovokuznetsk => new Timezone("asia/novokuznetsk"); + public static Timezone AsiaNovosibirsk => new Timezone("asia/novosibirsk"); + public static Timezone AsiaOmsk => new Timezone("asia/omsk"); + public static Timezone AsiaOral => new Timezone("asia/oral"); + public static Timezone AsiaPhnomPenh => new Timezone("asia/phnom_penh"); + public static Timezone AsiaPontianak => new Timezone("asia/pontianak"); + public static Timezone AsiaPyongyang => new Timezone("asia/pyongyang"); + public static Timezone AsiaQatar => new Timezone("asia/qatar"); + public static Timezone AsiaQostanay => new Timezone("asia/qostanay"); + public static Timezone AsiaQyzylorda => new Timezone("asia/qyzylorda"); + public static Timezone AsiaRiyadh => new Timezone("asia/riyadh"); + public static Timezone AsiaSakhalin => new Timezone("asia/sakhalin"); + public static Timezone AsiaSamarkand => new Timezone("asia/samarkand"); + public static Timezone AsiaSeoul => new Timezone("asia/seoul"); + public static Timezone AsiaShanghai => new Timezone("asia/shanghai"); + public static Timezone AsiaSingapore => new Timezone("asia/singapore"); + public static Timezone AsiaSrednekolymsk => new Timezone("asia/srednekolymsk"); + public static Timezone AsiaTaipei => new Timezone("asia/taipei"); + public static Timezone AsiaTashkent => new Timezone("asia/tashkent"); + public static Timezone AsiaTbilisi => new Timezone("asia/tbilisi"); + public static Timezone AsiaTehran => new Timezone("asia/tehran"); + public static Timezone AsiaThimphu => new Timezone("asia/thimphu"); + public static Timezone AsiaTokyo => new Timezone("asia/tokyo"); + public static Timezone AsiaTomsk => new Timezone("asia/tomsk"); + public static Timezone AsiaUlaanbaatar => new Timezone("asia/ulaanbaatar"); + public static Timezone AsiaUrumqi => new Timezone("asia/urumqi"); + public static Timezone AsiaUstNera => new Timezone("asia/ust-nera"); + public static Timezone AsiaVientiane => new Timezone("asia/vientiane"); + public static Timezone AsiaVladivostok => new Timezone("asia/vladivostok"); + public static Timezone AsiaYakutsk => new Timezone("asia/yakutsk"); + public static Timezone AsiaYangon => new Timezone("asia/yangon"); + public static Timezone AsiaYekaterinburg => new Timezone("asia/yekaterinburg"); + public static Timezone AsiaYerevan => new Timezone("asia/yerevan"); + public static Timezone AtlanticAzores => new Timezone("atlantic/azores"); + public static Timezone AtlanticBermuda => new Timezone("atlantic/bermuda"); + public static Timezone AtlanticCanary => new Timezone("atlantic/canary"); + public static Timezone AtlanticCapeVerde => new Timezone("atlantic/cape_verde"); + public static Timezone AtlanticFaroe => new Timezone("atlantic/faroe"); + public static Timezone AtlanticMadeira => new Timezone("atlantic/madeira"); + public static Timezone AtlanticReykjavik => new Timezone("atlantic/reykjavik"); + public static Timezone AtlanticSouthGeorgia => new Timezone("atlantic/south_georgia"); + public static Timezone AtlanticStHelena => new Timezone("atlantic/st_helena"); + public static Timezone AtlanticStanley => new Timezone("atlantic/stanley"); + public static Timezone AustraliaAdelaide => new Timezone("australia/adelaide"); + public static Timezone AustraliaBrisbane => new Timezone("australia/brisbane"); + public static Timezone AustraliaBrokenHill => new Timezone("australia/broken_hill"); + public static Timezone AustraliaDarwin => new Timezone("australia/darwin"); + public static Timezone AustraliaEucla => new Timezone("australia/eucla"); + public static Timezone AustraliaHobart => new Timezone("australia/hobart"); + public static Timezone AustraliaLindeman => new Timezone("australia/lindeman"); + public static Timezone AustraliaLordHowe => new Timezone("australia/lord_howe"); + public static Timezone AustraliaMelbourne => new Timezone("australia/melbourne"); + public static Timezone AustraliaPerth => new Timezone("australia/perth"); + public static Timezone AustraliaSydney => new Timezone("australia/sydney"); + public static Timezone EuropeAmsterdam => new Timezone("europe/amsterdam"); + public static Timezone EuropeAndorra => new Timezone("europe/andorra"); + public static Timezone EuropeAstrakhan => new Timezone("europe/astrakhan"); + public static Timezone EuropeAthens => new Timezone("europe/athens"); + public static Timezone EuropeBelgrade => new Timezone("europe/belgrade"); + public static Timezone EuropeBerlin => new Timezone("europe/berlin"); + public static Timezone EuropeBratislava => new Timezone("europe/bratislava"); + public static Timezone EuropeBrussels => new Timezone("europe/brussels"); + public static Timezone EuropeBucharest => new Timezone("europe/bucharest"); + public static Timezone EuropeBudapest => new Timezone("europe/budapest"); + public static Timezone EuropeBusingen => new Timezone("europe/busingen"); + public static Timezone EuropeChisinau => new Timezone("europe/chisinau"); + public static Timezone EuropeCopenhagen => new Timezone("europe/copenhagen"); + public static Timezone EuropeDublin => new Timezone("europe/dublin"); + public static Timezone EuropeGibraltar => new Timezone("europe/gibraltar"); + public static Timezone EuropeGuernsey => new Timezone("europe/guernsey"); + public static Timezone EuropeHelsinki => new Timezone("europe/helsinki"); + public static Timezone EuropeIsleOfMan => new Timezone("europe/isle_of_man"); + public static Timezone EuropeIstanbul => new Timezone("europe/istanbul"); + public static Timezone EuropeJersey => new Timezone("europe/jersey"); + public static Timezone EuropeKaliningrad => new Timezone("europe/kaliningrad"); + public static Timezone EuropeKirov => new Timezone("europe/kirov"); + public static Timezone EuropeKyiv => new Timezone("europe/kyiv"); + public static Timezone EuropeLisbon => new Timezone("europe/lisbon"); + public static Timezone EuropeLjubljana => new Timezone("europe/ljubljana"); + public static Timezone EuropeLondon => new Timezone("europe/london"); + public static Timezone EuropeLuxembourg => new Timezone("europe/luxembourg"); + public static Timezone EuropeMadrid => new Timezone("europe/madrid"); + public static Timezone EuropeMalta => new Timezone("europe/malta"); + public static Timezone EuropeMariehamn => new Timezone("europe/mariehamn"); + public static Timezone EuropeMinsk => new Timezone("europe/minsk"); + public static Timezone EuropeMonaco => new Timezone("europe/monaco"); + public static Timezone EuropeMoscow => new Timezone("europe/moscow"); + public static Timezone EuropeOslo => new Timezone("europe/oslo"); + public static Timezone EuropeParis => new Timezone("europe/paris"); + public static Timezone EuropePodgorica => new Timezone("europe/podgorica"); + public static Timezone EuropePrague => new Timezone("europe/prague"); + public static Timezone EuropeRiga => new Timezone("europe/riga"); + public static Timezone EuropeRome => new Timezone("europe/rome"); + public static Timezone EuropeSamara => new Timezone("europe/samara"); + public static Timezone EuropeSanMarino => new Timezone("europe/san_marino"); + public static Timezone EuropeSarajevo => new Timezone("europe/sarajevo"); + public static Timezone EuropeSaratov => new Timezone("europe/saratov"); + public static Timezone EuropeSimferopol => new Timezone("europe/simferopol"); + public static Timezone EuropeSkopje => new Timezone("europe/skopje"); + public static Timezone EuropeSofia => new Timezone("europe/sofia"); + public static Timezone EuropeStockholm => new Timezone("europe/stockholm"); + public static Timezone EuropeTallinn => new Timezone("europe/tallinn"); + public static Timezone EuropeTirane => new Timezone("europe/tirane"); + public static Timezone EuropeUlyanovsk => new Timezone("europe/ulyanovsk"); + public static Timezone EuropeVaduz => new Timezone("europe/vaduz"); + public static Timezone EuropeVatican => new Timezone("europe/vatican"); + public static Timezone EuropeVienna => new Timezone("europe/vienna"); + public static Timezone EuropeVilnius => new Timezone("europe/vilnius"); + public static Timezone EuropeVolgograd => new Timezone("europe/volgograd"); + public static Timezone EuropeWarsaw => new Timezone("europe/warsaw"); + public static Timezone EuropeZagreb => new Timezone("europe/zagreb"); + public static Timezone EuropeZurich => new Timezone("europe/zurich"); + public static Timezone IndianAntananarivo => new Timezone("indian/antananarivo"); + public static Timezone IndianChagos => new Timezone("indian/chagos"); + public static Timezone IndianChristmas => new Timezone("indian/christmas"); + public static Timezone IndianCocos => new Timezone("indian/cocos"); + public static Timezone IndianComoro => new Timezone("indian/comoro"); + public static Timezone IndianKerguelen => new Timezone("indian/kerguelen"); + public static Timezone IndianMahe => new Timezone("indian/mahe"); + public static Timezone IndianMaldives => new Timezone("indian/maldives"); + public static Timezone IndianMauritius => new Timezone("indian/mauritius"); + public static Timezone IndianMayotte => new Timezone("indian/mayotte"); + public static Timezone IndianReunion => new Timezone("indian/reunion"); + public static Timezone PacificApia => new Timezone("pacific/apia"); + public static Timezone PacificAuckland => new Timezone("pacific/auckland"); + public static Timezone PacificBougainville => new Timezone("pacific/bougainville"); + public static Timezone PacificChatham => new Timezone("pacific/chatham"); + public static Timezone PacificChuuk => new Timezone("pacific/chuuk"); + public static Timezone PacificEaster => new Timezone("pacific/easter"); + public static Timezone PacificEfate => new Timezone("pacific/efate"); + public static Timezone PacificFakaofo => new Timezone("pacific/fakaofo"); + public static Timezone PacificFiji => new Timezone("pacific/fiji"); + public static Timezone PacificFunafuti => new Timezone("pacific/funafuti"); + public static Timezone PacificGalapagos => new Timezone("pacific/galapagos"); + public static Timezone PacificGambier => new Timezone("pacific/gambier"); + public static Timezone PacificGuadalcanal => new Timezone("pacific/guadalcanal"); + public static Timezone PacificGuam => new Timezone("pacific/guam"); + public static Timezone PacificHonolulu => new Timezone("pacific/honolulu"); + public static Timezone PacificKanton => new Timezone("pacific/kanton"); + public static Timezone PacificKiritimati => new Timezone("pacific/kiritimati"); + public static Timezone PacificKosrae => new Timezone("pacific/kosrae"); + public static Timezone PacificKwajalein => new Timezone("pacific/kwajalein"); + public static Timezone PacificMajuro => new Timezone("pacific/majuro"); + public static Timezone PacificMarquesas => new Timezone("pacific/marquesas"); + public static Timezone PacificMidway => new Timezone("pacific/midway"); + public static Timezone PacificNauru => new Timezone("pacific/nauru"); + public static Timezone PacificNiue => new Timezone("pacific/niue"); + public static Timezone PacificNorfolk => new Timezone("pacific/norfolk"); + public static Timezone PacificNoumea => new Timezone("pacific/noumea"); + public static Timezone PacificPagoPago => new Timezone("pacific/pago_pago"); + public static Timezone PacificPalau => new Timezone("pacific/palau"); + public static Timezone PacificPitcairn => new Timezone("pacific/pitcairn"); + public static Timezone PacificPohnpei => new Timezone("pacific/pohnpei"); + public static Timezone PacificPortMoresby => new Timezone("pacific/port_moresby"); + public static Timezone PacificRarotonga => new Timezone("pacific/rarotonga"); + public static Timezone PacificSaipan => new Timezone("pacific/saipan"); + public static Timezone PacificTahiti => new Timezone("pacific/tahiti"); + public static Timezone PacificTarawa => new Timezone("pacific/tarawa"); + public static Timezone PacificTongatapu => new Timezone("pacific/tongatapu"); + public static Timezone PacificWake => new Timezone("pacific/wake"); + public static Timezone PacificWallis => new Timezone("pacific/wallis"); + public static Timezone Utc => new Timezone("utc"); + } +} diff --git a/Appwrite/Enums/VCSDeploymentType.cs b/Appwrite/Enums/VCSDeploymentType.cs deleted file mode 100644 index a5484eeb..00000000 --- a/Appwrite/Enums/VCSDeploymentType.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; - -namespace Appwrite.Enums -{ - public class VCSDeploymentType : IEnum - { - public string Value { get; private set; } - - public VCSDeploymentType(string value) - { - Value = value; - } - - public static VCSDeploymentType Branch => new VCSDeploymentType("branch"); - public static VCSDeploymentType Commit => new VCSDeploymentType("commit"); - public static VCSDeploymentType Tag => new VCSDeploymentType("tag"); - } -} diff --git a/Appwrite/Enums/VCSReferenceType.cs b/Appwrite/Enums/VCSReferenceType.cs new file mode 100644 index 00000000..5f5f60ec --- /dev/null +++ b/Appwrite/Enums/VCSReferenceType.cs @@ -0,0 +1,18 @@ +using System; + +namespace Appwrite.Enums +{ + public class VCSReferenceType : IEnum + { + public string Value { get; private set; } + + public VCSReferenceType(string value) + { + Value = value; + } + + public static VCSReferenceType Branch => new VCSReferenceType("branch"); + public static VCSReferenceType Commit => new VCSReferenceType("commit"); + public static VCSReferenceType Tag => new VCSReferenceType("tag"); + } +} diff --git a/Appwrite/Models/Bucket.cs b/Appwrite/Models/Bucket.cs index 6de1149e..79de11d6 100644 --- a/Appwrite/Models/Bucket.cs +++ b/Appwrite/Models/Bucket.cs @@ -47,6 +47,9 @@ public class Bucket [JsonPropertyName("antivirus")] public bool Antivirus { get; private set; } + [JsonPropertyName("transformations")] + public bool Transformations { get; private set; } + public Bucket( string id, string createdAt, @@ -59,7 +62,8 @@ public Bucket( List allowedFileExtensions, string compression, bool encryption, - bool antivirus + bool antivirus, + bool transformations ) { Id = id; CreatedAt = createdAt; @@ -73,6 +77,7 @@ bool antivirus Compression = compression; Encryption = encryption; Antivirus = antivirus; + Transformations = transformations; } public static Bucket From(Dictionary map) => new Bucket( @@ -87,7 +92,8 @@ bool antivirus allowedFileExtensions: map["allowedFileExtensions"].ConvertToList(), compression: map["compression"].ToString(), encryption: (bool)map["encryption"], - antivirus: (bool)map["antivirus"] + antivirus: (bool)map["antivirus"], + transformations: (bool)map["transformations"] ); public Dictionary ToMap() => new Dictionary() @@ -103,7 +109,8 @@ bool antivirus { "allowedFileExtensions", AllowedFileExtensions }, { "compression", Compression }, { "encryption", Encryption }, - { "antivirus", Antivirus } + { "antivirus", Antivirus }, + { "transformations", Transformations } }; } } diff --git a/Appwrite/Services/Account.cs b/Appwrite/Services/Account.cs index da4fef8e..6954033d 100644 --- a/Appwrite/Services/Account.cs +++ b/Appwrite/Services/Account.cs @@ -482,7 +482,7 @@ public Task DeleteMFAAuthenticator(Appwrite.Enums.AuthenticatorType type [Obsolete("This API has been deprecated since 1.8.0. Please use `Account.createMFAChallenge` instead.")] public Task CreateMfaChallenge(Appwrite.Enums.AuthenticationFactor factor) { - var apiPath = "/account/mfa/challenge"; + var apiPath = "/account/mfa/challenges"; var apiParameters = new Dictionary() { @@ -515,7 +515,7 @@ static Models.MfaChallenge Convert(Dictionary it) => /// public Task CreateMFAChallenge(Appwrite.Enums.AuthenticationFactor factor) { - var apiPath = "/account/mfa/challenge"; + var apiPath = "/account/mfa/challenges"; var apiParameters = new Dictionary() { @@ -551,7 +551,7 @@ static Models.MfaChallenge Convert(Dictionary it) => [Obsolete("This API has been deprecated since 1.8.0. Please use `Account.updateMFAChallenge` instead.")] public Task UpdateMfaChallenge(string challengeId, string otp) { - var apiPath = "/account/mfa/challenge"; + var apiPath = "/account/mfa/challenges"; var apiParameters = new Dictionary() { @@ -587,7 +587,7 @@ static Models.Session Convert(Dictionary it) => /// public Task UpdateMFAChallenge(string challengeId, string otp) { - var apiPath = "/account/mfa/challenge"; + var apiPath = "/account/mfa/challenges"; var apiParameters = new Dictionary() { diff --git a/Appwrite/Services/Avatars.cs b/Appwrite/Services/Avatars.cs index 46a32477..b04836a5 100644 --- a/Appwrite/Services/Avatars.cs +++ b/Appwrite/Services/Avatars.cs @@ -268,6 +268,61 @@ public Task GetQR(string text, long? size = null, long? margin = null, b + return _client.Call( + method: "GET", + path: apiPath, + headers: apiHeaders, + parameters: apiParameters.Where(it => it.Value != null).ToDictionary(it => it.Key, it => it.Value)!); + + } + + /// + /// Use this endpoint to capture a screenshot of any website URL. This endpoint + /// uses a headless browser to render the webpage and capture it as an image. + /// + /// You can configure the browser viewport size, theme, user agent, + /// geolocation, permissions, and more. Capture either just the viewport or the + /// full page scroll. + /// + /// When width and height are specified, the image is resized accordingly. If + /// both dimensions are 0, the API provides an image at original size. If + /// dimensions are not specified, the default viewport size is 1280x720px. + /// + /// + public Task GetScreenshot(string url, object? headers = null, long? viewportWidth = null, long? viewportHeight = null, double? scale = null, Appwrite.Enums.Theme? theme = null, string? userAgent = null, bool? fullpage = null, string? locale = null, Appwrite.Enums.Timezone? timezone = null, double? latitude = null, double? longitude = null, double? accuracy = null, bool? touch = null, List? permissions = null, long? sleep = null, long? width = null, long? height = null, long? quality = null, Appwrite.Enums.Output? output = null) + { + var apiPath = "/avatars/screenshots"; + + var apiParameters = new Dictionary() + { + { "url", url }, + { "headers", headers }, + { "viewportWidth", viewportWidth }, + { "viewportHeight", viewportHeight }, + { "scale", scale }, + { "theme", theme?.Value }, + { "userAgent", userAgent }, + { "fullpage", fullpage }, + { "locale", locale }, + { "timezone", timezone?.Value }, + { "latitude", latitude }, + { "longitude", longitude }, + { "accuracy", accuracy }, + { "touch", touch }, + { "permissions", permissions }, + { "sleep", sleep }, + { "width", width }, + { "height", height }, + { "quality", quality }, + { "output", output?.Value } + }; + + var apiHeaders = new Dictionary() + { + }; + + + return _client.Call( method: "GET", path: apiPath, diff --git a/Appwrite/Services/Functions.cs b/Appwrite/Services/Functions.cs index 94868640..317b9ab7 100644 --- a/Appwrite/Services/Functions.cs +++ b/Appwrite/Services/Functions.cs @@ -423,7 +423,7 @@ static Models.Deployment Convert(Dictionary it) => /// find the template details. /// /// - public Task CreateTemplateDeployment(string functionId, string repository, string owner, string rootDirectory, string version, bool? activate = null) + public Task CreateTemplateDeployment(string functionId, string repository, string owner, string rootDirectory, Appwrite.Enums.TemplateReferenceType type, string reference, bool? activate = null) { var apiPath = "/functions/{functionId}/deployments/template" .Replace("{functionId}", functionId); @@ -433,7 +433,8 @@ static Models.Deployment Convert(Dictionary it) => { "repository", repository }, { "owner", owner }, { "rootDirectory", rootDirectory }, - { "version", version }, + { "type", type?.Value }, + { "reference", reference }, { "activate", activate } }; @@ -461,7 +462,7 @@ static Models.Deployment Convert(Dictionary it) => /// This endpoint lets you create deployment from a branch, commit, or a tag. /// /// - public Task CreateVcsDeployment(string functionId, Appwrite.Enums.VCSDeploymentType type, string reference, bool? activate = null) + public Task CreateVcsDeployment(string functionId, Appwrite.Enums.VCSReferenceType type, string reference, bool? activate = null) { var apiPath = "/functions/{functionId}/deployments/vcs" .Replace("{functionId}", functionId); diff --git a/Appwrite/Services/Sites.cs b/Appwrite/Services/Sites.cs index 3710e7d7..26019877 100644 --- a/Appwrite/Services/Sites.cs +++ b/Appwrite/Services/Sites.cs @@ -330,7 +330,7 @@ static Models.DeploymentList Convert(Dictionary it) => /// /// Create a new site code deployment. Use this endpoint to upload a new /// version of your site code. To activate your newly uploaded code, you'll - /// need to update the function's deployment to use your new deployment ID. + /// need to update the site's deployment to use your new deployment ID. /// /// public Task CreateDeployment(string siteId, InputFile code, bool activate, string? installCommand = null, string? buildCommand = null, string? outputDirectory = null, Action? onProgress = null) @@ -414,7 +414,7 @@ static Models.Deployment Convert(Dictionary it) => /// the template details. /// /// - public Task CreateTemplateDeployment(string siteId, string repository, string owner, string rootDirectory, string version, bool? activate = null) + public Task CreateTemplateDeployment(string siteId, string repository, string owner, string rootDirectory, Appwrite.Enums.TemplateReferenceType type, string reference, bool? activate = null) { var apiPath = "/sites/{siteId}/deployments/template" .Replace("{siteId}", siteId); @@ -424,7 +424,8 @@ static Models.Deployment Convert(Dictionary it) => { "repository", repository }, { "owner", owner }, { "rootDirectory", rootDirectory }, - { "version", version }, + { "type", type?.Value }, + { "reference", reference }, { "activate", activate } }; @@ -452,7 +453,7 @@ static Models.Deployment Convert(Dictionary it) => /// This endpoint lets you create deployment from a branch, commit, or a tag. /// /// - public Task CreateVcsDeployment(string siteId, Appwrite.Enums.VCSDeploymentType type, string reference, bool? activate = null) + public Task CreateVcsDeployment(string siteId, Appwrite.Enums.VCSReferenceType type, string reference, bool? activate = null) { var apiPath = "/sites/{siteId}/deployments/vcs" .Replace("{siteId}", siteId); diff --git a/Appwrite/Services/Storage.cs b/Appwrite/Services/Storage.cs index c782b082..35a1021f 100644 --- a/Appwrite/Services/Storage.cs +++ b/Appwrite/Services/Storage.cs @@ -51,7 +51,7 @@ static Models.BucketList Convert(Dictionary it) => /// Create a new storage bucket. /// /// - public Task CreateBucket(string bucketId, string name, List? permissions = null, bool? fileSecurity = null, bool? enabled = null, long? maximumFileSize = null, List? allowedFileExtensions = null, Appwrite.Enums.Compression? compression = null, bool? encryption = null, bool? antivirus = null) + public Task CreateBucket(string bucketId, string name, List? permissions = null, bool? fileSecurity = null, bool? enabled = null, long? maximumFileSize = null, List? allowedFileExtensions = null, Appwrite.Enums.Compression? compression = null, bool? encryption = null, bool? antivirus = null, bool? transformations = null) { var apiPath = "/storage/buckets"; @@ -66,7 +66,8 @@ static Models.BucketList Convert(Dictionary it) => { "allowedFileExtensions", allowedFileExtensions }, { "compression", compression?.Value }, { "encryption", encryption }, - { "antivirus", antivirus } + { "antivirus", antivirus }, + { "transformations", transformations } }; var apiHeaders = new Dictionary() @@ -122,7 +123,7 @@ static Models.Bucket Convert(Dictionary it) => /// Update a storage bucket by its unique ID. /// /// - public Task UpdateBucket(string bucketId, string name, List? permissions = null, bool? fileSecurity = null, bool? enabled = null, long? maximumFileSize = null, List? allowedFileExtensions = null, Appwrite.Enums.Compression? compression = null, bool? encryption = null, bool? antivirus = null) + public Task UpdateBucket(string bucketId, string name, List? permissions = null, bool? fileSecurity = null, bool? enabled = null, long? maximumFileSize = null, List? allowedFileExtensions = null, Appwrite.Enums.Compression? compression = null, bool? encryption = null, bool? antivirus = null, bool? transformations = null) { var apiPath = "/storage/buckets/{bucketId}" .Replace("{bucketId}", bucketId); @@ -137,7 +138,8 @@ static Models.Bucket Convert(Dictionary it) => { "allowedFileExtensions", allowedFileExtensions }, { "compression", compression?.Value }, { "encryption", encryption }, - { "antivirus", antivirus } + { "antivirus", antivirus }, + { "transformations", transformations } }; var apiHeaders = new Dictionary() diff --git a/Appwrite/Services/TablesDb.cs b/Appwrite/Services/TablesDB.cs similarity index 100% rename from Appwrite/Services/TablesDb.cs rename to Appwrite/Services/TablesDB.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index 1401108b..eabf40da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## 0.23.0 + +* Rename `VCSDeploymentType` enum to `VCSReferenceType` +* Change `CreateTemplateDeployment` method signature: replace `Version` parameter with `Type` (TemplateReferenceType) and `Reference` parameters +* Add `GetScreenshot` method to `Avatars` service +* Add `Theme`, `Timezone` and `Output` enums + ## 0.22.0 * Add `total` parameter to list queries allowing skipping counting rows in a table for improved performance diff --git a/README.md b/README.md index bc9be3e2..d6ee4335 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ Appwrite is an open-source backend as a service server that abstract and simplif Add this reference to your project's `.csproj` file: ```xml - + ``` You can install packages from the command line: ```powershell # Package Manager -Install-Package Appwrite -Version 0.22.0 +Install-Package Appwrite -Version 0.23.0 # or .NET CLI -dotnet add package Appwrite --version 0.22.0 +dotnet add package Appwrite --version 0.23.0 ``` diff --git a/docs/examples/avatars/get-screenshot.md b/docs/examples/avatars/get-screenshot.md new file mode 100644 index 00000000..58e6e426 --- /dev/null +++ b/docs/examples/avatars/get-screenshot.md @@ -0,0 +1,37 @@ +using Appwrite; +using Appwrite.Enums; +using Appwrite.Models; +using Appwrite.Services; + +Client client = new Client() + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint + .SetProject("") // Your project ID + .SetSession(""); // The user session to authenticate with + +Avatars avatars = new Avatars(client); + +byte[] result = await avatars.GetScreenshot( + url: "https://example.com", + headers: new { + Authorization = "Bearer token123", + X-Custom-Header = "value" + }, // optional + viewportWidth: 1920, // optional + viewportHeight: 1080, // optional + scale: 2, // optional + theme: Theme.Light, // optional + userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15", // optional + fullpage: true, // optional + locale: "en-US", // optional + timezone: Timezone.AfricaAbidjan, // optional + latitude: 37.7749, // optional + longitude: -122.4194, // optional + accuracy: 100, // optional + touch: true, // optional + permissions: ["geolocation","notifications"], // optional + sleep: 3, // optional + width: 800, // optional + height: 600, // optional + quality: 85, // optional + output: Output.Jpg // optional +); \ No newline at end of file diff --git a/docs/examples/functions/create-template-deployment.md b/docs/examples/functions/create-template-deployment.md index 019a9bf2..6fcf2398 100644 --- a/docs/examples/functions/create-template-deployment.md +++ b/docs/examples/functions/create-template-deployment.md @@ -1,4 +1,5 @@ using Appwrite; +using Appwrite.Enums; using Appwrite.Models; using Appwrite.Services; @@ -14,6 +15,7 @@ Deployment result = await functions.CreateTemplateDeployment( repository: "", owner: "", rootDirectory: "", - version: "", + type: TemplateReferenceType.Commit, + reference: "", activate: false // optional ); \ No newline at end of file diff --git a/docs/examples/functions/create-vcs-deployment.md b/docs/examples/functions/create-vcs-deployment.md index 96513659..a7403ff1 100644 --- a/docs/examples/functions/create-vcs-deployment.md +++ b/docs/examples/functions/create-vcs-deployment.md @@ -12,7 +12,7 @@ Functions functions = new Functions(client); Deployment result = await functions.CreateVcsDeployment( functionId: "", - type: VCSDeploymentType.Branch, + type: VCSReferenceType.Branch, reference: "", activate: false // optional ); \ No newline at end of file diff --git a/docs/examples/functions/create.md b/docs/examples/functions/create.md index 6e705228..7d26480d 100644 --- a/docs/examples/functions/create.md +++ b/docs/examples/functions/create.md @@ -13,7 +13,7 @@ Functions functions = new Functions(client); Function result = await functions.Create( functionId: "", name: "", - runtime: .Node145, + runtime: Runtime.Node145, execute: ["any"], // optional events: new List(), // optional schedule: "", // optional diff --git a/docs/examples/functions/update.md b/docs/examples/functions/update.md index 7160795f..a41a0fd3 100644 --- a/docs/examples/functions/update.md +++ b/docs/examples/functions/update.md @@ -13,7 +13,7 @@ Functions functions = new Functions(client); Function result = await functions.Update( functionId: "", name: "", - runtime: .Node145, // optional + runtime: Runtime.Node145, // optional execute: ["any"], // optional events: new List(), // optional schedule: "", // optional diff --git a/docs/examples/health/get-failed-jobs.md b/docs/examples/health/get-failed-jobs.md index 4d434798..ee0aceaa 100644 --- a/docs/examples/health/get-failed-jobs.md +++ b/docs/examples/health/get-failed-jobs.md @@ -11,6 +11,6 @@ Client client = new Client() Health health = new Health(client); HealthQueue result = await health.GetFailedJobs( - name: .V1Database, + name: Name.V1Database, threshold: 0 // optional ); \ No newline at end of file diff --git a/docs/examples/sites/create-template-deployment.md b/docs/examples/sites/create-template-deployment.md index 57f9a83d..5353b004 100644 --- a/docs/examples/sites/create-template-deployment.md +++ b/docs/examples/sites/create-template-deployment.md @@ -1,4 +1,5 @@ using Appwrite; +using Appwrite.Enums; using Appwrite.Models; using Appwrite.Services; @@ -14,6 +15,7 @@ Deployment result = await sites.CreateTemplateDeployment( repository: "", owner: "", rootDirectory: "", - version: "", + type: TemplateReferenceType.Branch, + reference: "", activate: false // optional ); \ No newline at end of file diff --git a/docs/examples/sites/create-vcs-deployment.md b/docs/examples/sites/create-vcs-deployment.md index 4d3e6851..229549be 100644 --- a/docs/examples/sites/create-vcs-deployment.md +++ b/docs/examples/sites/create-vcs-deployment.md @@ -12,7 +12,7 @@ Sites sites = new Sites(client); Deployment result = await sites.CreateVcsDeployment( siteId: "", - type: VCSDeploymentType.Branch, + type: VCSReferenceType.Branch, reference: "", activate: false // optional ); \ No newline at end of file diff --git a/docs/examples/sites/create.md b/docs/examples/sites/create.md index 025adca4..ed7360d5 100644 --- a/docs/examples/sites/create.md +++ b/docs/examples/sites/create.md @@ -13,15 +13,15 @@ Sites sites = new Sites(client); Site result = await sites.Create( siteId: "", name: "", - framework: .Analog, - buildRuntime: .Node145, + framework: Framework.Analog, + buildRuntime: BuildRuntime.Node145, enabled: false, // optional logging: false, // optional timeout: 1, // optional installCommand: "", // optional buildCommand: "", // optional outputDirectory: "", // optional - adapter: .Static, // optional + adapter: Adapter.Static, // optional installationId: "", // optional fallbackFile: "", // optional providerRepositoryId: "", // optional diff --git a/docs/examples/sites/update.md b/docs/examples/sites/update.md index c25e3f6d..32da4833 100644 --- a/docs/examples/sites/update.md +++ b/docs/examples/sites/update.md @@ -13,15 +13,15 @@ Sites sites = new Sites(client); Site result = await sites.Update( siteId: "", name: "", - framework: .Analog, + framework: Framework.Analog, enabled: false, // optional logging: false, // optional timeout: 1, // optional installCommand: "", // optional buildCommand: "", // optional outputDirectory: "", // optional - buildRuntime: .Node145, // optional - adapter: .Static, // optional + buildRuntime: BuildRuntime.Node145, // optional + adapter: Adapter.Static, // optional fallbackFile: "", // optional installationId: "", // optional providerRepositoryId: "", // optional diff --git a/docs/examples/storage/create-bucket.md b/docs/examples/storage/create-bucket.md index f009f694..758883e5 100644 --- a/docs/examples/storage/create-bucket.md +++ b/docs/examples/storage/create-bucket.md @@ -18,7 +18,8 @@ Bucket result = await storage.CreateBucket( enabled: false, // optional maximumFileSize: 1, // optional allowedFileExtensions: new List(), // optional - compression: .None, // optional + compression: Compression.None, // optional encryption: false, // optional - antivirus: false // optional + antivirus: false, // optional + transformations: false // optional ); \ No newline at end of file diff --git a/docs/examples/storage/update-bucket.md b/docs/examples/storage/update-bucket.md index d41a4596..7dfed901 100644 --- a/docs/examples/storage/update-bucket.md +++ b/docs/examples/storage/update-bucket.md @@ -18,7 +18,8 @@ Bucket result = await storage.UpdateBucket( enabled: false, // optional maximumFileSize: 1, // optional allowedFileExtensions: new List(), // optional - compression: .None, // optional + compression: Compression.None, // optional encryption: false, // optional - antivirus: false // optional + antivirus: false, // optional + transformations: false // optional ); \ No newline at end of file