n8n-nodes-nextcloud-talk 1.0.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.
Files changed (35) hide show
  1. package/README.md +156 -0
  2. package/dist/credentials/NextcloudApi.credentials.d.ts +10 -0
  3. package/dist/credentials/NextcloudApi.credentials.js +60 -0
  4. package/dist/credentials/NextcloudApi.credentials.js.map +1 -0
  5. package/dist/icons/nextcloud-talk.dark.png +0 -0
  6. package/dist/icons/nextcloud-talk.png +0 -0
  7. package/dist/icons/nextcloud.dark.svg +15 -0
  8. package/dist/icons/nextcloud.svg +15 -0
  9. package/dist/nodes/NextcloudTalk/NextcloudTalk.node.d.ts +5 -0
  10. package/dist/nodes/NextcloudTalk/NextcloudTalk.node.js +380 -0
  11. package/dist/nodes/NextcloudTalk/NextcloudTalk.node.js.map +1 -0
  12. package/dist/nodes/NextcloudTalk/NextcloudTalkTrigger.node.d.ts +5 -0
  13. package/dist/nodes/NextcloudTalk/NextcloudTalkTrigger.node.js +102 -0
  14. package/dist/nodes/NextcloudTalk/NextcloudTalkTrigger.node.js.map +1 -0
  15. package/dist/nodes/NextcloudTalk/descriptions/conversation.description.d.ts +3 -0
  16. package/dist/nodes/NextcloudTalk/descriptions/conversation.description.js +248 -0
  17. package/dist/nodes/NextcloudTalk/descriptions/conversation.description.js.map +1 -0
  18. package/dist/nodes/NextcloudTalk/descriptions/message.description.d.ts +3 -0
  19. package/dist/nodes/NextcloudTalk/descriptions/message.description.js +212 -0
  20. package/dist/nodes/NextcloudTalk/descriptions/message.description.js.map +1 -0
  21. package/dist/nodes/NextcloudTalk/descriptions/participant.description.d.ts +3 -0
  22. package/dist/nodes/NextcloudTalk/descriptions/participant.description.js +100 -0
  23. package/dist/nodes/NextcloudTalk/descriptions/participant.description.js.map +1 -0
  24. package/dist/nodes/NextcloudTalk/descriptions/poll.description.d.ts +3 -0
  25. package/dist/nodes/NextcloudTalk/descriptions/poll.description.js +165 -0
  26. package/dist/nodes/NextcloudTalk/descriptions/poll.description.js.map +1 -0
  27. package/dist/nodes/NextcloudTalk/descriptions/reaction.description.d.ts +3 -0
  28. package/dist/nodes/NextcloudTalk/descriptions/reaction.description.js +82 -0
  29. package/dist/nodes/NextcloudTalk/descriptions/reaction.description.js.map +1 -0
  30. package/dist/nodes/NextcloudTalk/helpers.d.ts +5 -0
  31. package/dist/nodes/NextcloudTalk/helpers.js +28 -0
  32. package/dist/nodes/NextcloudTalk/helpers.js.map +1 -0
  33. package/dist/package.json +61 -0
  34. package/dist/tsconfig.tsbuildinfo +1 -0
  35. package/package.json +60 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.participantFields = exports.participantOperations = void 0;
