n8n-nodes-substack 0.6.0 โ†’ 0.7.1

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.
Files changed (44) hide show
  1. package/README.md +1 -1
  2. package/dist/nodes/Substack/Comment.fields.d.ts +2 -0
  3. package/dist/nodes/Substack/Comment.fields.js +50 -0
  4. package/dist/nodes/Substack/Comment.fields.js.map +1 -0
  5. package/dist/nodes/Substack/Comment.operations.d.ts +9 -0
  6. package/dist/nodes/Substack/Comment.operations.js +119 -0
  7. package/dist/nodes/Substack/Comment.operations.js.map +1 -0
  8. package/dist/nodes/Substack/Note.fields.d.ts +2 -0
  9. package/dist/nodes/Substack/Note.fields.js +96 -0
  10. package/dist/nodes/Substack/Note.fields.js.map +1 -0
  11. package/dist/nodes/Substack/Note.operations.d.ts +11 -0
  12. package/dist/nodes/Substack/Note.operations.js +244 -0
  13. package/dist/nodes/Substack/Note.operations.js.map +1 -0
  14. package/dist/nodes/Substack/Post.fields.d.ts +2 -0
  15. package/dist/nodes/Substack/Post.fields.js +96 -0
  16. package/dist/nodes/Substack/Post.fields.js.map +1 -0
  17. package/dist/nodes/Substack/Post.operations.d.ts +11 -0
  18. package/dist/nodes/Substack/Post.operations.js +248 -0
  19. package/dist/nodes/Substack/Post.operations.js.map +1 -0
  20. package/dist/nodes/Substack/Profile.fields.d.ts +2 -0
  21. package/dist/nodes/Substack/Profile.fields.js +75 -0
  22. package/dist/nodes/Substack/Profile.fields.js.map +1 -0
  23. package/dist/nodes/Substack/Profile.operations.d.ts +11 -0
  24. package/dist/nodes/Substack/Profile.operations.js +184 -0
  25. package/dist/nodes/Substack/Profile.operations.js.map +1 -0
  26. package/dist/nodes/Substack/Substack.node.d.ts +6 -0
  27. package/dist/nodes/Substack/Substack.node.js +46 -66
  28. package/dist/nodes/Substack/Substack.node.js.map +1 -1
  29. package/dist/nodes/Substack/Substack.node.json +22 -0
  30. package/dist/package.json +3 -6
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +3 -6
  33. package/dist/nodes/Substack/CommentOperations.d.ts +0 -6
  34. package/dist/nodes/Substack/CommentOperations.js +0 -53
  35. package/dist/nodes/Substack/CommentOperations.js.map +0 -1
  36. package/dist/nodes/Substack/FollowOperations.d.ts +0 -6
  37. package/dist/nodes/Substack/FollowOperations.js +0 -57
  38. package/dist/nodes/Substack/FollowOperations.js.map +0 -1
  39. package/dist/nodes/Substack/NoteOperations.d.ts +0 -7
  40. package/dist/nodes/Substack/NoteOperations.js +0 -90
  41. package/dist/nodes/Substack/NoteOperations.js.map +0 -1
  42. package/dist/nodes/Substack/PostOperations.d.ts +0 -6
  43. package/dist/nodes/Substack/PostOperations.js +0 -57
  44. package/dist/nodes/Substack/PostOperations.js.map +0 -1
package/README.md CHANGED
@@ -113,7 +113,7 @@ Or clone locally and open in VS Code with the Dev Containers extension.
113
113
 
114
114
  **What's included:**
115
115
  - โšก Node.js LTS with all dependencies pre-installed
116
- - ๐Ÿงช Complete testing environment (Jest, unit & E2E tests)
116
+ - ๐Ÿงช Complete testing environment (Jest, unit tests)
117
117
  - ๐Ÿ”ง Code quality tools (ESLint, Prettier, TypeScript)
118
118
  - ๐Ÿ“‹ Pre-configured VS Code tasks and extensions
