@astro-api/n8n-nodes-astrology 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nodes/Astrology/Astrology.node.js +34 -0
- package/dist/nodes/Astrology/handlers/analysis.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/analysis.handler.js +137 -0
- package/dist/nodes/Astrology/handlers/astrocartography.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/astrocartography.handler.js +172 -0
- package/dist/nodes/Astrology/handlers/charts.handler.js +18 -93
- package/dist/nodes/Astrology/handlers/chinese.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/chinese.handler.js +117 -0
- package/dist/nodes/Astrology/handlers/data.handler.js +2 -4
- package/dist/nodes/Astrology/handlers/eclipses.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/eclipses.handler.js +96 -0
- package/dist/nodes/Astrology/handlers/enhanced.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/enhanced.handler.js +75 -0
- package/dist/nodes/Astrology/handlers/fengshui.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/fengshui.handler.js +63 -0
- package/dist/nodes/Astrology/handlers/fixedStars.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/fixedStars.handler.js +83 -0
- package/dist/nodes/Astrology/handlers/glossary.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/glossary.handler.js +91 -0
- package/dist/nodes/Astrology/handlers/horary.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/horary.handler.js +108 -0
- package/dist/nodes/Astrology/handlers/humanDesign.handler.js +6 -33
- package/dist/nodes/Astrology/handlers/index.d.ts +17 -0
- package/dist/nodes/Astrology/handlers/index.js +35 -1
- package/dist/nodes/Astrology/handlers/insights.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/insights.handler.js +214 -0
- package/dist/nodes/Astrology/handlers/kabbalah.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/kabbalah.handler.js +89 -0
- package/dist/nodes/Astrology/handlers/lunar.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/lunar.handler.js +49 -0
- package/dist/nodes/Astrology/handlers/numerology.handler.js +4 -18
- package/dist/nodes/Astrology/handlers/pdf.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/pdf.handler.js +144 -0
- package/dist/nodes/Astrology/handlers/render.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/render.handler.js +85 -0
- package/dist/nodes/Astrology/handlers/tarot.handler.js +9 -39
- package/dist/nodes/Astrology/handlers/traditional.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/traditional.handler.js +99 -0
- package/dist/nodes/Astrology/handlers/vedic.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/vedic.handler.js +185 -0
- package/dist/nodes/Astrology/handlers/ziwei.handler.d.ts +10 -0
- package/dist/nodes/Astrology/handlers/ziwei.handler.js +39 -0
- package/dist/nodes/Astrology/interfaces/types.d.ts +165 -1
- package/dist/nodes/Astrology/operations/analysis.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/analysis.operation.js +229 -0
- package/dist/nodes/Astrology/operations/astrocartography.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/astrocartography.operation.js +163 -0
- package/dist/nodes/Astrology/operations/charts.operation.js +1 -16
- package/dist/nodes/Astrology/operations/chinese.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/chinese.operation.js +115 -0
- package/dist/nodes/Astrology/operations/data.operation.d.ts +4 -0
- package/dist/nodes/Astrology/operations/data.operation.js +1 -19
- package/dist/nodes/Astrology/operations/eclipses.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/eclipses.operation.js +184 -0
- package/dist/nodes/Astrology/operations/enhanced.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/enhanced.operation.js +126 -0
- package/dist/nodes/Astrology/operations/fengshui.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/fengshui.operation.js +68 -0
- package/dist/nodes/Astrology/operations/fixedStars.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/fixedStars.operation.js +80 -0
- package/dist/nodes/Astrology/operations/glossary.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/glossary.operation.js +141 -0
- package/dist/nodes/Astrology/operations/horary.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/horary.operation.js +96 -0
- package/dist/nodes/Astrology/operations/humanDesign.operation.js +2 -20
- package/dist/nodes/Astrology/operations/index.d.ts +17 -0
- package/dist/nodes/Astrology/operations/index.js +35 -1
- package/dist/nodes/Astrology/operations/insights.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/insights.operation.js +325 -0
- package/dist/nodes/Astrology/operations/kabbalah.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/kabbalah.operation.js +95 -0
- package/dist/nodes/Astrology/operations/lunar.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/lunar.operation.js +87 -0
- package/dist/nodes/Astrology/operations/numerology.operation.js +1 -16
- package/dist/nodes/Astrology/operations/pdf.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/pdf.operation.js +275 -0
- package/dist/nodes/Astrology/operations/render.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/render.operation.js +67 -0
- package/dist/nodes/Astrology/operations/resource.options.js +85 -0
- package/dist/nodes/Astrology/operations/tarot.operation.js +2 -20
- package/dist/nodes/Astrology/operations/traditional.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/traditional.operation.js +211 -0
- package/dist/nodes/Astrology/operations/vedic.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/vedic.operation.js +209 -0
- package/dist/nodes/Astrology/operations/ziwei.operation.d.ts +5 -0
- package/dist/nodes/Astrology/operations/ziwei.operation.js +46 -0
- package/dist/nodes/Astrology/shared/astrocartography.fields.d.ts +50 -0
- package/dist/nodes/Astrology/shared/astrocartography.fields.js +315 -0
- package/dist/nodes/Astrology/shared/chinese.fields.d.ts +50 -0
- package/dist/nodes/Astrology/shared/chinese.fields.js +294 -0
- package/dist/nodes/Astrology/shared/dateTimeLocation.fields.d.ts +24 -0
- package/dist/nodes/Astrology/shared/dateTimeLocation.fields.js +251 -0
- package/dist/nodes/Astrology/shared/eclipses.fields.d.ts +21 -0
- package/dist/nodes/Astrology/shared/eclipses.fields.js +197 -0
- package/dist/nodes/Astrology/shared/fengshui.fields.d.ts +25 -0
- package/dist/nodes/Astrology/shared/fengshui.fields.js +134 -0
- package/dist/nodes/Astrology/shared/fixedStars.fields.d.ts +17 -0
- package/dist/nodes/Astrology/shared/fixedStars.fields.js +110 -0
- package/dist/nodes/Astrology/shared/glossary.fields.d.ts +17 -0
- package/dist/nodes/Astrology/shared/glossary.fields.js +123 -0
- package/dist/nodes/Astrology/shared/helpers.d.ts +49 -1
- package/dist/nodes/Astrology/shared/helpers.js +136 -0
- package/dist/nodes/Astrology/shared/horary.fields.d.ts +21 -0
- package/dist/nodes/Astrology/shared/horary.fields.js +231 -0
- package/dist/nodes/Astrology/shared/index.d.ts +15 -1
- package/dist/nodes/Astrology/shared/index.js +102 -1
- package/dist/nodes/Astrology/shared/insights.fields.d.ts +50 -0
- package/dist/nodes/Astrology/shared/insights.fields.js +280 -0
- package/dist/nodes/Astrology/shared/kabbalah.fields.d.ts +43 -0
- package/dist/nodes/Astrology/shared/kabbalah.fields.js +218 -0
- package/dist/nodes/Astrology/shared/pdf.fields.d.ts +21 -0
- package/dist/nodes/Astrology/shared/pdf.fields.js +230 -0
- package/dist/nodes/Astrology/shared/render.fields.d.ts +22 -0
- package/dist/nodes/Astrology/shared/render.fields.js +183 -0
- package/dist/nodes/Astrology/shared/simplify.fields.d.ts +10 -0
- package/dist/nodes/Astrology/shared/simplify.fields.js +31 -0
- package/dist/nodes/Astrology/shared/vedic.fields.d.ts +36 -0
- package/dist/nodes/Astrology/shared/vedic.fields.js +305 -0
- package/package.json +1 -1
|
@@ -22,6 +22,23 @@ const resourceHandlers = {
|
|
|
22
22
|
humanDesign: handlers_1.handleHumanDesignResource,
|
|
23
23
|
numerology: handlers_1.handleNumerologyResource,
|
|
24
24
|
tarot: handlers_1.handleTarotResource,
|
|
25
|
+
lunar: handlers_1.handleLunarResource,
|
|
26
|
+
vedic: handlers_1.handleVedicResource,
|
|
27
|
+
analysis: handlers_1.handleAnalysisResource,
|
|
28
|
+
render: handlers_1.handleRenderResource,
|
|
29
|
+
insights: handlers_1.handleInsightsResource,
|
|
30
|
+
traditional: handlers_1.handleTraditionalResource,
|
|
31
|
+
astrocartography: handlers_1.handleAstrocartographyResource,
|
|
32
|
+
chinese: handlers_1.handleChineseResource,
|
|
33
|
+
kabbalah: handlers_1.handleKabbalahResource,
|
|
34
|
+
glossary: handlers_1.handleGlossaryResource,
|
|
35
|
+
horary: handlers_1.handleHoraryResource,
|
|
36
|
+
fengshui: handlers_1.handleFengshuiResource,
|
|
37
|
+
fixedStars: handlers_1.handleFixedStarsResource,
|
|
38
|
+
enhanced: handlers_1.handleEnhancedResource,
|
|
39
|
+
pdf: handlers_1.handlePdfResource,
|
|
40
|
+
eclipses: handlers_1.handleEclipsesResource,
|
|
41
|
+
ziwei: handlers_1.handleZiweiResource,
|
|
25
42
|
};
|
|
26
43
|
class Astrology {
|
|
27
44
|
constructor() {
|
|
@@ -53,6 +70,23 @@ class Astrology {
|
|
|
53
70
|
...operations_1.humanDesignOperations,
|
|
54
71
|
...operations_1.numerologyOperations,
|
|
55
72
|
...operations_1.tarotOperations,
|
|
73
|
+
...operations_1.lunarOperations,
|
|
74
|
+
...operations_1.vedicOperations,
|
|
75
|
+
...operations_1.analysisOperations,
|
|
76
|
+
...operations_1.renderOperations,
|
|
77
|
+
...operations_1.insightsOperations,
|
|
78
|
+
...operations_1.traditionalOperations,
|
|
79
|
+
...operations_1.astrocartographyOperations,
|
|
80
|
+
...operations_1.chineseOperations,
|
|
81
|
+
...operations_1.kabbalahOperations,
|
|
82
|
+
...operations_1.glossaryOperations,
|
|
83
|
+
...operations_1.horaryOperations,
|
|
84
|
+
...operations_1.fengshuiOperations,
|
|
85
|
+
...operations_1.fixedStarsOperations,
|
|
86
|
+
...operations_1.enhancedOperations,
|
|
87
|
+
...operations_1.pdfOperations,
|
|
88
|
+
...operations_1.eclipsesOperations,
|
|
89
|
+
...operations_1.ziweiOperations,
|
|
56
90
|
],
|
|
57
91
|
};
|
|
58
92
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDataObject } from "n8n-workflow";
|
|
2
|
+
import type { IHandlerContext } from "../interfaces/types";
|
|
3
|
+
/**
|
|
4
|
+
* Handles all analysis resource operations
|
|
5
|
+
*
|
|
6
|
+
* @param context - Handler context with execution functions and credentials
|
|
7
|
+
* @param operation - The operation to execute
|
|
8
|
+
* @returns API response data
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleAnalysisResource(context: IHandlerContext, operation: string): Promise<IDataObject>;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAnalysisResource = handleAnalysisResource;
|
|
4
|
+
const helpers_1 = require("../shared/helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Endpoint mapping for analysis operations
|
|
7
|
+
*/
|
|
8
|
+
const ANALYSIS_ENDPOINTS = {
|
|
9
|
+
natalReport: "/api/v3/analysis/natal-report",
|
|
10
|
+
synastryReport: "/api/v3/analysis/synastry-report",
|
|
11
|
+
transitReport: "/api/v3/analysis/transit-report",
|
|
12
|
+
compositeReport: "/api/v3/analysis/composite-report",
|
|
13
|
+
solarReturnReport: "/api/v3/analysis/solar-return-report",
|
|
14
|
+
lunarReturnReport: "/api/v3/analysis/lunar-return-report",
|
|
15
|
+
progressionReport: "/api/v3/analysis/progression-report",
|
|
16
|
+
directionReport: "/api/v3/analysis/direction-report",
|
|
17
|
+
natalTransitReport: "/api/v3/analysis/natal-transit-report",
|
|
18
|
+
solarReturnTransitReport: "/api/v3/analysis/solar-return-transit-report",
|
|
19
|
+
lunarReturnTransitReport: "/api/v3/analysis/lunar-return-transit-report",
|
|
20
|
+
lunarAnalysis: "/api/v3/analysis/lunar-analysis",
|
|
21
|
+
compatibility: "/api/v3/analysis/compatibility",
|
|
22
|
+
compatibilityScore: "/api/v3/analysis/compatibility-score",
|
|
23
|
+
relationship: "/api/v3/analysis/relationship",
|
|
24
|
+
relationshipScore: "/api/v3/analysis/relationship-score",
|
|
25
|
+
career: "/api/v3/analysis/career",
|
|
26
|
+
vocational: "/api/v3/analysis/vocational",
|
|
27
|
+
health: "/api/v3/analysis/health",
|
|
28
|
+
psychological: "/api/v3/analysis/psychological",
|
|
29
|
+
spiritual: "/api/v3/analysis/spiritual",
|
|
30
|
+
karmic: "/api/v3/analysis/karmic",
|
|
31
|
+
predictive: "/api/v3/analysis/predictive",
|
|
32
|
+
relocation: "/api/v3/analysis/relocation",
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Operations that require two subjects
|
|
36
|
+
*/
|
|
37
|
+
const TWO_SUBJECT_OPERATIONS = [
|
|
38
|
+
"synastryReport",
|
|
39
|
+
"compositeReport",
|
|
40
|
+
"compatibility",
|
|
41
|
+
"compatibilityScore",
|
|
42
|
+
"relationship",
|
|
43
|
+
"relationshipScore",
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Operations that require transit time
|
|
47
|
+
*/
|
|
48
|
+
const TRANSIT_OPERATIONS = [
|
|
49
|
+
"transitReport",
|
|
50
|
+
"natalTransitReport",
|
|
51
|
+
"solarReturnTransitReport",
|
|
52
|
+
"lunarReturnTransitReport",
|
|
53
|
+
];
|
|
54
|
+
/**
|
|
55
|
+
* Builds report options from node parameters
|
|
56
|
+
*/
|
|
57
|
+
function buildReportOptions(context) {
|
|
58
|
+
const { executeFunctions, itemIndex } = context;
|
|
59
|
+
const reportOptions = {};
|
|
60
|
+
// Tradition (Western/Vedic)
|
|
61
|
+
const tradition = executeFunctions.getNodeParameter("tradition", itemIndex, "western");
|
|
62
|
+
if (tradition) {
|
|
63
|
+
reportOptions.tradition = tradition;
|
|
64
|
+
}
|
|
65
|
+
// Language
|
|
66
|
+
const language = executeFunctions.getNodeParameter("language", itemIndex, "en");
|
|
67
|
+
if (language) {
|
|
68
|
+
reportOptions.language = language;
|
|
69
|
+
}
|
|
70
|
+
return reportOptions;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Handles all analysis resource operations
|
|
74
|
+
*
|
|
75
|
+
* @param context - Handler context with execution functions and credentials
|
|
76
|
+
* @param operation - The operation to execute
|
|
77
|
+
* @returns API response data
|
|
78
|
+
*/
|
|
79
|
+
async function handleAnalysisResource(context, operation) {
|
|
80
|
+
const { executeFunctions, itemIndex, baseUrl, apiKey } = context;
|
|
81
|
+
const op = operation;
|
|
82
|
+
const birthData = (0, helpers_1.buildBirthData)(executeFunctions, itemIndex);
|
|
83
|
+
const reportOptions = buildReportOptions(context);
|
|
84
|
+
const includeAspectPatterns = executeFunctions.getNodeParameter("includeAspectPatterns", itemIndex, false);
|
|
85
|
+
const endpoint = ANALYSIS_ENDPOINTS[op] || ANALYSIS_ENDPOINTS.natalReport;
|
|
86
|
+
let body;
|
|
87
|
+
// Two-subject operations
|
|
88
|
+
if (TWO_SUBJECT_OPERATIONS.includes(op)) {
|
|
89
|
+
const secondBirthData = (0, helpers_1.buildSecondSubjectBirthData)(executeFunctions, itemIndex);
|
|
90
|
+
body = {
|
|
91
|
+
subject1: {
|
|
92
|
+
birth_data: birthData,
|
|
93
|
+
},
|
|
94
|
+
subject2: {
|
|
95
|
+
birth_data: secondBirthData,
|
|
96
|
+
},
|
|
97
|
+
report_options: reportOptions,
|
|
98
|
+
include_aspect_patterns: includeAspectPatterns,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
// Transit operations
|
|
102
|
+
else if (TRANSIT_OPERATIONS.includes(op)) {
|
|
103
|
+
const transitTime = (0, helpers_1.buildTransitTime)(executeFunctions, itemIndex);
|
|
104
|
+
// Check if date range is provided
|
|
105
|
+
let startDate;
|
|
106
|
+
let endDate;
|
|
107
|
+
try {
|
|
108
|
+
startDate = executeFunctions.getNodeParameter("startDate", itemIndex, "");
|
|
109
|
+
endDate = executeFunctions.getNodeParameter("endDate", itemIndex, "");
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Date range fields may not be available for all transit operations
|
|
113
|
+
}
|
|
114
|
+
body = {
|
|
115
|
+
...(0, helpers_1.createSubjectRequest)(birthData),
|
|
116
|
+
transit_time: {
|
|
117
|
+
datetime: transitTime,
|
|
118
|
+
},
|
|
119
|
+
report_options: reportOptions,
|
|
120
|
+
include_aspect_patterns: includeAspectPatterns,
|
|
121
|
+
};
|
|
122
|
+
if (startDate && endDate) {
|
|
123
|
+
body.start_date = startDate;
|
|
124
|
+
body.end_date = endDate;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// Single subject operations
|
|
128
|
+
else {
|
|
129
|
+
body = {
|
|
130
|
+
...(0, helpers_1.createSubjectRequest)(birthData),
|
|
131
|
+
report_options: reportOptions,
|
|
132
|
+
include_aspect_patterns: includeAspectPatterns,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const responseData = await (0, helpers_1.makeApiRequest)(executeFunctions, "POST", baseUrl, endpoint, apiKey, body);
|
|
136
|
+
return (0, helpers_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
137
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDataObject } from "n8n-workflow";
|
|
2
|
+
import type { IHandlerContext } from "../interfaces/types";
|
|
3
|
+
/**
|
|
4
|
+
* Handles all astrocartography resource operations
|
|
5
|
+
*
|
|
6
|
+
* @param context - Handler context with execution functions and credentials
|
|
7
|
+
* @param operation - The operation to execute
|
|
8
|
+
* @returns API response data
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleAstrocartographyResource(context: IHandlerContext, operation: string): Promise<IDataObject>;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAstrocartographyResource = handleAstrocartographyResource;
|
|
4
|
+
const helpers_1 = require("../shared/helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Endpoint mapping for astrocartography operations
|
|
7
|
+
*/
|
|
8
|
+
const ASTROCARTOGRAPHY_ENDPOINTS = {
|
|
9
|
+
supportedFeatures: "/api/v3/astrocartography/supported-features",
|
|
10
|
+
lineMeanings: "/api/v3/astrocartography/line-meanings",
|
|
11
|
+
map: "/api/v3/astrocartography/map",
|
|
12
|
+
render: "/api/v3/astrocartography/render",
|
|
13
|
+
lines: "/api/v3/astrocartography/lines",
|
|
14
|
+
locationAnalysis: "/api/v3/astrocartography/location-analysis",
|
|
15
|
+
searchLocations: "/api/v3/astrocartography/search-locations",
|
|
16
|
+
compareLocations: "/api/v3/astrocartography/compare-locations",
|
|
17
|
+
relocationChart: "/api/v3/astrocartography/relocation-chart",
|
|
18
|
+
powerZones: "/api/v3/astrocartography/power-zones",
|
|
19
|
+
paranMap: "/api/v3/astrocartography/paran-map",
|
|
20
|
+
astrodynes: "/api/v3/astrocartography/astrodynes",
|
|
21
|
+
astrodynesCompare: "/api/v3/astrocartography/astrodynes/compare",
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* GET operations (no body required)
|
|
25
|
+
*/
|
|
26
|
+
const GET_OPERATIONS = [
|
|
27
|
+
"supportedFeatures",
|
|
28
|
+
"lineMeanings",
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Operations that use planets selection
|
|
32
|
+
*/
|
|
33
|
+
const PLANETS_OPERATIONS = [
|
|
34
|
+
"map",
|
|
35
|
+
"render",
|
|
36
|
+
"lines",
|
|
37
|
+
"paranMap",
|
|
38
|
+
];
|
|
39
|
+
/**
|
|
40
|
+
* Operations that use line types
|
|
41
|
+
*/
|
|
42
|
+
const LINE_TYPES_OPERATIONS = [
|
|
43
|
+
"map",
|
|
44
|
+
"render",
|
|
45
|
+
"lines",
|
|
46
|
+
];
|
|
47
|
+
/**
|
|
48
|
+
* Operations that use target location
|
|
49
|
+
*/
|
|
50
|
+
const TARGET_LOCATION_OPERATIONS = [
|
|
51
|
+
"locationAnalysis",
|
|
52
|
+
"relocationChart",
|
|
53
|
+
"astrodynes",
|
|
54
|
+
];
|
|
55
|
+
/**
|
|
56
|
+
* Operations that use map visual options
|
|
57
|
+
*/
|
|
58
|
+
const MAP_VISUAL_OPERATIONS = [
|
|
59
|
+
"map",
|
|
60
|
+
"render",
|
|
61
|
+
"paranMap",
|
|
62
|
+
];
|
|
63
|
+
/**
|
|
64
|
+
* Builds map options from node parameters
|
|
65
|
+
*/
|
|
66
|
+
function buildMapOptions(context, op) {
|
|
67
|
+
const { executeFunctions, itemIndex } = context;
|
|
68
|
+
const mapOptions = {};
|
|
69
|
+
if (PLANETS_OPERATIONS.includes(op)) {
|
|
70
|
+
const planets = executeFunctions.getNodeParameter("acPlanets", itemIndex, [
|
|
71
|
+
"Sun",
|
|
72
|
+
"Moon",
|
|
73
|
+
"Venus",
|
|
74
|
+
"Mars",
|
|
75
|
+
"Jupiter",
|
|
76
|
+
]);
|
|
77
|
+
mapOptions.planets = planets;
|
|
78
|
+
}
|
|
79
|
+
if (LINE_TYPES_OPERATIONS.includes(op)) {
|
|
80
|
+
const lineTypes = executeFunctions.getNodeParameter("lineTypes", itemIndex, ["AC", "MC"]);
|
|
81
|
+
mapOptions.line_types = lineTypes;
|
|
82
|
+
}
|
|
83
|
+
if (op === "lines") {
|
|
84
|
+
const coordinatePrecision = executeFunctions.getNodeParameter("coordinatePrecision", itemIndex, 4);
|
|
85
|
+
mapOptions.coordinate_precision = coordinatePrecision;
|
|
86
|
+
}
|
|
87
|
+
return mapOptions;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Builds visual options from node parameters
|
|
91
|
+
*/
|
|
92
|
+
function buildVisualOptions(context) {
|
|
93
|
+
const { executeFunctions, itemIndex } = context;
|
|
94
|
+
const theme = executeFunctions.getNodeParameter("mapTheme", itemIndex, "light");
|
|
95
|
+
const width = executeFunctions.getNodeParameter("mapWidth", itemIndex, 1200);
|
|
96
|
+
const height = executeFunctions.getNodeParameter("mapHeight", itemIndex, 800);
|
|
97
|
+
return {
|
|
98
|
+
theme,
|
|
99
|
+
width,
|
|
100
|
+
height,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Builds target location from node parameters
|
|
105
|
+
*/
|
|
106
|
+
function buildTargetLocation(context) {
|
|
107
|
+
const { executeFunctions, itemIndex } = context;
|
|
108
|
+
const city = executeFunctions.getNodeParameter("targetCity", itemIndex, "");
|
|
109
|
+
const countryCode = executeFunctions.getNodeParameter("targetCountryCode", itemIndex, "");
|
|
110
|
+
const latitude = executeFunctions.getNodeParameter("targetLatitude", itemIndex, 0);
|
|
111
|
+
const longitude = executeFunctions.getNodeParameter("targetLongitude", itemIndex, 0);
|
|
112
|
+
const location = {};
|
|
113
|
+
if (city)
|
|
114
|
+
location.city = city;
|
|
115
|
+
if (countryCode)
|
|
116
|
+
location.country_code = countryCode;
|
|
117
|
+
if (latitude !== 0)
|
|
118
|
+
location.latitude = latitude;
|
|
119
|
+
if (longitude !== 0)
|
|
120
|
+
location.longitude = longitude;
|
|
121
|
+
return location;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Handles all astrocartography resource operations
|
|
125
|
+
*
|
|
126
|
+
* @param context - Handler context with execution functions and credentials
|
|
127
|
+
* @param operation - The operation to execute
|
|
128
|
+
* @returns API response data
|
|
129
|
+
*/
|
|
130
|
+
async function handleAstrocartographyResource(context, operation) {
|
|
131
|
+
const { executeFunctions, itemIndex, baseUrl, apiKey } = context;
|
|
132
|
+
const op = operation;
|
|
133
|
+
const endpoint = ASTROCARTOGRAPHY_ENDPOINTS[op] || ASTROCARTOGRAPHY_ENDPOINTS.map;
|
|
134
|
+
// GET operations - no body
|
|
135
|
+
if (GET_OPERATIONS.includes(op)) {
|
|
136
|
+
const responseData = await (0, helpers_1.makeApiRequest)(executeFunctions, "GET", baseUrl, endpoint, apiKey);
|
|
137
|
+
return (0, helpers_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
138
|
+
}
|
|
139
|
+
// POST operations with birth data
|
|
140
|
+
const birthData = (0, helpers_1.buildBirthData)(executeFunctions, itemIndex);
|
|
141
|
+
const body = {
|
|
142
|
+
...(0, helpers_1.createSubjectRequest)(birthData),
|
|
143
|
+
};
|
|
144
|
+
// Add map options
|
|
145
|
+
const mapOptions = buildMapOptions(context, op);
|
|
146
|
+
if (Object.keys(mapOptions).length > 0) {
|
|
147
|
+
body.map_options = mapOptions;
|
|
148
|
+
}
|
|
149
|
+
// Add coordinate density for lines operation
|
|
150
|
+
if (op === "lines") {
|
|
151
|
+
const coordinateDensity = executeFunctions.getNodeParameter("coordinateDensity", itemIndex, 100);
|
|
152
|
+
body.coordinate_density = coordinateDensity;
|
|
153
|
+
}
|
|
154
|
+
// Add visual options
|
|
155
|
+
if (MAP_VISUAL_OPERATIONS.includes(op)) {
|
|
156
|
+
body.visual_options = buildVisualOptions(context);
|
|
157
|
+
}
|
|
158
|
+
// Add target location
|
|
159
|
+
if (TARGET_LOCATION_OPERATIONS.includes(op)) {
|
|
160
|
+
const targetLocation = buildTargetLocation(context);
|
|
161
|
+
if (Object.keys(targetLocation).length > 0) {
|
|
162
|
+
body.target_location = targetLocation;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Add power type for power zones and search
|
|
166
|
+
if (op === "powerZones" || op === "searchLocations") {
|
|
167
|
+
const powerType = executeFunctions.getNodeParameter("powerType", itemIndex, "overall");
|
|
168
|
+
body.power_type = powerType;
|
|
169
|
+
}
|
|
170
|
+
const responseData = await (0, helpers_1.makeApiRequest)(executeFunctions, "POST", baseUrl, endpoint, apiKey, body);
|
|
171
|
+
return (0, helpers_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
172
|
+
}
|
|
@@ -234,52 +234,7 @@ async function handleNatalChart(context) {
|
|
|
234
234
|
options,
|
|
235
235
|
};
|
|
236
236
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, "/api/v3/charts/natal", apiKey, body);
|
|
237
|
-
|
|
238
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Builds second subject birth data from subject2* prefixed fields
|
|
242
|
-
*/
|
|
243
|
-
function buildSecondSubjectBirthData(executeFunctions, itemIndex) {
|
|
244
|
-
const locationType = executeFunctions.getNodeParameter("subject2LocationType", itemIndex);
|
|
245
|
-
const birthData = {
|
|
246
|
-
year: executeFunctions.getNodeParameter("subject2Year", itemIndex),
|
|
247
|
-
month: executeFunctions.getNodeParameter("subject2Month", itemIndex),
|
|
248
|
-
day: executeFunctions.getNodeParameter("subject2Day", itemIndex),
|
|
249
|
-
hour: executeFunctions.getNodeParameter("subject2Hour", itemIndex),
|
|
250
|
-
minute: executeFunctions.getNodeParameter("subject2Minute", itemIndex),
|
|
251
|
-
};
|
|
252
|
-
if (locationType === "city") {
|
|
253
|
-
birthData.city = executeFunctions.getNodeParameter("subject2City", itemIndex);
|
|
254
|
-
birthData.country_code = executeFunctions.getNodeParameter("subject2CountryCode", itemIndex);
|
|
255
|
-
}
|
|
256
|
-
else {
|
|
257
|
-
birthData.latitude = executeFunctions.getNodeParameter("subject2Latitude", itemIndex);
|
|
258
|
-
birthData.longitude = executeFunctions.getNodeParameter("subject2Longitude", itemIndex);
|
|
259
|
-
}
|
|
260
|
-
return birthData;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Builds transit time object from transit* prefixed fields
|
|
264
|
-
*/
|
|
265
|
-
function buildTransitTime(executeFunctions, itemIndex) {
|
|
266
|
-
const locationType = executeFunctions.getNodeParameter("transitLocationType", itemIndex);
|
|
267
|
-
const transitTime = {
|
|
268
|
-
year: executeFunctions.getNodeParameter("transitYear", itemIndex),
|
|
269
|
-
month: executeFunctions.getNodeParameter("transitMonth", itemIndex),
|
|
270
|
-
day: executeFunctions.getNodeParameter("transitDay", itemIndex),
|
|
271
|
-
hour: executeFunctions.getNodeParameter("transitHour", itemIndex),
|
|
272
|
-
minute: executeFunctions.getNodeParameter("transitMinute", itemIndex),
|
|
273
|
-
};
|
|
274
|
-
if (locationType === "city") {
|
|
275
|
-
transitTime.city = executeFunctions.getNodeParameter("transitCity", itemIndex);
|
|
276
|
-
transitTime.country_code = executeFunctions.getNodeParameter("transitCountryCode", itemIndex);
|
|
277
|
-
}
|
|
278
|
-
else {
|
|
279
|
-
transitTime.latitude = executeFunctions.getNodeParameter("transitLatitude", itemIndex);
|
|
280
|
-
transitTime.longitude = executeFunctions.getNodeParameter("transitLongitude", itemIndex);
|
|
281
|
-
}
|
|
282
|
-
return transitTime;
|
|
237
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
283
238
|
}
|
|
284
239
|
/**
|
|
285
240
|
* Gets common chart options
|
|
@@ -315,7 +270,7 @@ async function handleSynastryChart(context) {
|
|
|
315
270
|
const birthData1 = (0, shared_1.buildBirthData)(executeFunctions, itemIndex);
|
|
316
271
|
const subjectName1 = executeFunctions.getNodeParameter("subjectName", itemIndex, "");
|
|
317
272
|
// Build subject 2
|
|
318
|
-
const birthData2 = buildSecondSubjectBirthData(executeFunctions, itemIndex);
|
|
273
|
+
const birthData2 = (0, shared_1.buildSecondSubjectBirthData)(executeFunctions, itemIndex);
|
|
319
274
|
const subjectName2 = executeFunctions.getNodeParameter("subject2Name", itemIndex, "");
|
|
320
275
|
// Get options
|
|
321
276
|
const options = getChartOptions(executeFunctions, itemIndex);
|
|
@@ -332,8 +287,7 @@ async function handleSynastryChart(context) {
|
|
|
332
287
|
options,
|
|
333
288
|
};
|
|
334
289
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.synastry, apiKey, body);
|
|
335
|
-
|
|
336
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
290
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
337
291
|
}
|
|
338
292
|
/**
|
|
339
293
|
* Handles transit chart generation (transits overlay on natal)
|
|
@@ -344,7 +298,7 @@ async function handleTransitChart(context) {
|
|
|
344
298
|
const birthData = (0, shared_1.buildBirthData)(executeFunctions, itemIndex);
|
|
345
299
|
const subjectName = executeFunctions.getNodeParameter("subjectName", itemIndex, "");
|
|
346
300
|
// Build transit time
|
|
347
|
-
const transitTime = buildTransitTime(executeFunctions, itemIndex);
|
|
301
|
+
const transitTime = (0, shared_1.buildTransitTime)(executeFunctions, itemIndex);
|
|
348
302
|
// Get options
|
|
349
303
|
const options = getChartOptions(executeFunctions, itemIndex);
|
|
350
304
|
// Build request body
|
|
@@ -359,8 +313,7 @@ async function handleTransitChart(context) {
|
|
|
359
313
|
options,
|
|
360
314
|
};
|
|
361
315
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.transit, apiKey, body);
|
|
362
|
-
|
|
363
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
316
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
364
317
|
}
|
|
365
318
|
/**
|
|
366
319
|
* Handles composite chart generation (merged relationship chart)
|
|
@@ -371,7 +324,7 @@ async function handleCompositeChart(context) {
|
|
|
371
324
|
const birthData1 = (0, shared_1.buildBirthData)(executeFunctions, itemIndex);
|
|
372
325
|
const subjectName1 = executeFunctions.getNodeParameter("subjectName", itemIndex, "");
|
|
373
326
|
// Build subject 2
|
|
374
|
-
const birthData2 = buildSecondSubjectBirthData(executeFunctions, itemIndex);
|
|
327
|
+
const birthData2 = (0, shared_1.buildSecondSubjectBirthData)(executeFunctions, itemIndex);
|
|
375
328
|
const subjectName2 = executeFunctions.getNodeParameter("subject2Name", itemIndex, "");
|
|
376
329
|
// Get options
|
|
377
330
|
const options = getChartOptions(executeFunctions, itemIndex);
|
|
@@ -388,8 +341,7 @@ async function handleCompositeChart(context) {
|
|
|
388
341
|
options,
|
|
389
342
|
};
|
|
390
343
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.composite, apiKey, body);
|
|
391
|
-
|
|
392
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
344
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
393
345
|
}
|
|
394
346
|
/**
|
|
395
347
|
* Handles solar return chart generation (birthday year forecast)
|
|
@@ -413,23 +365,12 @@ async function handleSolarReturnChart(context) {
|
|
|
413
365
|
options,
|
|
414
366
|
};
|
|
415
367
|
// Handle relocated return location
|
|
416
|
-
const
|
|
417
|
-
if (
|
|
418
|
-
const returnLocationType = executeFunctions.getNodeParameter("returnLocationType", itemIndex);
|
|
419
|
-
const returnLocation = {};
|
|
420
|
-
if (returnLocationType === "city") {
|
|
421
|
-
returnLocation.city = executeFunctions.getNodeParameter("returnCity", itemIndex);
|
|
422
|
-
returnLocation.country_code = executeFunctions.getNodeParameter("returnCountryCode", itemIndex);
|
|
423
|
-
}
|
|
424
|
-
else {
|
|
425
|
-
returnLocation.latitude = executeFunctions.getNodeParameter("returnLatitude", itemIndex);
|
|
426
|
-
returnLocation.longitude = executeFunctions.getNodeParameter("returnLongitude", itemIndex);
|
|
427
|
-
}
|
|
368
|
+
const returnLocation = (0, shared_1.buildReturnLocation)(executeFunctions, itemIndex);
|
|
369
|
+
if (returnLocation) {
|
|
428
370
|
body.return_location = returnLocation;
|
|
429
371
|
}
|
|
430
372
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.solarReturn, apiKey, body);
|
|
431
|
-
|
|
432
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
373
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
433
374
|
}
|
|
434
375
|
/**
|
|
435
376
|
* Handles lunar return chart generation (monthly forecast)
|
|
@@ -455,8 +396,7 @@ async function handleLunarReturnChart(context) {
|
|
|
455
396
|
body.return_date = lunarReturnDate;
|
|
456
397
|
}
|
|
457
398
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.lunarReturn, apiKey, body);
|
|
458
|
-
|
|
459
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
399
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
460
400
|
}
|
|
461
401
|
/**
|
|
462
402
|
* Handles progressions chart generation (secondary progressions)
|
|
@@ -480,8 +420,7 @@ async function handleProgressionsChart(context) {
|
|
|
480
420
|
options,
|
|
481
421
|
};
|
|
482
422
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.progressions, apiKey, body);
|
|
483
|
-
|
|
484
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
423
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
485
424
|
}
|
|
486
425
|
/**
|
|
487
426
|
* Handles natal transits analysis (transit period over date range)
|
|
@@ -504,8 +443,7 @@ async function handleNatalTransits(context) {
|
|
|
504
443
|
end_date: endDate,
|
|
505
444
|
};
|
|
506
445
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.natalTransits, apiKey, body);
|
|
507
|
-
|
|
508
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
446
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
509
447
|
}
|
|
510
448
|
/**
|
|
511
449
|
* Handles directions chart generation (primary directions)
|
|
@@ -529,8 +467,7 @@ async function handleDirectionsChart(context) {
|
|
|
529
467
|
options,
|
|
530
468
|
};
|
|
531
469
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.directions, apiKey, body);
|
|
532
|
-
|
|
533
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
470
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
534
471
|
}
|
|
535
472
|
/**
|
|
536
473
|
* Handles solar return transits (transits to solar return chart over a date range)
|
|
@@ -558,23 +495,12 @@ async function handleSolarReturnTransits(context) {
|
|
|
558
495
|
orb,
|
|
559
496
|
};
|
|
560
497
|
// Handle relocated return location
|
|
561
|
-
const
|
|
562
|
-
if (
|
|
563
|
-
const returnLocationType = executeFunctions.getNodeParameter("returnLocationType", itemIndex);
|
|
564
|
-
const returnLocation = {};
|
|
565
|
-
if (returnLocationType === "city") {
|
|
566
|
-
returnLocation.city = executeFunctions.getNodeParameter("returnCity", itemIndex);
|
|
567
|
-
returnLocation.country_code = executeFunctions.getNodeParameter("returnCountryCode", itemIndex);
|
|
568
|
-
}
|
|
569
|
-
else {
|
|
570
|
-
returnLocation.latitude = executeFunctions.getNodeParameter("returnLatitude", itemIndex);
|
|
571
|
-
returnLocation.longitude = executeFunctions.getNodeParameter("returnLongitude", itemIndex);
|
|
572
|
-
}
|
|
498
|
+
const returnLocation = (0, shared_1.buildReturnLocation)(executeFunctions, itemIndex);
|
|
499
|
+
if (returnLocation) {
|
|
573
500
|
body.return_location = returnLocation;
|
|
574
501
|
}
|
|
575
502
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.solarReturnTransits, apiKey, body);
|
|
576
|
-
|
|
577
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
503
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
578
504
|
}
|
|
579
505
|
/**
|
|
580
506
|
* Handles lunar return transits (transits to lunar return chart over a date range)
|
|
@@ -604,6 +530,5 @@ async function handleLunarReturnTransits(context) {
|
|
|
604
530
|
body.return_date = lunarReturnDate;
|
|
605
531
|
}
|
|
606
532
|
const responseData = await (0, shared_1.makeApiRequest)(executeFunctions, "POST", baseUrl, CHARTS_ENDPOINTS.lunarReturnTransits, apiKey, body);
|
|
607
|
-
|
|
608
|
-
return simplify ? (0, shared_1.simplifyResponse)(responseData) : responseData;
|
|
533
|
+
return (0, shared_1.applySimplifyIfEnabled)(executeFunctions, itemIndex, responseData);
|
|
609
534
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IDataObject } from "n8n-workflow";
|
|
2
|
+
import type { IHandlerContext } from "../interfaces/types";
|
|
3
|
+
/**
|
|
4
|
+
* Handles all chinese resource operations
|
|
5
|
+
*
|
|
6
|
+
* @param context - Handler context with execution functions and credentials
|
|
7
|
+
* @param operation - The operation to execute
|
|
8
|
+
* @returns API response data
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleChineseResource(context: IHandlerContext, operation: string): Promise<IDataObject>;
|