Skip to content

Commit 5ca52ef

Browse files
release: v0.1.34
1 parent 0409c1d commit 5ca52ef

58 files changed

Lines changed: 1866 additions & 60 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/llms-full.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,18 @@ await roxy.Astrology.Houses.PostAsync(new() { Date = new Date(1990, 7, 15), Time
6969
// Calculate planetary aspects - Aspect finder for any date and time
7070
await roxy.Astrology.Aspects.PostAsync(new() { Date = new Date(1990, 7, 15), Time = new Time(14, 30, 0), Timezone = new() { Double = -5 }, Planets = ["Sun"], AspectTypes = ["CONJUNCTION"] });
7171

72+
// Monthly Aspects - Tropical aspect calendar for an entire month
73+
await roxy.Astrology.Aspects.Monthly.PostAsync(new() { Year = 2026, Month = 3, Timezone = new() { Double = -5 } });
74+
7275
// Detect aspect patterns - Grand Trine, Kite, T-Square, Grand Cross, Yod, Mystic Rectangle, Stellium
7376
await roxy.Astrology.AspectPatterns.PostAsync(new() { Date = new Date(1990, 7, 15), Time = new Time(14, 30, 0), Latitude = 40.7128, Longitude = -74.006, Timezone = new() { Double = -5 } }, c => { c.QueryParameters.StrictOrbs = "false"; c.QueryParameters.Include = ""; });
7477

7578
// Calculate planetary transits - Current transits with natal chart comparison
7679
await roxy.Astrology.Transits.PostAsync(new() { Date = new Date(2025, 12, 19), Time = new Time(12, 0, 0), Timezone = new() { Double = 0 } });
7780

81+
// Monthly Transits - Tropical sign ingresses for an entire month
82+
await roxy.Astrology.Transits.Monthly.PostAsync(new() { Year = 2026, Month = 3, Timezone = new() { Double = -5 } });
83+
7884
// Transit Aspects - Detailed transit-to-natal aspect analysis with interpretations
7985
await roxy.Astrology.TransitAspects.PostAsync(new() { NatalChart = new() { Date = new Date(1990, 7, 15), Time = new Time(14, 30, 0), Latitude = 40.7128, Longitude = -74.006, Timezone = new() { Double = -5 } }, TransitDate = new Date(2026, 2, 3), TransitTime = new Time(12, 0, 0), MinStrength = 50 });
8086

specs/openapi.json

Lines changed: 589 additions & 20 deletions
Large diffs are not rendered by default.

src/Generated/Astrology/Aspects/AspectsRequestBuilder.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Microsoft.Kiota.Abstractions.Extensions;
44
using Microsoft.Kiota.Abstractions.Serialization;
55
using Microsoft.Kiota.Abstractions;
6+
using RoxyApi.Astrology.Aspects.Monthly;
67
using RoxyApi.Models;
78
using System.Collections.Generic;
89
using System.IO;
@@ -17,6 +18,11 @@ namespace RoxyApi.Astrology.Aspects
1718
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
1819
public partial class AspectsRequestBuilder : BaseRequestBuilder
1920
{
21+
/// <summary>The monthly property</summary>
22+
public global::RoxyApi.Astrology.Aspects.Monthly.MonthlyRequestBuilder Monthly
23+
{
24+
get => new global::RoxyApi.Astrology.Aspects.Monthly.MonthlyRequestBuilder(PathParameters, RequestAdapter);
25+
}
2026
/// <summary>
2127
/// Instantiates a new <see cref="global::RoxyApi.Astrology.Aspects.AspectsRequestBuilder"/> and sets the default values.
2228
/// </summary>
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
// <auto-generated/>
2+
#pragma warning disable CS0618
3+
using Microsoft.Kiota.Abstractions.Extensions;
4+
using Microsoft.Kiota.Abstractions.Serialization;
5+
using System.Collections.Generic;
6+
using System.IO;
7+
using System;
8+
namespace RoxyApi.Astrology.Aspects.Monthly
9+
{
10+
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
11+
#pragma warning disable CS1591
12+
public partial class MonthlyPostRequestBody : IAdditionalDataHolder, IParsable
13+
#pragma warning restore CS1591
14+
{
15+
/// <summary>Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.</summary>
16+
public IDictionary<string, object> AdditionalData { get; set; }
17+
/// <summary>Month number (1-12). Defaults to the current month (UTC).</summary>
18+
public int? Month { get; set; }
19+
/// <summary>Lunar node convention. &quot;mean&quot; is the smoothed average node, which always moves retrograde; &quot;true&quot; is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass &quot;mean&quot; to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to &quot;true&quot;.</summary>
20+
public global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody_nodeType? NodeType { get; set; }
21+
/// <summary>Timezone offset from UTC in hours. Event dates and times are reported in this zone, which is what makes a published calendar read correctly for its audience. Defaults to 0 (UTC).</summary>
22+
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
23+
#nullable enable
24+
public global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone? Timezone { get; set; }
25+
#nullable restore
26+
#else
27+
public global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone Timezone { get; set; }
28+
#endif
29+
/// <summary>Year for the aspect calendar (1900-2100). Defaults to the current year (UTC).</summary>
30+
public int? Year { get; set; }
31+
/// <summary>
32+
/// Instantiates a new <see cref="global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody"/> and sets the default values.
33+
/// </summary>
34+
public MonthlyPostRequestBody()
35+
{
36+
AdditionalData = new Dictionary<string, object>();
37+
NodeType = global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody_nodeType.True;
38+
}
39+
/// <summary>
40+
/// Creates a new instance of the appropriate class based on discriminator value
41+
/// </summary>
42+
/// <returns>A <see cref="global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody"/></returns>
43+
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
44+
public static global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody CreateFromDiscriminatorValue(IParseNode parseNode)
45+
{
46+
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
47+
return new global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody();
48+
}
49+
/// <summary>
50+
/// The deserialization information for the current model
51+
/// </summary>
52+
/// <returns>A IDictionary&lt;string, Action&lt;IParseNode&gt;&gt;</returns>
53+
public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
54+
{
55+
return new Dictionary<string, Action<IParseNode>>
56+
{
57+
{ "month", n => { Month = n.GetIntValue(); } },
58+
{ "nodeType", n => { NodeType = n.GetEnumValue<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody_nodeType>(); } },
59+
{ "timezone", n => { Timezone = n.GetObjectValue<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone>(global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone.CreateFromDiscriminatorValue); } },
60+
{ "year", n => { Year = n.GetIntValue(); } },
61+
};
62+
}
63+
/// <summary>
64+
/// Serializes information the current object
65+
/// </summary>
66+
/// <param name="writer">Serialization writer to use to serialize this model</param>
67+
public virtual void Serialize(ISerializationWriter writer)
68+
{
69+
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
70+
writer.WriteIntValue("month", Month);
71+
writer.WriteEnumValue<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody_nodeType>("nodeType", NodeType);
72+
writer.WriteObjectValue<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone>("timezone", Timezone);
73+
writer.WriteIntValue("year", Year);
74+
writer.WriteAdditionalData(AdditionalData);
75+
}
76+
/// <summary>
77+
/// Composed type wrapper for classes <see cref="double"/>, <see cref="string"/>
78+
/// </summary>
79+
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
80+
public partial class MonthlyPostRequestBody_timezone : IComposedTypeWrapper, IParsable
81+
{
82+
/// <summary>Composed type representation for type <see cref="double"/></summary>
83+
public double? Double { get; set; }
84+
/// <summary>Composed type representation for type <see cref="string"/></summary>
85+
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
86+
#nullable enable
87+
public string? String { get; set; }
88+
#nullable restore
89+
#else
90+
public string String { get; set; }
91+
#endif
92+
/// <summary>
93+
/// Creates a new instance of the appropriate class based on discriminator value
94+
/// </summary>
95+
/// <returns>A <see cref="global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone"/></returns>
96+
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
97+
public static global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone CreateFromDiscriminatorValue(IParseNode parseNode)
98+
{
99+
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
100+
var result = new global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostRequestBody.MonthlyPostRequestBody_timezone();
101+
if(parseNode.GetDoubleValue() is double doubleValue)
102+
{
103+
result.Double = doubleValue;
104+
}
105+
else if(parseNode.GetStringValue() is string stringValue)
106+
{
107+
result.String = stringValue;
108+
}
109+
return result;
110+
}
111+
/// <summary>
112+
/// The deserialization information for the current model
113+
/// </summary>
114+
/// <returns>A IDictionary&lt;string, Action&lt;IParseNode&gt;&gt;</returns>
115+
public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
116+
{
117+
return new Dictionary<string, Action<IParseNode>>();
118+
}
119+
/// <summary>
120+
/// Serializes information the current object
121+
/// </summary>
122+
/// <param name="writer">Serialization writer to use to serialize this model</param>
123+
public virtual void Serialize(ISerializationWriter writer)
124+
{
125+
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
126+
if(Double != null)
127+
{
128+
writer.WriteDoubleValue(null, Double);
129+
}
130+
else if(String != null)
131+
{
132+
writer.WriteStringValue(null, String);
133+
}
134+
}
135+
}
136+
}
137+
}
138+
#pragma warning restore CS0618
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// <auto-generated/>
2+
using System.Runtime.Serialization;
3+
using System;
4+
namespace RoxyApi.Astrology.Aspects.Monthly
5+
{
6+
/// <summary>Lunar node convention. &quot;mean&quot; is the smoothed average node, which always moves retrograde; &quot;true&quot; is the osculating node, which tracks the real perturbed node, oscillates up to about 1.5 degrees either side of the mean on a 173-day cycle, and can briefly turn direct. Neither is more correct and they almost always fall in the same sign. Applies to the North and South Node. True is the osculating node and the default, because it is what most Western chart software reports; mean is the smoothed node preferred by several evolutionary schools, so pass &quot;mean&quot; to match one. Nothing else in the chart changes, and the two agree on the sign except when the node sits within about 1.8 degrees of a cusp. Defaults to &quot;true&quot;.</summary>
7+
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
8+
public enum MonthlyPostRequestBody_nodeType
9+
{
10+
[EnumMember(Value = "mean")]
11+
#pragma warning disable CS1591
12+
Mean,
13+
#pragma warning restore CS1591
14+
[EnumMember(Value = "true")]
15+
#pragma warning disable CS1591
16+
True,
17+
#pragma warning restore CS1591
18+
}
19+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
// <auto-generated/>
2+
#pragma warning disable CS0618
3+
using Microsoft.Kiota.Abstractions.Extensions;
4+
using Microsoft.Kiota.Abstractions.Serialization;
5+
using System.Collections.Generic;
6+
using System.IO;
7+
using System;
8+
namespace RoxyApi.Astrology.Aspects.Monthly
9+
{
10+
[global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
11+
#pragma warning disable CS1591
12+
public partial class MonthlyPostResponse : IAdditionalDataHolder, IParsable
13+
#pragma warning restore CS1591
14+
{
15+
/// <summary>Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.</summary>
16+
public IDictionary<string, object> AdditionalData { get; set; }
17+
/// <summary>Every aspect event in the month, in chronological order across all body pairs.</summary>
18+
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
19+
#nullable enable
20+
public List<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse_events>? Events { get; set; }
21+
#nullable restore
22+
#else
23+
public List<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse_events> Events { get; set; }
24+
#endif
25+
/// <summary>Month of the calendar. Echoes the month requested, or the current UTC month when it was omitted.</summary>
26+
public double? Month { get; set; }
27+
/// <summary>Timezone the event dates and times are reported in. Echoes the request.</summary>
28+
public double? Timezone { get; set; }
29+
/// <summary>Year of the calendar. Echoes the year requested, or the current UTC year when it was omitted.</summary>
30+
public double? Year { get; set; }
31+
/// <summary>
32+
/// Instantiates a new <see cref="global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse"/> and sets the default values.
33+
/// </summary>
34+
public MonthlyPostResponse()
35+
{
36+
AdditionalData = new Dictionary<string, object>();
37+
}
38+
/// <summary>
39+
/// Creates a new instance of the appropriate class based on discriminator value
40+
/// </summary>
41+
/// <returns>A <see cref="global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse"/></returns>
42+
/// <param name="parseNode">The parse node to use to read the discriminator value and create the object</param>
43+
public static global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse CreateFromDiscriminatorValue(IParseNode parseNode)
44+
{
45+
if(ReferenceEquals(parseNode, null)) throw new ArgumentNullException(nameof(parseNode));
46+
return new global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse();
47+
}
48+
/// <summary>
49+
/// The deserialization information for the current model
50+
/// </summary>
51+
/// <returns>A IDictionary&lt;string, Action&lt;IParseNode&gt;&gt;</returns>
52+
public virtual IDictionary<string, Action<IParseNode>> GetFieldDeserializers()
53+
{
54+
return new Dictionary<string, Action<IParseNode>>
55+
{
56+
{ "events", n => { Events = n.GetCollectionOfObjectValues<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse_events>(global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse_events.CreateFromDiscriminatorValue)?.AsList(); } },
57+
{ "month", n => { Month = n.GetDoubleValue(); } },
58+
{ "timezone", n => { Timezone = n.GetDoubleValue(); } },
59+
{ "year", n => { Year = n.GetDoubleValue(); } },
60+
};
61+
}
62+
/// <summary>
63+
/// Serializes information the current object
64+
/// </summary>
65+
/// <param name="writer">Serialization writer to use to serialize this model</param>
66+
public virtual void Serialize(ISerializationWriter writer)
67+
{
68+
if(ReferenceEquals(writer, null)) throw new ArgumentNullException(nameof(writer));
69+
writer.WriteCollectionOfObjectValues<global::RoxyApi.Astrology.Aspects.Monthly.MonthlyPostResponse_events>("events", Events);
70+
writer.WriteDoubleValue("month", Month);
71+
writer.WriteDoubleValue("timezone", Timezone);
72+
writer.WriteDoubleValue("year", Year);
73+
writer.WriteAdditionalData(AdditionalData);
74+
}
75+
}
76+
}
77+
#pragma warning restore CS0618

0 commit comments

Comments
 (0)