119
119
  - ๐Ÿš€ Optional n8n CLI for integration testing
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const commentFields: INodeProperties[];
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commentFields = void 0;
4
+ exports.commentFields = [
5
+ {
6
+ displayName: 'Post ID',
7
+ name: 'postId',
8
+ type: 'number',
9
+ default: 0,
10
+ description: 'The ID of the post to get comments for',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['comment'],
14
+ operation: ['getAll'],
15
+ },
16
+ },
17
+ required: true,
18
+ },
19
+ {
20
+ displayName: 'Limit',
21
+ name: 'limit',
22
+ type: 'number',
23
+ default: 50,
24
+ description: 'Max number of results to return',
25
+ displayOptions: {
26
+ show: {
27
+ resource: ['comment'],
28
+ operation: ['getAll'],
29
+ },
30
+ },
31
+ typeOptions: {
32
+ minValue: 1,
33
+ },
34
+ },
35
+ {
36
+ displayName: 'Comment ID',
37
+ name: 'commentId',
38
+ type: 'string',
39
+ default: '',
40
+ description: 'The ID of the comment to retrieve',
41
+ displayOptions: {
42
+ show: {
43
+ resource: ['comment'],
44
+ operation: ['getCommentById'],
45
+ },
46
+ },
47
+ required: true,
48
+ },
49
+ ];
50
+ //# sourceMappingURL=Comment.fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Comment.fields.js","sourceRoot":"","sources":["../../../nodes/Substack/Comment.fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAsB;IAI/C;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,QAAQ,CAAC;aACrB;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;SACX;KACD;IAID;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,mCAAmC;QAChD,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACD;QACD,QAAQ,EAAE,IAAI;KACd;CACD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+ import { SubstackClient } from 'substack-api';
3
+ import { IStandardResponse } from './types';
4
+ export declare enum CommentOperation {
5
+ GetAll = "getAll",
6
+ GetCommentById = "getCommentById"
7
+ }
8
+ export declare const commentOperations: INodeProperties[];
9
+ export declare const commentOperationHandlers: Record<CommentOperation, (executeFunctions: IExecuteFunctions, client: SubstackClient, publicationAddress: string, itemIndex: number) => Promise<IStandardResponse>>;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commentOperationHandlers = exports.commentOperations = exports.CommentOperation = void 0;
4
+ const SubstackUtils_1 = require("./SubstackUtils");
5
+ var CommentOperation;
6
+ (function (CommentOperation) {
7
+ CommentOperation["GetAll"] = "getAll";
8
+ CommentOperation["GetCommentById"] = "getCommentById";
9
+ })(CommentOperation || (exports.CommentOperation = CommentOperation = {}));
10
+ exports.commentOperations = [
11
+ {
12
+ displayName: 'Operation',
13
+ name: 'operation',
14
+ type: 'options',
15
+ default: 'getAll',
16
+ noDataExpression: true,
17
+ displayOptions: {
18
+ show: {
19
+ resource: ['comment'],
20
+ },
21
+ },
22
+ options: [
23
+ {
24
+ name: 'Get All Comments',
25
+ value: CommentOperation.GetAll,
26
+ description: 'Get all comments for a specific post',
27
+ action: 'Get all comments',
28
+ },
29
+ {
30
+ name: 'Get Comment by ID',
31
+ value: CommentOperation.GetCommentById,
32
+ description: 'Get a specific comment by its ID',
33
+ action: 'Get comment by ID',
34
+ },
35
+ ],
36
+ },
37
+ ];
38
+ async function getAll(executeFunctions, client, publicationAddress, itemIndex) {
39
+ var _a;
40
+ try {
41
+ const postId = executeFunctions.getNodeParameter('postId', itemIndex);
42
+ const limitParam = executeFunctions.getNodeParameter('limit', itemIndex, '');
43
+ let limit = 100;
44
+ if (limitParam !== '' && limitParam !== null && limitParam !== undefined) {
45
+ limit = Number(limitParam);
46
+ }
47
+ const post = await client.postForId(postId.toString());
48
+ const commentsIterable = await post.comments();
49
+ const formattedComments = [];
50
+ let count = 0;
51
+ for await (const comment of commentsIterable) {
52
+ if (count >= limit)
53
+ break;
54
+ formattedComments.push({
55
+ id: comment.id,
56
+ body: comment.body,
57
+ createdAt: ((_a = comment.rawData) === null || _a === void 0 ? void 0 : _a.created_at) || comment.createdAt.toISOString(),
58
+ parentPostId: postId,
59
+ author: {
60
+ id: comment.author.id,
61
+ name: comment.author.name,
62
+ isAdmin: comment.author.isAdmin || false,
63
+ },
64
+ });
65
+ count++;
66
+ }
67
+ return {
68
+ success: true,
69
+ data: formattedComments,
70
+ metadata: {
71
+ status: 'success',
72
+ },
73
+ };
74
+ }
75
+ catch (error) {
76
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
77
+ message: error.message,
78
+ node: executeFunctions.getNode(),
79
+ itemIndex,
80
+ });
81
+ }
82
+ }
83
+ async function getCommentById(executeFunctions, client, publicationAddress, itemIndex) {
84
+ var _a, _b;
85
+ try {
86
+ const commentId = executeFunctions.getNodeParameter('commentId', itemIndex);
87
+ const comment = await client.commentForId(commentId);
88
+ const formattedComment = {
89
+ id: comment.id,
90
+ body: comment.body,
91
+ createdAt: ((_a = comment.rawData) === null || _a === void 0 ? void 0 : _a.created_at) || comment.createdAt.toISOString(),
92
+ parentPostId: ((_b = comment.rawData) === null || _b === void 0 ? void 0 : _b.parent_post_id) || 0,
93
+ author: {
94
+ id: comment.author.id,
95
+ name: comment.author.name,
96
+ isAdmin: comment.author.isAdmin || false,
97
+ },
98
+ };
99
+ return {
100
+ success: true,
101
+ data: formattedComment,
102
+ metadata: {
103
+ status: 'success',
104
+ },
105
+ };
106
+ }
107
+ catch (error) {
108
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
109
+ message: error.message,
110
+ node: executeFunctions.getNode(),
111
+ itemIndex,
112
+ });
113
+ }
114
+ }
115
+ exports.commentOperationHandlers = {
116
+ [CommentOperation.GetAll]: getAll,
117
+ [CommentOperation.GetCommentById]: getCommentById,
118
+ };
119
+ //# sourceMappingURL=Comment.operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Comment.operations.js","sourceRoot":"","sources":["../../../nodes/Substack/Comment.operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const noteFields: INodeProperties[];
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noteFields = void 0;
4
+ exports.noteFields = [
5
+ {
6
+ displayName: 'Limit',
7
+ name: 'limit',
8
+ type: 'number',
9
+ default: 50,
10
+ description: 'Max number of results to return',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['note'],
14
+ operation: ['get'],
15
+ },
16
+ },
17
+ typeOptions: {
18
+ minValue: 1,
19
+ },
20
+ },
21
+ {
22
+ displayName: 'Slug',
23
+ name: 'slug',
24
+ type: 'string',
25
+ default: '',
26
+ description: 'The publication slug (subdomain)',
27
+ displayOptions: {
28
+ show: {
29
+ resource: ['note'],
30
+ operation: ['getNotesBySlug'],
31
+ },
32
+ },
33
+ required: true,
34
+ },
35
+ {
36
+ displayName: 'Limit',
37
+ name: 'limit',
38
+ type: 'number',
39
+ default: 50,
40
+ description: 'Max number of results to return',
41
+ displayOptions: {
42
+ show: {
43
+ resource: ['note'],
44
+ operation: ['getNotesBySlug'],
45
+ },
46
+ },
47
+ typeOptions: {
48
+ minValue: 1,
49
+ },
50
+ },
51
+ {
52
+ displayName: 'User ID',
53
+ name: 'userId',
54
+ type: 'number',
55
+ default: 0,
56
+ description: 'The user ID to get notes for',
57
+ displayOptions: {
58
+ show: {
59
+ resource: ['note'],
60
+ operation: ['getNotesById'],
61
+ },
62
+ },
63
+ required: true,
64
+ },
65
+ {
66
+ displayName: 'Limit',
67
+ name: 'limit',
68
+ type: 'number',
69
+ default: 50,
70
+ description: 'Max number of results to return',
71
+ displayOptions: {
72
+ show: {
73
+ resource: ['note'],
74
+ operation: ['getNotesById'],
75
+ },
76
+ },
77
+ typeOptions: {
78
+ minValue: 1,
79
+ },
80
+ },
81
+ {
82
+ displayName: 'Note ID',
83
+ name: 'noteId',
84
+ type: 'string',
85
+ default: '',
86
+ description: 'The ID of the note to retrieve',
87
+ displayOptions: {
88
+ show: {
89
+ resource: ['note'],
90
+ operation: ['getNoteById'],
91
+ },
92
+ },
93
+ required: true,
94
+ },
95
+ ];
96
+ //# sourceMappingURL=Note.fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Note.fields.js","sourceRoot":"","sources":["../../../nodes/Substack/Note.fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAsB;IAI5C;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,KAAK,CAAC;aAClB;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;SACX;KACD;IAID;QACC,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,kCAAkC;QAC/C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;SACX;KACD;IAID;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,8BAA8B;QAC3C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,cAAc,CAAC;aAC3B;SACD;QACD,QAAQ,EAAE,IAAI;KACd;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;QAC9C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,cAAc,CAAC;aAC3B;SACD;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;SACX;KACD;IAID;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gCAAgC;QAC7C,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,SAAS,EAAE,CAAC,aAAa,CAAC;aAC1B;SACD;QACD,QAAQ,EAAE,IAAI;KACd;CACD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
2
+ import { SubstackClient } from 'substack-api';
3
+ import { IStandardResponse } from './types';
4
+ export declare enum NoteOperation {
5
+ Get = "get",
6
+ GetNotesBySlug = "getNotesBySlug",
7
+ GetNotesById = "getNotesById",
8
+ GetNoteById = "getNoteById"
9
+ }
10
+ export declare const noteOperations: INodeProperties[];
11
+ export declare const noteOperationHandlers: Record<NoteOperation, (executeFunctions: IExecuteFunctions, client: SubstackClient, publicationAddress: string, itemIndex: number) => Promise<IStandardResponse>>;
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.noteOperationHandlers = exports.noteOperations = exports.NoteOperation = void 0;
4
+ const SubstackUtils_1 = require("./SubstackUtils");
5
+ var NoteOperation;
6
+ (function (NoteOperation) {
7
+ NoteOperation["Get"] = "get";
8
+ NoteOperation["GetNotesBySlug"] = "getNotesBySlug";
9
+ NoteOperation["GetNotesById"] = "getNotesById";
10
+ NoteOperation["GetNoteById"] = "getNoteById";
11
+ })(NoteOperation || (exports.NoteOperation = NoteOperation = {}));
12
+ exports.noteOperations = [
13
+ {
14
+ displayName: 'Operation',
15
+ name: 'operation',
16
+ type: 'options',
17
+ default: 'create',
18
+ noDataExpression: true,
19
+ displayOptions: {
20
+ show: {
21
+ resource: ['note'],
22
+ },
23
+ },
24
+ options: [
25
+ {
26
+ name: 'Get Notes',
27
+ value: NoteOperation.Get,
28
+ description: 'Get notes from own profile',
29
+ action: 'Get notes',
30
+ },
31
+ {
32
+ name: 'Get Notes From Profile by Slug',
33
+ value: NoteOperation.GetNotesBySlug,
34
+ description: 'Get notes from a profile by its publication slug',
35
+ action: 'Get notes by slug',
36
+ },
37
+ {
38
+ name: 'Get Notes From Profile by ID',
39
+ value: NoteOperation.GetNotesById,
40
+ description: 'Get notes from a profile by its user ID',
41
+ action: 'Get notes by ID',
42
+ },
43
+ {
44
+ name: 'Get Note by ID',
45
+ value: NoteOperation.GetNoteById,
46
+ description: 'Get a specific note by its ID',
47
+ action: 'Get note by ID',
48
+ },
49
+ ],
50
+ },
51
+ ];
52
+ async function get(executeFunctions, client, publicationAddress, itemIndex) {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
54
+ try {
55
+ const limitParam = executeFunctions.getNodeParameter('limit', itemIndex, '');
56
+ let limit = 100;
57
+ if (limitParam !== '' && limitParam !== null && limitParam !== undefined) {
58
+ limit = Number(limitParam);
59
+ }
60
+ const ownProfile = await client.ownProfile();
61
+ const notesIterable = await ownProfile.notes();
62
+ const formattedNotes = [];
63
+ let count = 0;
64
+ for await (const note of notesIterable) {
65
+ if (count >= limit)
66
+ break;
67
+ formattedNotes.push({
68
+ noteId: ((_c = (_b = (_a = note.rawData) === null || _a === void 0 ? void 0 : _a.comment) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.toString()) || ((_d = note.id) === null || _d === void 0 ? void 0 : _d.toString()) || 'unknown',
69
+ body: note.body || '',
70
+ url: SubstackUtils_1.SubstackUtils.formatUrl(publicationAddress, `/p/${((_f = (_e = note.rawData) === null || _e === void 0 ? void 0 : _e.comment) === null || _f === void 0 ? void 0 : _f.id) || note.id || 'unknown'}`),
71
+ date: ((_h = (_g = note.rawData) === null || _g === void 0 ? void 0 : _g.context) === null || _h === void 0 ? void 0 : _h.timestamp) ||
72
+ ((_j = note.publishedAt) === null || _j === void 0 ? void 0 : _j.toISOString()) ||
73
+ new Date().toISOString(),
74
+ status: 'published',
75
+ userId: ((_l = (_k = note.author) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.toString()) || 'unknown',
76
+ likes: note.likesCount || 0,
77
+ restacks: ((_o = (_m = note.rawData) === null || _m === void 0 ? void 0 : _m.comment) === null || _o === void 0 ? void 0 : _o.restacks) || 0,
78
+ type: 'note',
79
+ entityKey: ((_p = note.rawData) === null || _p === void 0 ? void 0 : _p.entity_key) || note.id,
80
+ });
81
+ count++;
82
+ }
83
+ return {
84
+ success: true,
85
+ data: formattedNotes,
86
+ metadata: {
87
+ status: 'success',
88
+ },
89
+ };
90
+ }
91
+ catch (error) {
92
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
93
+ message: error.message,
94
+ node: executeFunctions.getNode(),
95
+ itemIndex,
96
+ });
97
+ }
98
+ }
99
+ async function getNotesBySlug(executeFunctions, client, publicationAddress, itemIndex) {
100
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
101
+ try {
102
+ const slug = executeFunctions.getNodeParameter('slug', itemIndex);
103
+ const limitParam = executeFunctions.getNodeParameter('limit', itemIndex, '');
104
+ let limit = 100;
105
+ if (limitParam !== '' && limitParam !== null && limitParam !== undefined) {
106
+ limit = Number(limitParam);
107
+ }
108
+ const profile = await client.profileForSlug(slug);
109
+ const notesIterable = await profile.notes();
110
+ const formattedNotes = [];
111
+ let count = 0;
112
+ for await (const note of notesIterable) {
113
+ if (count >= limit)
114
+ break;
115
+ try {
116
+ formattedNotes.push({
117
+ noteId: ((_c = (_b = (_a = note.rawData) === null || _a === void 0 ? void 0 : _a.comment) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.toString()) || ((_d = note.id) === null || _d === void 0 ? void 0 : _d.toString()) || 'unknown',
118
+ body: note.body || '',
119
+ url: SubstackUtils_1.SubstackUtils.formatUrl(publicationAddress, `/p/${((_f = (_e = note.rawData) === null || _e === void 0 ? void 0 : _e.comment) === null || _f === void 0 ? void 0 : _f.id) || note.id || 'unknown'}`),
120
+ date: ((_h = (_g = note.rawData) === null || _g === void 0 ? void 0 : _g.context) === null || _h === void 0 ? void 0 : _h.timestamp) ||
121
+ ((_j = note.publishedAt) === null || _j === void 0 ? void 0 : _j.toISOString()) ||
122
+ new Date().toISOString(),
123
+ status: 'published',
124
+ userId: ((_l = (_k = note.author) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.toString()) || 'unknown',
125
+ likes: note.likesCount || 0,
126
+ restacks: ((_o = (_m = note.rawData) === null || _m === void 0 ? void 0 : _m.comment) === null || _o === void 0 ? void 0 : _o.restacks) || 0,
127
+ type: 'note',
128
+ entityKey: ((_p = note.rawData) === null || _p === void 0 ? void 0 : _p.entity_key) || note.id,
129
+ });
130
+ }
131
+ catch (error) {
132
+ }
133
+ count++;
134
+ }
135
+ return {
136
+ success: true,
137
+ data: formattedNotes,
138
+ metadata: {
139
+ status: 'success',
140
+ },
141
+ };
142
+ }
143
+ catch (error) {
144
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
145
+ message: error.message,
146
+ node: executeFunctions.getNode(),
147
+ itemIndex,
148
+ });
149
+ }
150
+ }
151
+ async function getNotesById(executeFunctions, client, publicationAddress, itemIndex) {
152
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
153
+ try {
154
+ const userId = executeFunctions.getNodeParameter('userId', itemIndex);
155
+ const limitParam = executeFunctions.getNodeParameter('limit', itemIndex, '');
156
+ let limit = 100;
157
+ if (limitParam !== '' && limitParam !== null && limitParam !== undefined) {
158
+ limit = Number(limitParam);
159
+ }
160
+ const profile = await client.profileForId(userId);
161
+ const notesIterable = await profile.notes();
162
+ const formattedNotes = [];
163
+ let count = 0;
164
+ for await (const note of notesIterable) {
165
+ if (count >= limit)
166
+ break;
167
+ try {
168
+ formattedNotes.push({
169
+ noteId: ((_c = (_b = (_a = note.rawData) === null || _a === void 0 ? void 0 : _a.comment) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.toString()) || ((_d = note.id) === null || _d === void 0 ? void 0 : _d.toString()) || 'unknown',
170
+ body: note.body || '',
171
+ url: SubstackUtils_1.SubstackUtils.formatUrl(publicationAddress, `/p/${((_f = (_e = note.rawData) === null || _e === void 0 ? void 0 : _e.comment) === null || _f === void 0 ? void 0 : _f.id) || note.id || 'unknown'}`),
172
+ date: ((_h = (_g = note.rawData) === null || _g === void 0 ? void 0 : _g.context) === null || _h === void 0 ? void 0 : _h.timestamp) ||
173
+ ((_j = note.publishedAt) === null || _j === void 0 ? void 0 : _j.toISOString()) ||
174
+ new Date().toISOString(),
175
+ status: 'published',
176
+ userId: ((_l = (_k = note.author) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.toString()) || 'unknown',
177
+ likes: note.likesCount || 0,
178
+ restacks: ((_o = (_m = note.rawData) === null || _m === void 0 ? void 0 : _m.comment) === null || _o === void 0 ? void 0 : _o.restacks) || 0,
179
+ type: 'note',
180
+ entityKey: ((_p = note.rawData) === null || _p === void 0 ? void 0 : _p.entity_key) || note.id,
181
+ });
182
+ }
183
+ catch (error) {
184
+ }
185
+ count++;
186
+ }
187
+ return {
188
+ success: true,
189
+ data: formattedNotes,
190
+ metadata: {
191
+ status: 'success',
192
+ },
193
+ };
194
+ }
195
+ catch (error) {
196
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
197
+ message: error.message,
198
+ node: executeFunctions.getNode(),
199
+ itemIndex,
200
+ });
201
+ }
202
+ }
203
+ async function getNoteById(executeFunctions, client, publicationAddress, itemIndex) {
204
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
205
+ try {
206
+ const noteId = executeFunctions.getNodeParameter('noteId', itemIndex);
207
+ const note = await client.noteForId(noteId);
208
+ const formattedNote = {
209
+ noteId: ((_c = (_b = (_a = note.rawData) === null || _a === void 0 ? void 0 : _a.comment) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.toString()) || ((_d = note.id) === null || _d === void 0 ? void 0 : _d.toString()) || 'unknown',
210
+ body: note.body || '',
211
+ url: SubstackUtils_1.SubstackUtils.formatUrl(publicationAddress, `/p/${((_f = (_e = note.rawData) === null || _e === void 0 ? void 0 : _e.comment) === null || _f === void 0 ? void 0 : _f.id) || note.id || 'unknown'}`),
212
+ date: ((_h = (_g = note.rawData) === null || _g === void 0 ? void 0 : _g.context) === null || _h === void 0 ? void 0 : _h.timestamp) ||
213
+ ((_j = note.publishedAt) === null || _j === void 0 ? void 0 : _j.toISOString()) ||
214
+ new Date().toISOString(),
215
+ status: 'published',
216
+ userId: ((_l = (_k = note.author) === null || _k === void 0 ? void 0 : _k.id) === null || _l === void 0 ? void 0 : _l.toString()) || 'unknown',
217
+ likes: note.likesCount || 0,
218
+ restacks: ((_o = (_m = note.rawData) === null || _m === void 0 ? void 0 : _m.comment) === null || _o === void 0 ? void 0 : _o.restacks) || 0,
219
+ type: 'note',
220
+ entityKey: ((_p = note.rawData) === null || _p === void 0 ? void 0 : _p.entity_key) || note.id,
221
+ };
222
+ return {
223
+ success: true,
224
+ data: formattedNote,
225
+ metadata: {
226
+ status: 'success',
227
+ },
228
+ };
229
+ }
230
+ catch (error) {
231
+ return SubstackUtils_1.SubstackUtils.formatErrorResponse({
232
+ message: error.message,
233
+ node: executeFunctions.getNode(),
234
+ itemIndex,
235
+ });
236
+ }
237
+ }
238
+ exports.noteOperationHandlers = {
239
+ [NoteOperation.Get]: get,
240
+ [NoteOperation.GetNotesBySlug]: getNotesBySlug,
241
+ [NoteOperation.GetNotesById]: getNotesById,
242
+ [NoteOperation.GetNoteById]: getNoteById,
243
+ };
244
+ //# sourceMappingURL=Note.operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Note.operations.js","sourceRoot":"","sources":["../../../nodes/Substack/Note.operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const postFields: INodeProperties[];