n8n-nodes-redlib 0.1.1 → 1.0.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 (97) hide show
  1. package/README.md +101 -201
  2. package/dist/credentials/RedlibApi.credentials.d.ts +10 -0
  3. package/dist/credentials/RedlibApi.credentials.js +80 -0
  4. package/dist/credentials/RedlibApi.credentials.js.map +1 -0
  5. package/dist/icons/redlib.dark.svg +11 -0
  6. package/dist/icons/redlib.svg +11 -0
  7. package/dist/nodes/Redlib/Redlib.node.d.ts +6 -0
  8. package/dist/nodes/Redlib/Redlib.node.js +404 -0
  9. package/dist/nodes/Redlib/Redlib.node.js.map +1 -0
  10. package/dist/nodes/Redlib/Redlib.node.json +18 -0
  11. package/dist/nodes/Redlib/resources/post/get.d.ts +2 -0
  12. package/dist/nodes/Redlib/resources/post/get.js +31 -0
  13. package/dist/nodes/Redlib/resources/post/get.js.map +1 -0
  14. package/dist/nodes/Redlib/resources/post/getAll.d.ts +2 -0
  15. package/dist/nodes/Redlib/resources/post/getAll.js +60 -0
  16. package/dist/nodes/Redlib/resources/post/getAll.js.map +1 -0
  17. package/dist/nodes/Redlib/resources/post/search.d.ts +2 -0
  18. package/dist/nodes/Redlib/resources/post/search.js +113 -0
  19. package/dist/nodes/Redlib/resources/post/search.js.map +1 -0
  20. package/dist/nodes/Redlib/resources/postComment/get.d.ts +2 -0
  21. package/dist/nodes/Redlib/resources/postComment/get.js +44 -0
  22. package/dist/nodes/Redlib/resources/postComment/get.js.map +1 -0
  23. package/dist/nodes/Redlib/resources/postComment/getAll.d.ts +2 -0
  24. package/dist/nodes/Redlib/resources/postComment/getAll.js +44 -0
  25. package/dist/nodes/Redlib/resources/postComment/getAll.js.map +1 -0
  26. package/dist/nodes/Redlib/resources/postComment/search.d.ts +2 -0
  27. package/dist/nodes/Redlib/resources/postComment/search.js +44 -0
  28. package/dist/nodes/Redlib/resources/postComment/search.js.map +1 -0
  29. package/dist/nodes/Redlib/resources/subreddit/get.d.ts +2 -0
  30. package/dist/nodes/Redlib/resources/subreddit/get.js +19 -0
  31. package/dist/nodes/Redlib/resources/subreddit/get.js.map +1 -0
  32. package/dist/nodes/Redlib/resources/subreddit/getAll.d.ts +2 -0
  33. package/dist/nodes/Redlib/resources/subreddit/getAll.js +29 -0
  34. package/dist/nodes/Redlib/resources/subreddit/getAll.js.map +1 -0
  35. package/dist/nodes/Redlib/resources/subreddit/search.d.ts +2 -0
  36. package/dist/nodes/Redlib/resources/subreddit/search.js +32 -0
  37. package/dist/nodes/Redlib/resources/subreddit/search.js.map +1 -0
  38. package/dist/nodes/Redlib/shared/utils.d.ts +85 -0
  39. package/dist/nodes/Redlib/shared/utils.js +313 -0
  40. package/dist/nodes/Redlib/shared/utils.js.map +1 -0
  41. package/dist/package.json +8 -7
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +8 -7
  44. package/dist/credentials/GithubIssuesApi.credentials.d.ts +0 -10
  45. package/dist/credentials/GithubIssuesApi.credentials.js +0 -37
  46. package/dist/credentials/GithubIssuesApi.credentials.js.map +0 -1
  47. package/dist/credentials/GithubIssuesOAuth2Api.credentials.d.ts +0 -9
  48. package/dist/credentials/GithubIssuesOAuth2Api.credentials.js +0 -54
  49. package/dist/credentials/GithubIssuesOAuth2Api.credentials.js.map +0 -1
  50. package/dist/icons/github.dark.svg +0 -3
  51. package/dist/icons/github.svg +0 -3
  52. package/dist/nodes/Example/Example.node.d.ts +0 -5
  53. package/dist/nodes/Example/Example.node.js +0 -61
  54. package/dist/nodes/Example/Example.node.js.map +0 -1
  55. package/dist/nodes/Example/Example.node.json +0 -18
  56. package/dist/nodes/Example/example.dark.svg +0 -13
  57. package/dist/nodes/Example/example.svg +0 -13
  58. package/dist/nodes/GithubIssues/GithubIssues.node.d.ts +0 -14
  59. package/dist/nodes/GithubIssues/GithubIssues.node.js +0 -101
  60. package/dist/nodes/GithubIssues/GithubIssues.node.js.map +0 -1
  61. package/dist/nodes/GithubIssues/GithubIssues.node.json +0 -18
  62. package/dist/nodes/GithubIssues/listSearch/getIssues.d.ts +0 -2
  63. package/dist/nodes/GithubIssues/listSearch/getIssues.js +0 -28
  64. package/dist/nodes/GithubIssues/listSearch/getIssues.js.map +0 -1
  65. package/dist/nodes/GithubIssues/listSearch/getRepositories.d.ts +0 -2
  66. package/dist/nodes/GithubIssues/listSearch/getRepositories.js +0 -31
  67. package/dist/nodes/GithubIssues/listSearch/getRepositories.js.map +0 -1
  68. package/dist/nodes/GithubIssues/listSearch/getUsers.d.ts +0 -2
  69. package/dist/nodes/GithubIssues/listSearch/getUsers.js +0 -29
  70. package/dist/nodes/GithubIssues/listSearch/getUsers.js.map +0 -1
  71. package/dist/nodes/GithubIssues/resources/issue/create.d.ts +0 -2
  72. package/dist/nodes/GithubIssues/resources/issue/create.js +0 -75
  73. package/dist/nodes/GithubIssues/resources/issue/create.js.map +0 -1
  74. package/dist/nodes/GithubIssues/resources/issue/get.d.ts +0 -2
  75. package/dist/nodes/GithubIssues/resources/issue/get.js +0 -15
  76. package/dist/nodes/GithubIssues/resources/issue/get.js.map +0 -1
  77. package/dist/nodes/GithubIssues/resources/issue/getAll.d.ts +0 -2
  78. package/dist/nodes/GithubIssues/resources/issue/getAll.js +0 -125
  79. package/dist/nodes/GithubIssues/resources/issue/getAll.js.map +0 -1
  80. package/dist/nodes/GithubIssues/resources/issue/index.d.ts +0 -2
  81. package/dist/nodes/GithubIssues/resources/issue/index.js +0 -76
  82. package/dist/nodes/GithubIssues/resources/issue/index.js.map +0 -1
  83. package/dist/nodes/GithubIssues/resources/issueComment/getAll.d.ts +0 -2
  84. package/dist/nodes/GithubIssues/resources/issueComment/getAll.js +0 -66
  85. package/dist/nodes/GithubIssues/resources/issueComment/getAll.js.map +0 -1
  86. package/dist/nodes/GithubIssues/resources/issueComment/index.d.ts +0 -2
  87. package/dist/nodes/GithubIssues/resources/issueComment/index.js +0 -48
  88. package/dist/nodes/GithubIssues/resources/issueComment/index.js.map +0 -1
  89. package/dist/nodes/GithubIssues/shared/descriptions.d.ts +0 -4
  90. package/dist/nodes/GithubIssues/shared/descriptions.js +0 -151
  91. package/dist/nodes/GithubIssues/shared/descriptions.js.map +0 -1
  92. package/dist/nodes/GithubIssues/shared/transport.d.ts +0 -2
  93. package/dist/nodes/GithubIssues/shared/transport.js +0 -16
  94. package/dist/nodes/GithubIssues/shared/transport.js.map +0 -1
  95. package/dist/nodes/GithubIssues/shared/utils.d.ts +0 -3
  96. package/dist/nodes/GithubIssues/shared/utils.js +0 -17
  97. package/dist/nodes/GithubIssues/shared/utils.js.map +0 -1
