Skip to content

Commit d3b9bc2

Browse files
release: v0.1.22
1 parent eeb34b5 commit d3b9bc2

9 files changed

Lines changed: 36 additions & 336 deletions

File tree

docs/llms-full.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ await roxy.Astrology.NatalChart.PostAsync(new() { Date = new Date(1990, 7, 15),
4949
await roxy.Astrology.Planets.PostAsync(new() { Date = new Date(2025, 12, 18), Time = new Time(12, 0, 0), Latitude = 40.7128, Longitude = -74.006, Timezone = new() { Double = -5 } });
5050

5151
// Get current moon phase - Lunar phase calculator with zodiac sign
52-
await roxy.Astrology.MoonPhase.Current.GetAsync(c => { c.QueryParameters.Date = new Date(2025, 12, 18); c.QueryParameters.Time = new Time(12, 0, 0); c.QueryParameters.Timezone = "0"; });
52+
await roxy.Astrology.MoonPhase.Current.GetAsync(c => { c.QueryParameters.Date = new Date(2025, 12, 18); c.QueryParameters.Time = new Time(12, 0, 0); c.QueryParameters.Timezone = "America/New_York"; });
5353

5454
// Get upcoming moon phases - Next new moon, full moon, quarters
5555
await roxy.Astrology.MoonPhase.Upcoming.GetAsync(c => { c.QueryParameters.StartDate = new Date(2025, 12, 18); c.QueryParameters.Count = 8; });
@@ -204,7 +204,7 @@ await roxy.VedicAstrology.Yoga["gajakesari"].GetAsync();
204204
await roxy.VedicAstrology.Yoga.Detect.PostAsync(new() { Date = new Date(1990, 7, 4), Time = new Time(10, 12, 0), Latitude = 28.6139, Longitude = 77.209, Timezone = new() { Double = 5.5 } });
205205

206206
// Get KP-Newcomb ayanamsa - Dynamic daily calculation
207-
await roxy.VedicAstrology.Kp.Ayanamsa.GetAsync(c => { c.QueryParameters.Date = new Date(2025, 12, 26); c.QueryParameters.Time = new Time(9, 0, 0); c.QueryParameters.Timezone = "5.5"; });
207+
await roxy.VedicAstrology.Kp.Ayanamsa.GetAsync(c => { c.QueryParameters.Date = new Date(2025, 12, 26); c.QueryParameters.Time = new Time(9, 0, 0); c.QueryParameters.Timezone = "Asia/Kolkata"; });
208208

209209
// Get KP planetary positions with sub-lords
210210
await roxy.VedicAstrology.Kp.Planets.PostAsync(new() { Date = new Date(1990, 7, 4), Time = new Time(10, 12, 0), Latitude = 28.6139, Longitude = 77.209, Timezone = new() { Double = 5.5 }, AyanamsaValue = 24 });

specs/openapi.json

Lines changed: 14 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13339,7 +13339,7 @@
1333913339
{
1334013340
"schema": {
1334113341
"type": "string",
13342-
"example": 0,
13342+
"example": "America/New_York",
1334313343
"description": "IANA name (e.g. \u0022America/New_York\u0022, \u0022Europe/London\u0022), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \u0022-05:00\u0022). IANA resolved to the DST-correct offset for the given date. Defaults to 0 (UTC)."
1334413344
},
1334513345
"required": false,
@@ -30926,7 +30926,7 @@
3092630926
{
3092730927
"schema": {
3092830928
"type": "string",
30929-
"example": 5.5,
30929+
"example": "Asia/Kolkata",
3093030930
"description": "IANA name (e.g. \u0022Asia/Kolkata\u0022, \u0022America/New_York\u0022), decimal hours (e.g. 5.5 for IST, -5 for EST), or a fixed UTC offset (e.g. \u0022\u002B05:30\u0022). IANA resolved to the DST-correct offset for the given date. Applies to the time field above. Defaults to 0 (UTC)."
3093130931
},
3093230932
"required": false,
@@ -35658,18 +35658,9 @@
3565835658
"description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
3565935659
},
3566035660
"timezone": {
35661-
"anyOf": [
35662-
{
35663-
"type": "number",
35664-
"minimum": -14,
35665-
"maximum": 14
35666-
},
35667-
{
35668-
"type": "string"
35669-
}
35670-
],
35671-
"description": "IANA name (e.g. \u0022America/New_York\u0022, \u0022Europe/London\u0022, \u0022UTC\u0022), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \u0022-05:00\u0022, \u0022\u002B01:00\u0022). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.",
35672-
"example": "America/New_York"
35661+
"type": "number",
35662+
"example": -4,
35663+
"description": "Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name."
3567335664
},
3567435665
"latitude": {
3567535666
"type": "number",
@@ -36046,18 +36037,9 @@
3604636037
"description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
3604736038
},
3604836039
"timezone": {
36049-
"anyOf": [
36050-
{
36051-
"type": "number",
36052-
"minimum": -14,
36053-
"maximum": 14
36054-
},
36055-
{
36056-
"type": "string"
36057-
}
36058-
],
36059-
"description": "IANA name (e.g. \u0022America/New_York\u0022, \u0022Europe/London\u0022, \u0022UTC\u0022), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \u0022-05:00\u0022, \u0022\u002B01:00\u0022). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.",
36060-
"example": "America/New_York"
36040+
"type": "number",
36041+
"example": -4,
36042+
"description": "Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name."
3606136043
},
3606236044
"latitude": {
3606336045
"type": "number",
@@ -36484,18 +36466,9 @@
3648436466
"description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
3648536467
},
3648636468
"timezone": {
36487-
"anyOf": [
36488-
{
36489-
"type": "number",
36490-
"minimum": -14,
36491-
"maximum": 14
36492-
},
36493-
{
36494-
"type": "string"
36495-
}
36496-
],
36497-
"description": "IANA name (e.g. \u0022America/New_York\u0022, \u0022Europe/London\u0022, \u0022UTC\u0022), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \u0022-05:00\u0022, \u0022\u002B01:00\u0022). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.",
36498-
"example": "America/New_York"
36469+
"type": "number",
36470+
"example": -4,
36471+
"description": "Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name."
3649936472
},
3650036473
"latitude": {
3650136474
"type": "number",
@@ -36923,18 +36896,9 @@
3692336896
"description": "Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against."
3692436897
},
3692536898
"timezone": {
36926-
"anyOf": [
36927-
{
36928-
"type": "number",
36929-
"minimum": -14,
36930-
"maximum": 14
36931-
},
36932-
{
36933-
"type": "string"
36934-
}
36935-
],
36936-
"description": "IANA name (e.g. \u0022America/New_York\u0022, \u0022Europe/London\u0022, \u0022UTC\u0022), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. \u0022-05:00\u0022, \u0022\u002B01:00\u0022). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.",
36937-
"example": "America/New_York"
36899+
"type": "number",
36900+
"example": -4,
36901+
"description": "Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name."
3693836902
},
3693936903
"latitude": {
3694036904
"type": "number",

src/Generated/Forecast/Digest/DigestPostResponse_birthData.cs

Lines changed: 4 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,8 @@ public partial class DigestPostResponse_birthData : IAdditionalDataHolder, IPars
2424
public double? Longitude { get; set; }
2525
/// <summary>Birth time in 24-hour HH:MM:SS format. Precision matters for the natal positions the transit aspects are measured against.</summary>
2626
public Time? Time { get; set; }
27-
/// <summary>IANA name (e.g. &quot;America/New_York&quot;, &quot;Europe/London&quot;, &quot;UTC&quot;), decimal hours (e.g. -5 for EST, 1 for CET), or a fixed UTC offset (e.g. &quot;-05:00&quot;, &quot;+01:00&quot;). Prefer the IANA name: it is resolved to the DST-correct offset for the birth date, while a fixed offset or decimal is taken literally and will be wrong if it does not match the daylight-saving state on that date. Invalid timezones return 400 with a validation error.</summary>
28-
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
29-
#nullable enable
30-
public global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone? Timezone { get; set; }
31-
#nullable restore
32-
#else
33-
public global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone Timezone { get; set; }
34-
#endif
27+
/// <summary>Decimal UTC offset the forecast was computed with, resolved from whatever the request sent. An IANA name is resolved to the DST-correct offset for the birth date, so this is the literal number applied, never the name.</summary>
28+
public double? Timezone { get; set; }
3529
/// <summary>
3630
/// Instantiates a new <see cref="global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData"/> and sets the default values.
3731
/// </summary>
@@ -63,7 +57,7 @@ public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
6357
{ "latitude", n => { Latitude = n.GetDoubleValue(); } },
6458
{ "longitude", n => { Longitude = n.GetDoubleValue(); } },
6559
{ "time", n => { Time = n.GetTimeValue(); } },
66-
{ "timezone", n => { Timezone = n.GetObjectValue<global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone>(global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone.CreateFromDiscriminatorValue); } },
60+
{ "timezone", n => { Timezone = n.GetDoubleValue(); } },
6761
};
6862
}
6963
/// <summary>
@@ -77,69 +71,9 @@ public virtual void Serialize(ISerializationWriter writer)
7771
writer.WriteDoubleValue("latitude", Latitude);
7872
writer.WriteDoubleValue("longitude", Longitude);
7973
writer.WriteTimeValue("time", Time);
80-
writer.WriteObjectValue<global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone>("timezone", Timezone);
74+
writer.WriteDoubleValue("timezone", Timezone);
8175
writer.WriteAdditionalData(AdditionalData);
8276
}
83-
/// <summary>
84-
/// Composed type wrapper for classes <see cref="double"/>, <see cref="string"/>
85-
/// </summary>
86-
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
87-
public partial class DigestPostResponse_birthData_timezone : IComposedTypeWrapper, IParsable
88-
{
89-
/// <summary>Composed type representation for type <see cref="double"/></summary>
90-
public double? Double { get; set; }
91-
/// <summary>Composed type representation for type <see cref="string"/></summary>
92-
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
93-
#nullable enable
94-
public string? String { get; set; }
95-
#nullable restore
96-
#else
97-
public string String { get; set; }
98-
#endif
99-
/// <summary>
100-
/// Creates a new instance of the appropriate class based on discriminator value
101-
/// </summary>
102-
/// <returns>A <see cref="global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone"/></returns>
103-
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
104-
public static global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone CreateFromDiscriminatorValue(IParseNode parseNode)
105-
{
106-
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
107-
var result = new global::RoxyApi.Forecast.Digest.DigestPostResponse_birthData.DigestPostResponse_birthData_timezone();
108-
if(parseNode.GetDoubleValue() is double doubleValue)
109-
{
110-
result.Double = doubleValue;
111-
}
112-
else if(parseNode.GetStringValue() is string stringValue)
113-
{
114-
result.String = stringValue;
115-
}
116-
return result;
117-
}
118-
/// <summary>
119-
/// The deserialization information for the current model
120-
/// </summary>
121-
/// <returns>A IDictionary&lt;string, Action&lt;IParseNode&gt;&gt;</returns>
122-
public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
123-
{
124-
return new Dictionary<string, Action<IParseNode>>();
125-
}
126-
/// <summary>
127-
/// Serializes information the current object
128-
/// </summary>
129-
/// <param name="writer">Serialization writer to use to serialize this model</param>
130-
public virtual void Serialize(ISerializationWriter writer)
131-
{
132-
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
133-
if(Double != null)
134-
{
135-
writer.WriteDoubleValue(null, Double);
136-
}
137-
else if(String != null)
138-
{
139-
writer.WriteStringValue(null, String);
140-
}
141-
}
142-
}
14377
}
14478
}
14579
#pragma warning restore CS0618

0 commit comments

Comments
 (0)