4
+ exports.participantOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: { resource: ['participant'] },
12
+ },
13
+ options: [
14
+ {
15
+ name: 'Add',
16
+ value: 'add',
17
+ description: 'Add a participant to a conversation',
18
+ action: 'Add a participant',
19
+ },
20
+ {
21
+ name: 'Demote',
22
+ value: 'demote',
23
+ description: 'Demote a moderator to a regular participant',
24
+ action: 'Demote a moderator',
25
+ },
26
+ {
27
+ name: 'Get Many',
28
+ value: 'getMany',
29
+ description: 'Get all participants in a conversation',
30
+ action: 'Get many participants',
31
+ },
32
+ {
33
+ name: 'Promote',
34
+ value: 'promote',
35
+ description: 'Promote a participant to moderator',
36
+ action: 'Promote to moderator',
37
+ },
38
+ {
39
+ name: 'Remove',
40
+ value: 'remove',
41
+ description: 'Remove a participant from a conversation',
42
+ action: 'Remove a participant',
43
+ },
44
+ ],
45
+ default: 'getMany',
46
+ },
47
+ ];
48
+ exports.participantFields = [
49
+ {
50
+ displayName: 'Conversation Token',
51
+ name: 'token',
52
+ type: 'string',
53
+ typeOptions: { password: true },
54
+ required: true,
55
+ default: '',
56
+ description: 'The token (ID) of the conversation. You can find it in the URL when opening the conversation in Nextcloud Talk.',
57
+ displayOptions: {
58
+ show: { resource: ['participant'] },
59
+ },
60
+ },
61
+ {
62
+ displayName: 'Participant',
63
+ name: 'newParticipant',
64
+ type: 'string',
65
+ required: true,
66
+ default: '',
67
+ description: 'The user ID, group ID, email address, or phone number of the participant to add',
68
+ displayOptions: {
69
+ show: { resource: ['participant'], operation: ['add'] },
70
+ },
71
+ },
72
+ {
73
+ displayName: 'Source',
74
+ name: 'source',
75
+ type: 'options',
76
+ default: 'users',
77
+ options: [
78
+ { name: 'User', value: 'users' },
79
+ { name: 'Group', value: 'groups' },
80
+ { name: 'Circle', value: 'circles' },
81
+ { name: 'Email', value: 'emails' },
82
+ ],
83
+ description: 'The type of the participant being added',
84
+ displayOptions: {
85
+ show: { resource: ['participant'], operation: ['add'] },
86
+ },
87
+ },
88
+ {
89
+ displayName: 'Attendee ID',
90
+ name: 'attendeeId',
91
+ type: 'number',
92
+ required: true,
93
+ default: 0,
94
+ description: 'The attendee ID of the participant. Retrieve it from the Get Many operation.',
95
+ displayOptions: {
96
+ show: { resource: ['participant'], operation: ['remove', 'promote', 'demote'] },
97
+ },
98
+ },
99
+ ];
100
+ //# sourceMappingURL=participant.description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"participant.description.js","sourceRoot":"","sources":["../../../../nodes/NextcloudTalk/descriptions/participant.description.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAsB;IACvD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;SACnC;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,qCAAqC;gBAClD,MAAM,EAAE,mBAAmB;aAC3B;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,6CAA6C;gBAC1D,MAAM,EAAE,oBAAoB;aAC5B;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,uBAAuB;aAC/B;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EAAE,sBAAsB;aAC9B;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,0CAA0C;gBACvD,MAAM,EAAE,sBAAsB;aAC9B;SACD;QACD,OAAO,EAAE,SAAS;KAClB;CACD,CAAC;AAEW,QAAA,iBAAiB,GAAsB;IAEnD;QACC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,iHAAiH;QAClH,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE;SACnC;KACD;IAED;QACC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,iFAAiF;QAClF,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE;SACvD;KACD;IACD;QACC,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;SAClC;QACD,WAAW,EAAE,yCAAyC;QACtD,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE;SACvD;KACD;IAED;QACC,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,WAAW,EACV,8EAA8E;QAC/E,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;SAC/E;KACD;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const pollOperations: INodeProperties[];
3
+ export declare const pollFields: INodeProperties[];
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pollFields = exports.pollOperations = void 0;
4
+ exports.pollOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: { resource: ['poll'] },
12
+ },
13
+ options: [
14
+ {
15
+ name: 'Close',
16
+ value: 'close',
17
+ description: 'Close a poll (moderator only)',
18
+ action: 'Close a poll',
19
+ },
20
+ {
21
+ name: 'Create',
22
+ value: 'create',
23
+ description: 'Create a poll in a conversation',
24
+ action: 'Create a poll',
25
+ },
26
+ {
27
+ name: 'Get',
28
+ value: 'get',
29
+ description: 'Get the current state and results of a poll',
30
+ action: 'Get a poll',
31
+ },
32
+ {
33
+ name: 'Vote',
34
+ value: 'vote',
35
+ description: 'Cast votes on a poll',
36
+ action: 'Vote on a poll',
37
+ },
38
+ ],
39
+ default: 'create',
40
+ },
41
+ ];
42
+ exports.pollFields = [
43
+ {
44
+ displayName: 'Conversation Token',
45
+ name: 'token',
46
+ type: 'string',
47
+ typeOptions: { password: true },
48
+ required: true,
49
+ default: '',
50
+ description: 'The token (ID) of the conversation. You can find it in the URL when opening the conversation in Nextcloud Talk.',
51
+ displayOptions: {
52
+ show: { resource: ['poll'] },
53
+ },
54
+ },
55
+ {
56
+ displayName: 'Poll ID',
57
+ name: 'pollId',
58
+ type: 'number',
59
+ required: true,
60
+ default: 0,
61
+ description: 'The ID of the poll',
62
+ displayOptions: {
63
+ show: { resource: ['poll'], operation: ['get', 'vote', 'close'] },
64
+ },
65
+ },
66
+ {
67
+ displayName: 'Question',
68
+ name: 'question',
69
+ type: 'string',
70
+ required: true,
71
+ default: '',
72
+ description: 'The poll question',
73
+ displayOptions: {
74
+ show: { resource: ['poll'], operation: ['create'] },
75
+ },
76
+ },
77
+ {
78
+ displayName: 'Options',
79
+ name: 'pollOptions',
80
+ type: 'fixedCollection',
81
+ typeOptions: { multipleValues: true },
82
+ required: true,
83
+ default: { option: [{ text: '' }] },
84
+ description: 'The answer options for the poll',
85
+ displayOptions: {
86
+ show: { resource: ['poll'], operation: ['create'] },
87
+ },
88
+ options: [
89
+ {
90
+ name: 'option',
91
+ displayName: 'Option',
92
+ values: [
93
+ {
94
+ displayName: 'Text',
95
+ name: 'text',
96
+ type: 'string',
97
+ default: '',
98
+ description: 'Text of this poll option',
99
+ },
100
+ ],
101
+ },
102
+ ],
103
+ },
104
+ {
105
+ displayName: 'Result Mode',
106
+ name: 'resultMode',
107
+ type: 'options',
108
+ required: true,
109
+ default: 0,
110
+ options: [
111
+ {
112
+ name: 'Public',
113
+ value: 0,
114
+ description: 'Results are visible to all participants while the poll is open',
115
+ },
116
+ {
117
+ name: 'Hidden Until Closed',
118
+ value: 1,
119
+ description: 'Results are only revealed after the poll is closed',
120
+ },
121
+ ],
122
+ displayOptions: {
123
+ show: { resource: ['poll'], operation: ['create'] },
124
+ },
125
+ },
126
+ {
127
+ displayName: 'Max Votes',
128
+ name: 'maxVotes',
129
+ type: 'number',
130
+ required: true,
131
+ default: 1,
132
+ description: 'Maximum number of options a participant can vote for. Use 0 for unlimited.',
133
+ displayOptions: {
134
+ show: { resource: ['poll'], operation: ['create'] },
135
+ },
136
+ },
137
+ {
138
+ displayName: 'Option IDs',
139
+ name: 'optionIds',
140
+ type: 'fixedCollection',
141
+ typeOptions: { multipleValues: true },
142
+ required: true,
143
+ default: { id: [{ value: 0 }] },
144
+ description: 'The IDs of the options to vote for (0-based index)',
145
+ displayOptions: {
146
+ show: { resource: ['poll'], operation: ['vote'] },
147
+ },
148
+ options: [
149
+ {
150
+ name: 'id',
151
+ displayName: 'ID',
152
+ values: [
153
+ {
154
+ displayName: 'Option ID',
155
+ name: 'value',
156
+ type: 'number',
157
+ default: 0,
158
+ description: '0-based index of the option to vote for',
159
+ },
160
+ ],
161
+ },
162
+ ],
163
+ },
164
+ ];
165
+ //# sourceMappingURL=poll.description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.description.js","sourceRoot":"","sources":["../../../../nodes/NextcloudTalk/descriptions/poll.description.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const reactionOperations: INodeProperties[];
3
+ export declare const reactionFields: INodeProperties[];
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reactionFields = exports.reactionOperations = void 0;
4
+ exports.reactionOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: { resource: ['reaction'] },
12
+ },
13
+ options: [
14
+ {
15
+ name: 'Add',
16
+ value: 'add',
17
+ description: 'Add a reaction to a message',
18
+ action: 'Add a reaction',
19
+ },
20
+ {
21
+ name: 'Get',
22
+ value: 'get',
23
+ description: 'Get all reactions for a message',
24
+ action: 'Get reactions',
25
+ },
26
+ {
27
+ name: 'Remove',
28
+ value: 'remove',
29
+ description: 'Remove a reaction from a message',
30
+ action: 'Remove a reaction',
31
+ },
32
+ ],
33
+ default: 'add',
34
+ },
35
+ ];
36
+ exports.reactionFields = [
37
+ {
38
+ displayName: 'Conversation Token',
39
+ name: 'token',
40
+ type: 'string',
41
+ typeOptions: { password: true },
42
+ required: true,
43
+ default: '',
44
+ description: 'The token (ID) of the conversation. You can find it in the URL when opening the conversation in Nextcloud Talk.',
45
+ displayOptions: {
46
+ show: { resource: ['reaction'] },
47
+ },
48
+ },
49
+ {
50
+ displayName: 'Message ID',
51
+ name: 'messageId',
52
+ type: 'number',
53
+ required: true,
54
+ default: 0,
55
+ description: 'The ID of the message',
56
+ displayOptions: {
57
+ show: { resource: ['reaction'] },
58
+ },
59
+ },
60
+ {
61
+ displayName: 'Reaction',
62
+ name: 'reaction',
63
+ type: 'string',
64
+ required: true,
65
+ default: '👍',
66
+ description: 'The emoji reaction',
67
+ displayOptions: {
68
+ show: { resource: ['reaction'], operation: ['add', 'remove'] },
69
+ },
70
+ },
71
+ {
72
+ displayName: 'Emoji Filter',
73
+ name: 'reaction',
74
+ type: 'string',
75
+ default: '',
76
+ description: 'Filter results to a specific emoji. Leave empty to get all reactions.',
77
+ displayOptions: {
78
+ show: { resource: ['reaction'], operation: ['get'] },
79
+ },
80
+ },
81
+ ];
82
+ //# sourceMappingURL=reaction.description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reaction.description.js","sourceRoot":"","sources":["../../../../nodes/NextcloudTalk/descriptions/reaction.description.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAsB;IACpD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;SAChC;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,6BAA6B;gBAC1C,MAAM,EAAE,gBAAgB;aACxB;YACD;gBACC,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,iCAAiC;gBAC9C,MAAM,EAAE,eAAe;aACvB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,kCAAkC;gBAC/C,MAAM,EAAE,mBAAmB;aAC3B;SACD;QACD,OAAO,EAAE,KAAK;KACd;CACD,CAAC;AAEW,QAAA,cAAc,GAAsB;IAEhD;QACC,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,iHAAiH;QAClH,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;SAChC;KACD;IAED;QACC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;SAChC;KACD;IAED;QACC,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;SAC9D;KACD;IAED;QACC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,uEAAuE;QACpF,cAAc,EAAE;YACf,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE;SACpD;KACD;CACD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { IAllExecuteFunctions, IDataObject, IHttpRequestMethods } from 'n8n-workflow';
2
+ export declare const CHAT_API_PATH = "/ocs/v2.php/apps/spreed/api/v1";
3
+ export declare const ROOM_API_PATH = "/ocs/v2.php/apps/spreed/api/v4";
4
+ export declare function nextcloudApiRequest(this: IAllExecuteFunctions, method: IHttpRequestMethods, apiPath: string, endpoint: string, body?: IDataObject, qs?: IDataObject): Promise<unknown>;
5
+ export declare function extractOcsData(response: unknown): unknown;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROOM_API_PATH = exports.CHAT_API_PATH = void 0;
4
+ exports.nextcloudApiRequest = nextcloudApiRequest;
5
+ exports.extractOcsData = extractOcsData;
6
+ exports.CHAT_API_PATH = '/ocs/v2.php/apps/spreed/api/v1';
7
+ exports.ROOM_API_PATH = '/ocs/v2.php/apps/spreed/api/v4';
8
+ async function nextcloudApiRequest(method, apiPath, endpoint, body = {}, qs = {}) {
9
+ const credentials = await this.getCredentials('nextcloudApi');
10
+ const serverUrl = credentials.serverUrl.replace(/\/$/, '');
11
+ const options = {
12
+ method,
13
+ url: `${serverUrl}${apiPath}${endpoint}`,
14
+ headers: {
15
+ Accept: 'application/json',
16
+ },
17
+ qs,
18
+ body,
19
+ json: true,
20
+ };
21
+ return this.helpers.httpRequestWithAuthentication.call(this, 'nextcloudApi', options);
22
+ }
23
+ function extractOcsData(response) {
24
+ var _a, _b;
25
+ const res = response;
26
+ return (_b = (_a = res === null || res === void 0 ? void 0 : res.ocs) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : response;
27
+ }
28
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../nodes/NextcloudTalk/helpers.ts"],"names":[],"mappings":";;;AAYA,kDA2BC;AAED,wCAGC;AAnCY,QAAA,aAAa,GAAG,gCAAgC,CAAC;AACjD,QAAA,aAAa,GAAG,gCAAgC,CAAC;AAEvD,KAAK,UAAU,mBAAmB,CAExC,MAA2B,EAC3B,OAAe,EACf,QAAgB,EAChB,OAAoB,EAAE,EACtB,KAAkB,EAAE;IAEpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAI,WAAW,CAAC,SAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAwB;QACpC,MAAM;QACN,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,EAAE;QACxC,OAAO,EAAE;YACR,MAAM,EAAE,kBAAkB;SAC1B;QACD,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,IAAI;KACV,CAAC;IAMF,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACvF,CAAC;AAED,SAAgB,cAAc,CAAC,QAAiB;;IAC/C,MAAM,GAAG,GAAG,QAAwC,CAAC;IACrD,OAAO,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,IAAI,mCAAI,QAAQ,CAAC;AACnC,CAAC"}
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "n8n-nodes-nextcloud-talk",
3
+ "version": "0.0.0",
4
+ "description": "n8n community node for Nextcloud Talk.",
5
+ "license": "MIT",
6
+ "homepage": "",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "nextcloud",
10
+ "nextcloud-talk"
11
+ ],
12
+ "author": {
13
+ "name": "IlijazM",
14
+ "email": "mehmedovic.ilijaz@gmail.com"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/IlijazM/n8n-nodes-nextcloud-talk.git"
19
+ },
20
+ "scripts": {
21
+ "build": "n8n-node build",
22
+ "build:watch": "tsc --watch",
23
+ "dev": "n8n-node dev",
24
+ "lint": "n8n-node lint",
25
+ "lint:fix": "n8n-node lint --fix",
26
+ "release": "n8n-node release",
27
+ "prepublishOnly": "n8n-node prerelease",
28
+ "test": "vitest run --config vitest.integration.config.ts"
29
+ },
30
+ "files": [
31
+ "dist"
32
+ ],
33
+ "n8n": {
34
+ "n8nNodesApiVersion": 1,
35
+ "strict": false,
36
+ "credentials": [
37
+ "dist/credentials/NextcloudApi.credentials.js"
38
+ ],
39
+ "nodes": [
40
+ "dist/nodes/NextcloudTalk/NextcloudTalk.node.js",
41
+ "dist/nodes/NextcloudTalk/NextcloudTalkTrigger.node.js"
42
+ ]
43
+ },
44
+ "devDependencies": {
45
+ "@n8n/node-cli": "*",
46
+ "axios": "^1.7.0",
47
+ "eslint": "9.32.0",
48
+ "prettier": "3.6.2",
49
+ "release-it": "^19.0.4",
50
+ "typescript": "5.9.2",
51
+ "vitest": "^2.0.0"
52
+ },
53
+ "peerDependencies": {
54
+ "n8n-workflow": "*"
55
+ },
56
+ "release-it": {
57
+ "npm": {
58
+ "publish": false
59
+ }
60
+ }
61
+ }