@@ -0,0 +1,404 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Redlib = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const utils_1 = require("./shared/utils");
6
+ const search_1 = require("./resources/post/search");
7
+ const get_1 = require("./resources/post/get");
8
+ const getAll_1 = require("./resources/post/getAll");
9
+ const search_2 = require("./resources/postComment/search");
10
+ const get_2 = require("./resources/postComment/get");
11
+ const getAll_2 = require("./resources/postComment/getAll");
12
+ const search_3 = require("./resources/subreddit/search");
13
+ const get_3 = require("./resources/subreddit/get");
14
+ const getAll_3 = require("./resources/subreddit/getAll");
15
+ class Redlib {
16
+ constructor() {
17
+ this.description = {
18
+ displayName: 'Redlib',
19
+ name: 'redlib',
20
+ icon: {
21
+ light: 'file:../../icons/redlib.svg',
22
+ dark: 'file:../../icons/redlib.dark.svg',
23
+ },
24
+ group: ['input'],
25
+ version: 1,
26
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
27
+ description: 'Fetch Reddit data through Redlib without OAuth',
28
+ defaults: {
29
+ name: 'Redlib',
30
+ },
31
+ usableAsTool: true,
32
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
33
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
34
+ credentials: [
35
+ {
36
+ name: 'redlibApi',
37
+ required: true,
38
+ },
39
+ ],
40
+ requestDefaults: {
41
+ baseURL: '={{$credentials.instanceUrl}}',
42
+ headers: {
43
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
44
+ 'User-Agent': 'n8n-redlib-node/1.0',
45
+ },
46
+ },
47
+ properties: this.getNodeProperties(),
48
+ };
49
+ }
50
+ getNodeProperties() {
51
+ return [
52
+ {
53
+ displayName: 'Resource',
54
+ name: 'resource',
55
+ type: 'options',
56
+ noDataExpression: true,
57
+ options: [
58
+ { name: 'Post', value: 'post', description: 'Reddit posts' },
59
+ { name: 'Post Comment', value: 'postComment', description: 'Comments on posts' },
60
+ { name: 'Subreddit', value: 'subreddit', description: 'Subreddit information' },
61
+ ],
62
+ default: 'post',
63
+ required: true,
64
+ },
65
+ {
66
+ displayName: 'Operation',
67
+ name: 'operation',
68
+ type: 'options',
69
+ noDataExpression: true,
70
+ displayOptions: {
71
+ show: {
72
+ resource: ['post'],
73
+ },
74
+ },
75
+ options: [
76
+ { name: 'Search', value: 'search', description: 'Search for posts', action: 'Search a post' },
77
+ { name: 'Get', value: 'get', description: 'Get a single post', action: 'Get a post' },
78
+ { name: 'Get Many', value: 'getAll', description: 'Get multiple posts', action: 'Get many a post' },
79
+ ],
80
+ default: 'search',
81
+ required: true,
82
+ },
83
+ {
84
+ displayName: 'Operation',
85
+ name: 'operation',
86
+ type: 'options',
87
+ noDataExpression: true,
88
+ displayOptions: {
89
+ show: {
90
+ resource: ['postComment'],
91
+ },
92
+ },
93
+ options: [
94
+ { name: 'Search', value: 'search', description: 'Search for posts', action: 'Search a post comment' },
95
+ { name: 'Get', value: 'get', description: 'Get comments from a post', action: 'Get a post comment' },
96
+ { name: 'Get Many', value: 'getAll', description: 'Get comments from multiple posts', action: 'Get many a post comment' },
97
+ ],
98
+ default: 'search',
99
+ required: true,
100
+ },
101
+ {
102
+ displayName: 'Operation',
103
+ name: 'operation',
104
+ type: 'options',
105
+ noDataExpression: true,
106
+ displayOptions: {
107
+ show: {
108
+ resource: ['subreddit'],
109
+ },
110
+ },
111
+ options: [
112
+ { name: 'Search', value: 'search', description: 'Search for subreddits', action: 'Search a subreddit' },
113
+ { name: 'Get', value: 'get', description: 'Get subreddit info', action: 'Get a subreddit' },
114
+ { name: 'Get Many', value: 'getAll', description: 'Get multiple subreddits', action: 'Get many a subreddit' },
115
+ ],
116
+ default: 'search',
117
+ required: true,
118
+ },
119
+ ...search_1.postSearchProperties,
120
+ ...get_1.postGetProperties,
121
+ ...getAll_1.postGetAllProperties,
122
+ ...search_2.postCommentSearchProperties,
123
+ ...get_2.postCommentGetProperties,
124
+ ...getAll_2.postCommentGetAllProperties,
125
+ ...search_3.subredditSearchProperties,
126
+ ...get_3.subredditGetProperties,
127
+ ...getAll_3.subredditGetAllProperties,
128
+ ];
129
+ }
130
+ async execute() {
131
+ const returnData = [];
132
+ const resource = this.getNodeParameter('resource', 0);
133
+ const operation = this.getNodeParameter('operation', 0);
134
+ const credentials = await this.getCredentials('redlibApi');
135
+ const instanceUrl = credentials.instanceUrl;
136
+ const makeRequest = async (url) => {
137
+ const options = {
138
+ method: 'GET',
139
+ url,
140
+ headers: {
141
+ Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
142
+ 'User-Agent': 'n8n-redlib-node/1.0',
143
+ },
144
+ };
145
+ if (credentials.authType === 'basicAuth') {
146
+ options.auth = {
147
+ username: credentials.username,
148
+ password: credentials.password,
149
+ };
150
+ }
151
+ const response = await this.helpers.httpRequest(options);
152
+ return response;
153
+ };
154
+ if (resource === 'post') {
155
+ if (operation === 'search') {
156
+ const subreddit = this.getNodeParameter('subreddit', 0);
157
+ const keyword = this.getNodeParameter('keyword', 0);
158
+ const limit = this.getNodeParameter('limit', 0);
159
+ const sortBy = this.getNodeParameter('sortBy', 0);
160
+ const time = this.getNodeParameter('time', 0);
161
+ const url = `${instanceUrl}/r/${subreddit}/search?q=${encodeURIComponent(keyword)}&restrict_sr=on&sort=${sortBy}&t=${time}`;
162
+ const html = await makeRequest(url);
163
+ const $ = new utils_1.HTMLParser(html);
164
+ const children = [];
165
+ const posts = $.findAll('.post');
166
+ for (let i = 0; i < Math.min(posts.length, limit); i++) {
167
+ const postData = (0, utils_1.parsePostElement)($, posts[i]);
168
+ children.push({
169
+ kind: 't3',
170
+ data: postData,
171
+ });
172
+ }
173
+ returnData.push({
174
+ json: {
175
+ kind: 'Listing',
176
+ data: {
177
+ children,
178
+ },
179
+ },
180
+ });
181
+ }
182
+ else if (operation === 'get') {
183
+ const subreddit = this.getNodeParameter('subreddit', 0);
184
+ const postId = this.getNodeParameter('postId', 0);
185
+ const url = `${instanceUrl}/r/${subreddit}/comments/${postId}`;
186
+ const html = await makeRequest(url);
187
+ const $ = new utils_1.HTMLParser(html);
188
+ const posts = $.findAll('.post');
189
+ const postData = posts.length > 0 ? (0, utils_1.parsePostElement)($, posts[0]) : {};
190
+ returnData.push({
191
+ json: {
192
+ kind: 't3',
193
+ data: postData,
194
+ },
195
+ });
196
+ }
197
+ else if (operation === 'getAll') {
198
+ const subreddit = this.getNodeParameter('subreddit', 0);
199
+ const category = this.getNodeParameter('category', 0);
200
+ const limit = this.getNodeParameter('limit', 0);
201
+ const url = `${instanceUrl}/r/${subreddit}/${category}`;
202
+ const html = await makeRequest(url);
203
+ const $ = new utils_1.HTMLParser(html);
204
+ const children = [];
205
+ const posts = $.findAll('.post');
206
+ for (let i = 0; i < Math.min(posts.length, limit); i++) {
207
+ const postData = (0, utils_1.parsePostElement)($, posts[i]);
208
+ children.push({
209
+ kind: 't3',
210
+ data: postData,
211
+ });
212
+ }
213
+ returnData.push({
214
+ json: {
215
+ kind: 'Listing',
216
+ data: {
217
+ children,
218
+ },
219
+ },
220
+ });
221
+ }
222
+ }
223
+ if (resource === 'postComment') {
224
+ if (operation === 'search') {
225
+ const subreddit = this.getNodeParameter('subreddit', 0);
226
+ const keyword = this.getNodeParameter('keyword', 0);
227
+ const limit = this.getNodeParameter('limit', 0);
228
+ const url = `${instanceUrl}/r/${subreddit}/search?q=${encodeURIComponent(keyword)}&restrict_sr=on&sort=relevance`;
229
+ const html = await makeRequest(url);
230
+ const $ = new utils_1.HTMLParser(html);
231
+ const children = [];
232
+ const posts = $.findAll('.post');
233
+ for (let i = 0; i < Math.min(posts.length, limit); i++) {
234
+ const postData = (0, utils_1.parsePostElement)($, posts[i]);
235
+ children.push({
236
+ kind: 't3',
237
+ data: postData,
238
+ });
239
+ }
240
+ returnData.push({
241
+ json: {
242
+ kind: 'Listing',
243
+ data: {
244
+ children,
245
+ },
246
+ },
247
+ });
248
+ }
249
+ else if (operation === 'get') {
250
+ const subreddit = this.getNodeParameter('subreddit', 0);
251
+ const postId = this.getNodeParameter('postId', 0);
252
+ const limit = this.getNodeParameter('limit', 0);
253
+ const url = `${instanceUrl}/r/${subreddit}/comments/${postId}`;
254
+ const html = await makeRequest(url);
255
+ const $ = new utils_1.HTMLParser(html);
256
+ const children = [];
257
+ const comments = $.findAll('.comment');
258
+ for (let i = 0; i < Math.min(comments.length, limit); i++) {
259
+ const commentData = (0, utils_1.parseCommentElement)($, comments[i], 0);
260
+ children.push({
261
+ kind: 't1',
262
+ data: commentData,
263
+ });
264
+ }
265
+ returnData.push({
266
+ json: {
267
+ kind: 'Listing',
268
+ data: {
269
+ children,
270
+ },
271
+ },
272
+ });
273
+ }
274
+ else if (operation === 'getAll') {
275
+ const subreddit = this.getNodeParameter('subreddit', 0);
276
+ const postIdsStr = this.getNodeParameter('postIds', 0);
277
+ const limit = this.getNodeParameter('limit', 0);
278
+ const postIds = postIdsStr.split(',').map((id) => id.trim());
279
+ for (const postId of postIds) {
280
+ const url = `${instanceUrl}/r/${subreddit}/comments/${postId}`;
281
+ const html = await makeRequest(url);
282
+ const $ = new utils_1.HTMLParser(html);
283
+ const children = [];
284
+ const comments = $.findAll('.comment');
285
+ for (let i = 0; i < Math.min(comments.length, limit); i++) {
286
+ const commentData = (0, utils_1.parseCommentElement)($, comments[i], 0);
287
+ children.push({
288
+ kind: 't1',
289
+ data: commentData,
290
+ });
291
+ }
292
+ returnData.push({
293
+ json: {
294
+ kind: 'Listing',
295
+ data: {
296
+ children,
297
+ postId,
298
+ },
299
+ },
300
+ });
301
+ }
302
+ }
303
+ }
304
+ if (resource === 'subreddit') {
305
+ if (operation === 'search') {
306
+ const keyword = this.getNodeParameter('keyword', 0);
307
+ const limit = this.getNodeParameter('limit', 0);
308
+ const url = `${instanceUrl}/search?q=${encodeURIComponent(keyword)}&type=sr&restrict_sr=`;
309
+ const html = await makeRequest(url);
310
+ const $ = new utils_1.HTMLParser(html);
311
+ const children = [];
312
+ const seenSubs = new Set();
313
+ const posts = $.findAll('.post');
314
+ for (let i = 0; i < posts.length && children.length < limit; i++) {
315
+ const subredditEls = posts[i].find('.post_subreddit');
316
+ const subredditEl = subredditEls.length > 0 ? subredditEls[0] : null;
317
+ const subreddit = subredditEl ? subredditEl.text().replace('r/', '').trim() : '';
318
+ if (subreddit && !seenSubs.has(subreddit)) {
319
+ seenSubs.add(subreddit);
320
+ children.push({
321
+ kind: 't5',
322
+ data: {
323
+ display_name: subreddit,
324
+ },
325
+ });
326
+ }
327
+ }
328
+ returnData.push({
329
+ json: {
330
+ kind: 'Listing',
331
+ data: {
332
+ children,
333
+ },
334
+ },
335
+ });
336
+ }
337
+ else if (operation === 'get') {
338
+ const subreddit = this.getNodeParameter('subreddit', 0);
339
+ const url = `${instanceUrl}/r/${subreddit}`;
340
+ const html = await makeRequest(url);
341
+ const $ = new utils_1.HTMLParser(html);
342
+ const subredditData = (0, utils_1.parseSubredditInfo)($);
343
+ returnData.push({
344
+ json: {
345
+ kind: 't5',
346
+ data: subredditData,
347
+ },
348
+ });
349
+ }
350
+ else if (operation === 'getAll') {
351
+ const subredditsStr = this.getNodeParameter('subreddits', 0);
352
+ const trending = this.getNodeParameter('trending', 0);
353
+ const subreddits = subredditsStr.split(',').map((s) => s.trim());
354
+ if (trending) {
355
+ const url = `${instanceUrl}/r/popular`;
356
+ const html = await makeRequest(url);
357
+ const $ = new utils_1.HTMLParser(html);
358
+ const children = [];
359
+ const seenSubs = new Set();
360
+ const posts = $.findAll('.post');
361
+ for (const post of posts) {
362
+ const subredditEls = post.find('.post_subreddit');
363
+ const subredditEl = subredditEls.length > 0 ? subredditEls[0] : null;
364
+ const subreddit = subredditEl ? subredditEl.text().replace('r/', '').trim() : '';
365
+ if (subreddit && !seenSubs.has(subreddit)) {
366
+ seenSubs.add(subreddit);
367
+ children.push({
368
+ kind: 't5',
369
+ data: {
370
+ display_name: subreddit,
371
+ },
372
+ });
373
+ }
374
+ }
375
+ returnData.push({
376
+ json: {
377
+ kind: 'Listing',
378
+ data: {
379
+ children,
380
+ },
381
+ },
382
+ });
383
+ }
384
+ else {
385
+ for (const subreddit of subreddits) {
386
+ const url = `${instanceUrl}/r/${subreddit}`;
387
+ const html = await makeRequest(url);
388
+ const $ = new utils_1.HTMLParser(html);
389
+ const subredditData = (0, utils_1.parseSubredditInfo)($);
390
+ returnData.push({
391
+ json: {
392
+ kind: 't5',
393
+ data: subredditData,
394
+ },
395
+ });
396
+ }
397
+ }
398
+ }
399
+ }
400
+ return [returnData];
401
+ }
402
+ }
403
+ exports.Redlib = Redlib;
404
+ //# sourceMappingURL=Redlib.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Redlib.node.js","sourceRoot":"","sources":["../../../nodes/Redlib/Redlib.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "node": "n8n-nodes-redlib.redlib",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Miscellaneous", "Data"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://github.com/redlib-org/redlib"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://github.com/redlib-org/redlib"
15
+ }
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const postGetProperties: INodeProperties[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postGetProperties = void 0;
4
+ const showOnlyForPostGet = { operation: ['get'], resource: ['post'] };
5
+ exports.postGetProperties = [
6
+ {
7
+ displayName: 'Subreddit',
8
+ name: 'subreddit',
9
+ type: 'string',
10
+ displayOptions: {
11
+ show: showOnlyForPostGet,
12
+ },
13
+ default: '',
14
+ required: true,
15
+ placeholder: 'SaaS',
16
+ description: 'The subreddit containing the post',
17
+ },
18
+ {
19
+ displayName: 'Post ID',
20
+ name: 'postId',
21
+ type: 'string',
22
+ displayOptions: {
23
+ show: showOnlyForPostGet,
24
+ },
25
+ default: '',
26
+ required: true,
27
+ placeholder: '1pudg98',
28
+ description: 'The Reddit post ID (e.g., 1pudg98)',
29
+ },
30
+ ];
31
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../nodes/Redlib/resources/post/get.ts"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAEzD,QAAA,iBAAiB,GAAsB;IACnD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YAChB,IAAI,EAAE,kBAAkB;SACvB;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,mCAAmC;KAChD;IACD;QACC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YAChB,IAAI,EAAE,kBAAkB;SACvB;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,oCAAoC;KACjD;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const postGetAllProperties: INodeProperties[];
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postGetAllProperties = void 0;
4
+ const showOnlyForPostGetAll = { operation: ['getAll'], resource: ['post'] };
5
+ exports.postGetAllProperties = [
6
+ {
7
+ displayName: 'Subreddit',
8
+ name: 'subreddit',
9
+ type: 'string',
10
+ displayOptions: {
11
+ show: showOnlyForPostGetAll,
12
+ },
13
+ default: '',
14
+ required: true,
15
+ placeholder: 'SaaS',
16
+ description: 'The subreddit to get posts from',
17
+ },
18
+ {
19
+ displayName: 'Category',
20
+ name: 'category',
21
+ type: 'options',
22
+ displayOptions: {
23
+ show: showOnlyForPostGetAll,
24
+ },
25
+ options: [
26
+ {
27
+ name: 'Hot Posts',
28
+ value: 'hot',
29
+ },
30
+ {
31
+ name: 'New Posts',
32
+ value: 'new',
33
+ },
34
+ {
35
+ name: 'Top Posts',
36
+ value: 'top',
37
+ },
38
+ {
39
+ name: 'Rising Posts',
40
+ value: 'rising',
41
+ },
42
+ ],
43
+ default: 'hot',
44
+ description: 'The category of posts to retrieve',
45
+ },
46
+ {
47
+ displayName: 'Limit',
48
+ name: 'limit',
49
+ type: 'number',
50
+ typeOptions: {
51
+ minValue: 1,
52
+ },
53
+ displayOptions: {
54
+ show: showOnlyForPostGetAll,
55
+ },
56
+ default: 50,
57
+ description: 'Max number of results to return',
58
+ },
59
+ ];
60
+ //# sourceMappingURL=getAll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../../../nodes/Redlib/resources/post/getAll.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;AAE/D,QAAA,oBAAoB,GAAsB;IACtD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE;YAChB,IAAI,EAAE,qBAAqB;SAC1B;QACD,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,iCAAiC;KAC9C;IACD;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,cAAc,EAAE;YAChB,IAAI,EAAE,qBAAqB;SAC1B;QACD,OAAO,EAAE;YACT;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;aACZ;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;aACZ;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;aACZ;YACD;gBACC,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,QAAQ;aACf;SACA;QACD,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,mCAAmC;KAChD;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE;YACZ,QAAQ,EAAE,CAAC;SACX;QACD,cAAc,EAAE;YAChB,IAAI,EAAE,qBAAqB;SAC1B;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iCAAiC;KAC9C;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const postSearchProperties: INodeProperties[];