@adaptive-ds/n8n-nodes-publer 1.1.8 → 1.1.10

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 (75) hide show
  1. package/dist/credentials/PublerApi.credentials.d.ts +2 -2
  2. package/dist/credentials/PublerApi.credentials.js +16 -16
  3. package/dist/credentials/PublerApi.credentials.js.map +1 -1
  4. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.d.ts +4 -0
  5. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.js +75 -0
  6. package/dist/nodes/PublerAnalytics/PublerAnalytics.node.js.map +1 -0
  7. package/dist/nodes/PublerAnalytics/PublerAnalytics.spec.js +8 -0
  8. package/dist/nodes/PublerAnalytics/PublerAnalytics.spec.js.map +1 -0
  9. package/dist/nodes/PublerAnalytics/logo.svg +44 -0
  10. package/dist/nodes/PublerAnalytics/openapi.json +777 -0
  11. package/dist/nodes/{Publer/Publer.node.d.ts → PublerBasic/PublerBasic.node.d.ts} +1 -1
  12. package/dist/nodes/PublerBasic/PublerBasic.node.js +75 -0
  13. package/dist/nodes/PublerBasic/PublerBasic.node.js.map +1 -0
  14. package/dist/nodes/PublerBasic/PublerBasic.spec.d.ts +1 -0
  15. package/dist/nodes/PublerBasic/PublerBasic.spec.js +8 -0
  16. package/dist/nodes/PublerBasic/PublerBasic.spec.js.map +1 -0
  17. package/dist/nodes/PublerBasic/logo.svg +44 -0
  18. package/dist/nodes/PublerBasic/openapi.json +507 -0
  19. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.d.ts +4 -0
  20. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.js +75 -0
  21. package/dist/nodes/PublerCompetitors/PublerCompetitors.node.js.map +1 -0
  22. package/dist/nodes/PublerCompetitors/PublerCompetitors.spec.d.ts +1 -0
  23. package/dist/nodes/PublerCompetitors/PublerCompetitors.spec.js +8 -0
  24. package/dist/nodes/PublerCompetitors/PublerCompetitors.spec.js.map +1 -0
  25. package/dist/nodes/PublerCompetitors/logo.svg +44 -0
  26. package/dist/nodes/PublerCompetitors/openapi.json +264 -0
  27. package/dist/nodes/PublerLocations/PublerLocations.node.d.ts +4 -0
  28. package/dist/nodes/PublerLocations/PublerLocations.node.js +75 -0
  29. package/dist/nodes/PublerLocations/PublerLocations.node.js.map +1 -0
  30. package/dist/nodes/PublerLocations/PublerLocations.spec.d.ts +1 -0
  31. package/dist/nodes/PublerLocations/PublerLocations.spec.js +8 -0
  32. package/dist/nodes/PublerLocations/PublerLocations.spec.js.map +1 -0
  33. package/dist/nodes/PublerLocations/logo.svg +44 -0
  34. package/dist/nodes/PublerLocations/openapi.json +205 -0
  35. package/dist/nodes/PublerMedia/PublerMedia.node.d.ts +4 -0
  36. package/dist/nodes/{Publer/Publer.node.js → PublerMedia/PublerMedia.node.js} +8 -8
  37. package/dist/nodes/PublerMedia/PublerMedia.node.js.map +1 -0
  38. package/dist/nodes/PublerMedia/PublerMedia.spec.d.ts +1 -0
  39. package/dist/nodes/PublerMedia/PublerMedia.spec.js +8 -0
  40. package/dist/nodes/PublerMedia/PublerMedia.spec.js.map +1 -0
  41. package/dist/nodes/PublerMedia/logo.svg +44 -0
  42. package/dist/nodes/PublerMedia/openapi.json +346 -0
  43. package/dist/nodes/PublerPosts/PublerPosts.node.d.ts +4 -0
  44. package/dist/nodes/PublerPosts/PublerPosts.node.js +75 -0
  45. package/dist/nodes/PublerPosts/PublerPosts.node.js.map +1 -0
  46. package/dist/nodes/PublerPosts/PublerPosts.spec.d.ts +1 -0
  47. package/dist/nodes/PublerPosts/PublerPosts.spec.js +8 -0
  48. package/dist/nodes/PublerPosts/PublerPosts.spec.js.map +1 -0
  49. package/dist/nodes/PublerPosts/logo.svg +44 -0
  50. package/dist/nodes/PublerPosts/openapi.json +536 -0
  51. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.d.ts +4 -0
  52. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.js +75 -0
  53. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.node.js.map +1 -0
  54. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.spec.d.ts +1 -0
  55. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.spec.js +8 -0
  56. package/dist/nodes/PublerPostsPublish/PublerPostsPublish.spec.js.map +1 -0
  57. package/dist/nodes/PublerPostsPublish/logo.svg +44 -0
  58. package/dist/nodes/PublerPostsPublish/openapi.json +229 -0
  59. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.d.ts +4 -0
  60. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.js +75 -0
  61. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.node.js.map +1 -0
  62. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.spec.d.ts +1 -0
  63. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.spec.js +8 -0
  64. package/dist/nodes/PublerPostsSchedule/PublerPostsSchedule.spec.js.map +1 -0
  65. package/dist/nodes/PublerPostsSchedule/logo.svg +44 -0
  66. package/dist/nodes/PublerPostsSchedule/openapi.json +235 -0
  67. package/dist/package.json +27 -6
  68. package/package.json +27 -6
  69. package/dist/nodes/Publer/Publer.node.js.map +0 -1
  70. package/dist/nodes/Publer/Publer.node.json +0 -18
  71. package/dist/nodes/Publer/Publer.spec.js +0 -8
  72. package/dist/nodes/Publer/Publer.spec.js.map +0 -1
  73. package/dist/nodes/Publer/logo.svg +0 -1
  74. package/dist/nodes/Publer/openapi.json +0 -1527
  75. /package/dist/nodes/{Publer/Publer.spec.d.ts → PublerAnalytics/PublerAnalytics.spec.d.ts} +0 -0
@@ -0,0 +1,205 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "Publer Locations API",
5
+ "description": "Location search endpoints for Publer API including Instagram, Facebook, and Threads locations.",
6
+ "version": "1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://app.publer.com/api/v1"
11
+ }
12
+ ],
13
+ "security": [
14
+ {
15
+ "BearerApiAuth": []
16
+ }
17
+ ],
18
+ "components": {
19
+ "securitySchemes": {
20
+ "BearerApiAuth": {
21
+ "type": "apiKey",
22
+ "name": "Authorization",
23
+ "in": "header",
24
+ "description": "API key authentication. Format: \"Bearer-API YOUR_API_KEY\""
25
+ }
26
+ },
27
+ "schemas": {
28
+ "LocationsResponse": {
29
+ "type": "object",
30
+ "description": "Response containing location search results",
31
+ "properties": {
32
+ "data": {
33
+ "type": "array",
34
+ "description": "List of locations matching the search query",
35
+ "items": {
36
+ "type": "object",
37
+ "additionalProperties": true
38
+ }
39
+ }
40
+ },
41
+ "required": ["data"]
42
+ }
43
+ }
44
+ },
45
+ "tags": [
46
+ {
47
+ "name": "LOCATIONS"
48
+ }
49
+ ],
50
+ "paths": {
51
+ "/locations/instagram": {
52
+ "get": {
53
+ "tags": ["LOCATIONS"],
54
+ "summary": "Instagram locations",
55
+ "description": "Search for Instagram locations by query string",
56
+ "operationId": "search_instagram_locations",
57
+ "parameters": [
58
+ {
59
+ "name": "Publer-Workspace-Id",
60
+ "in": "header",
61
+ "schema": {
62
+ "type": "string"
63
+ },
64
+ "example": "{{workspace_id}}",
65
+ "required": true,
66
+ "description": "Workspace ID to search locations for"
67
+ },
68
+ {
69
+ "name": "q",
70
+ "in": "query",
71
+ "schema": {
72
+ "type": "string"
73
+ },
74
+ "example": "Tirana",
75
+ "description": "Search query for location name"
76
+ }
77
+ ],
78
+ "responses": {
79
+ "200": {
80
+ "description": "Successful response",
81
+ "content": {
82
+ "application/json": {
83
+ "schema": {
84
+ "$ref": "#/components/schemas/LocationsResponse"
85
+ },
86
+ "example": {
87
+ "data": [
88
+ {
89
+ "id": "12345",
90
+ "name": "Tirana, Albania",
91
+ "lat": 41.3275,
92
+ "lng": 19.8187
93
+ }
94
+ ]
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
102
+ "/locations/facebook": {
103
+ "get": {
104
+ "tags": ["LOCATIONS"],
105
+ "summary": "Facebook locations",
106
+ "description": "Search for Facebook locations by query string",
107
+ "operationId": "search_facebook_locations",
108
+ "parameters": [
109
+ {
110
+ "name": "Publer-Workspace-Id",
111
+ "in": "header",
112
+ "schema": {
113
+ "type": "string"
114
+ },
115
+ "example": "{{workspace_id}}",
116
+ "required": true,
117
+ "description": "Workspace ID to search locations for"
118
+ },
119
+ {
120
+ "name": "q",
121
+ "in": "query",
122
+ "schema": {
123
+ "type": "string"
124
+ },
125
+ "example": "Tirana",
126
+ "description": "Search query for location name"
127
+ }
128
+ ],
129
+ "responses": {
130
+ "200": {
131
+ "description": "Successful response",
132
+ "content": {
133
+ "application/json": {
134
+ "schema": {
135
+ "$ref": "#/components/schemas/LocationsResponse"
136
+ },
137
+ "example": {
138
+ "data": [
139
+ {
140
+ "id": "67890",
141
+ "name": "Tirana",
142
+ "city": "Tirana",
143
+ "country": "Albania"
144
+ }
145
+ ]
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ },
153
+ "/locations/threads": {
154
+ "get": {
155
+ "tags": ["LOCATIONS"],
156
+ "summary": "Threads locations",
157
+ "description": "Search for Threads locations by query string",
158
+ "operationId": "search_threads_locations",
159
+ "parameters": [
160
+ {
161
+ "name": "Publer-Workspace-Id",
162
+ "in": "header",
163
+ "schema": {
164
+ "type": "string"
165
+ },
166
+ "example": "{{workspace_id}}",
167
+ "required": true,
168
+ "description": "Workspace ID to search locations for"
169
+ },
170
+ {
171
+ "name": "q",
172
+ "in": "query",
173
+ "schema": {
174
+ "type": "string"
175
+ },
176
+ "example": "Tirana",
177
+ "description": "Search query for location name"
178
+ }
179
+ ],
180
+ "responses": {
181
+ "200": {
182
+ "description": "Successful response",
183
+ "content": {
184
+ "application/json": {
185
+ "schema": {
186
+ "$ref": "#/components/schemas/LocationsResponse"
187
+ },
188
+ "example": {
189
+ "data": [
190
+ {
191
+ "id": "11223",
192
+ "name": "Tirana",
193
+ "lat": 41.3275,
194
+ "lng": 19.8187
195
+ }
196
+ ]
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
@@ -0,0 +1,4 @@
1
+ import { INodeType, INodeTypeDescription } from "n8n-workflow";
2
+ export declare class PublerMedia implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }
@@ -33,24 +33,24 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Publer = void 0;
36
+ exports.PublerMedia = void 0;
37
37
  const n8n_openapi_node_1 = require("@devlikeapro/n8n-openapi-node");
38
38
  const doc = __importStar(require("./openapi.json"));
39
39
  const config = {};
40
40
  const parser = new n8n_openapi_node_1.N8NPropertiesBuilder(doc, config);
41
41
  const properties = parser.build();
42
- class Publer {
42
+ class PublerMedia {
43
43
  constructor() {
44
44
  this.description = {
45
- displayName: "Publer",
46
- name: "publer",
45
+ displayName: "Publer Media",
46
+ name: "publerMedia",
47
47
  icon: "file:logo.svg",
48
48
  group: ["transform"],
49
49
  version: 1,
50
50
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
51
- description: "Interact with Publer API",
51
+ description: "Interact with Publer Media API - Upload and manage media files",
52
52
  defaults: {
53
- name: "Publer",
53
+ name: "Publer Media",
54
54
  },
55
55
  inputs: ["main"],
56
56
  outputs: ["main"],
@@ -71,5 +71,5 @@ class Publer {
71
71
  };
72
72
  }
73
73
  }
74
- exports.Publer = Publer;
75
- //# sourceMappingURL=Publer.node.js.map
74
+ exports.PublerMedia = PublerMedia;
75
+ //# sourceMappingURL=PublerMedia.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublerMedia.node.js","sourceRoot":"","sources":["../../../nodes/PublerMedia/PublerMedia.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oEAAgG;AAChG,oDAAqC;AAErC,MAAM,MAAM,GAA+B,EAAE,CAAA;AAC7C,MAAM,MAAM,GAAG,IAAI,uCAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACpD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;AAEjC,MAAa,WAAW;IAAxB;QACE,gBAAW,GAAyB;YAClC,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,gEAAgE;YAC7E,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc;aACrB;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,eAAe,EAAE;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBACnC;gBACD,OAAO,EAAE,wBAAwB;aAClC;YACD,UAAU,EAAE,UAAU;SACvB,CAAA;IACH,CAAC;CAAA;AA7BD,kCA6BC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const PublerMedia_node_1 = require("./PublerMedia.node");
4
+ test("PublerMedia", () => {
5
+ const node = new PublerMedia_node_1.PublerMedia();
6
+ expect(node.description.properties).toBeDefined();
7
+ });
8
+ //# sourceMappingURL=PublerMedia.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublerMedia.spec.js","sourceRoot":"","sources":["../../../nodes/PublerMedia/PublerMedia.spec.ts"],"names":[],"mappings":";;AAAA,yDAAgD;AAEhD,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;IACvB,MAAM,IAAI,GAAG,IAAI,8BAAW,EAAE,CAAA;IAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;AACnD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,44 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 115 38" height='38' width="115">
2
+ <path
3
+ fill="#113A54"
4
+ d="M43.6 31V13.4h7.7c1 0 1.8.1 2.6.4.6.3 1.1.7 1.5 1.2.4.6.7 1.2.8 1.9a14 14 0 0 1 0 4.7c-.1.6-.4 1.3-.8 1.8-.3.6-.9 1-1.5 1.2-.8.3-1.7.4-2.6.4H47v6h-3.5Zm3.5-8.8h2.8c.5 0 1.1 0 1.6-.2.4 0 .7-.2 1-.4l.3-.9.2-1.5c0-.5 0-1-.2-1.4l-.3-.9c-.3-.2-.6-.4-.9-.4l-1.6-.1h-3v5.8ZM63 31.1c-.7 0-1.4 0-2-.3-.5-.2-.9-.5-1.2-1-.3-.4-.5-1-.5-1.5A14 14 0 0 1 59 26v-8h3.2v6.8l.1 1.9c0 .4.1.7.3 1 .2.2.4.4.7.4l1.1.1c.4 0 .9 0 1.3-.2.3 0 .5-.3.7-.6l.2-1V18H70v13h-3l-.1-1.6h-.2a3 3 0 0 1-.9 1c-.3.3-.8.5-1.2.6-.6.1-1.1.2-1.7.1Zm17.4 0-1.5-.1-1.2-.5a3 3 0 0 1-1-1.2h-.2l-.1 1.7h-3V12h3.2v7.4h.2a2 2 0 0 1 1-1c.3-.3.7-.4 1.1-.5a7.3 7.3 0 0 1 3.4.2c.5.2 1 .6 1.3 1.1.4.6.6 1.3.7 2a18.9 18.9 0 0 1 0 6.5c0 .8-.3 1.5-.7 2-.3.6-.8 1-1.3 1.2-.6.2-1.3.3-2 .2ZM79 28.2h1.3c.3-.1.5-.3.7-.6.2-.3.3-.7.3-1v-4.2a2 2 0 0 0-.3-1.1c-.2-.3-.4-.4-.7-.5a5 5 0 0 0-1.3-.1 4 4 0 0 0-1.2.1 1.1 1.1 0 0 0-.7.6l-.4 1.2a15.5 15.5 0 0 0 0 3.6c0 .5.2.9.4 1.2.1.3.4.5.7.6.4.2.8.2 1.2.2Zm8.6 2.8V12h3.2v19h-3.2Zm12.2.1c-1 0-1.8 0-2.7-.2a4 4 0 0 1-1.8-.7c-.4-.3-.7-.8-1-1.3-.2-.6-.3-1.2-.3-1.9l-.1-2.5.1-3c.1-.8.4-1.5.7-2.1.5-.6 1-1 1.7-1.2 1-.3 2-.4 3-.4s1.8 0 2.6.2c.6.2 1 .4 1.5.8.4.3.7.8.9 1.3.2.6.3 1.2.3 1.9v3.5H97l.1 1.6c0 .3.2.6.4.9l1 .4h4.5l1.3-.2v2.5l-1.3.2-1.7.2h-1.5Zm1.9-7.3v-.4l-.1-1.6c0-.3-.2-.6-.4-.9l-.7-.4h-2.3c-.3.1-.6.2-.8.5l-.3.9v1.5h5l-.4.4Zm6.1 7.2V18h3v2.2h.2c.2-.6.5-1.1.9-1.5.3-.4.8-.7 1.3-.8l1.8-.1V21a5 5 0 0 0-2.4.5c-.6.3-1 .8-1.3 1.5-.3.9-.4 1.8-.3 2.8V31h-3.2Z"
5
+ />
6
+ <path
7
+ fill="url(#publer_logo_letter)"
8
+ d="m31 34.4 7.1-28.8a4.3 4.3 0 0 0-.4-3.1A4 4 0 0 0 35.3.6l-1-.1H3.8a3.7 3.7 0 0 0-2.7 1.2A4 4 0 0 0 0 4.6l.1 1 7 28.8a4 4 0 0 0 1.4 2.2c.7.6 1.5.9 2.4.9h16.4c.9 0 1.7-.3 2.4-.9.7-.5 1.1-1.3 1.4-2.2Z"
9
+ />
10
+ <path
11
+ fill="#fff"
12
+ d="M30.6 5.5h-23a2 2 0 0 0-1.5.7 2.3 2.3 0 0 0-.6 2.1L11 30.8c.1.5.4 1 .8 1.2.3.3.8.5 1.3.5h2.5a2 2 0 0 0 1.5-.7 2.3 2.3 0 0 0 .6-1.6v-.5l-1-4.6-2.4-1.6h13c.5 0 1-.2 1.3-.5.4-.3.7-.7.8-1.2l3.3-13.5a2.4 2.4 0 0 0-.3-1.7 2.2 2.2 0 0 0-1.3-1 2 2 0 0 0-.5 0Z"
13
+ />
14
+ <path
15
+ fill="url(#publer_logo_text)"
16
+ d="m11.3 12 2.4 1.9.5 2.1c0 .3.2.5.4.7.2.2.5.3.7.3H24c.2 0 .5 0 .7-.3.2-.1.4-.4.5-.7l.6-4H11.3Z"
17
+ />
18
+ <defs>
19
+ <linearGradient
20
+ id="publer_logo_letter"
21
+ x1="-11.6"
22
+ x2="37"
23
+ y1="52.6"
24
+ y2="-1.9"
25
+ gradientUnits="userSpaceOnUse"
26
+ >
27
+ <stop offset=".5" stop-color="#00C2FF" />
28
+ <stop offset=".8" stop-color="#00E2CE" />
29
+ <stop offset="1" stop-color="#00FAA8" />
30
+ </linearGradient>
31
+ <linearGradient
32
+ id="publer_logo_text"
33
+ x1="-141.9"
34
+ x2="-26.2"
35
+ y1="-38.3"
36
+ y2="348.4"
37
+ gradientUnits="userSpaceOnUse"
38
+ >
39
+ <stop offset=".5" stop-color="#00C2FF" />
40
+ <stop offset=".8" stop-color="#00E2CE" />
41
+ <stop offset="1" stop-color="#00FAA8" />
42
+ </linearGradient>
43
+ </defs>
44
+ </svg>
@@ -0,0 +1,346 @@
1
+ {
2
+ "openapi": "3.1.1",
3
+ "info": {
4
+ "title": "Publer Media API",
5
+ "description": "Media management endpoints for Publer API including upload and listing.",
6
+ "version": "1.0.0"
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "https://app.publer.com/api/v1"
11
+ }
12
+ ],
13
+ "security": [
14
+ {
15
+ "BearerApiAuth": []
16
+ }
17
+ ],
18
+ "components": {
19
+ "securitySchemes": {
20
+ "BearerApiAuth": {
21
+ "type": "apiKey",
22
+ "name": "Authorization",
23
+ "in": "header",
24
+ "description": "API key authentication. Format: \"Bearer-API YOUR_API_KEY\""
25
+ }
26
+ },
27
+ "schemas": {
28
+ "MediaUploadRequest": {
29
+ "type": "object",
30
+ "description": "Request body for uploading media from URL",
31
+ "required": ["media", "type"],
32
+ "properties": {
33
+ "media": {
34
+ "type": "array",
35
+ "description": "List of media URLs and metadata",
36
+ "items": {
37
+ "$ref": "#/components/schemas/MediaItem"
38
+ }
39
+ },
40
+ "type": {
41
+ "type": "string",
42
+ "enum": ["single", "bulk"],
43
+ "description": "Upload type",
44
+ "example": "single"
45
+ },
46
+ "direct_upload": {
47
+ "type": "boolean",
48
+ "description": "Whether to upload directly to S3 cloud, slower but returns id",
49
+ "default": false,
50
+ "example": false
51
+ },
52
+ "in_library": {
53
+ "type": "boolean",
54
+ "description": "Whether to save to media library",
55
+ "default": false,
56
+ "example": true
57
+ }
58
+ }
59
+ },
60
+ "MediaItem": {
61
+ "type": "object",
62
+ "description": "Media item to upload from URL",
63
+ "required": ["url", "name"],
64
+ "properties": {
65
+ "url": {
66
+ "type": "string",
67
+ "description": "URL of the media file to download"
68
+ },
69
+ "name": {
70
+ "type": "string",
71
+ "description": "Custom name for the media file"
72
+ },
73
+ "caption": {
74
+ "type": "string",
75
+ "description": "Caption for the media"
76
+ },
77
+ "source": {
78
+ "type": "string",
79
+ "description": "Source attribution"
80
+ }
81
+ }
82
+ },
83
+ "MediaListResponse": {
84
+ "type": "object",
85
+ "description": "Response containing list of media files",
86
+ "properties": {
87
+ "data": {
88
+ "type": "array",
89
+ "description": "List of media files",
90
+ "items": {
91
+ "type": "object",
92
+ "additionalProperties": true
93
+ }
94
+ }
95
+ },
96
+ "required": ["data"]
97
+ },
98
+ "MediaUploadResponse": {
99
+ "type": "object",
100
+ "description": "Response after uploading media",
101
+ "properties": {
102
+ "id": {
103
+ "type": "string",
104
+ "description": "ID of the uploaded media"
105
+ },
106
+ "url": {
107
+ "type": "string",
108
+ "description": "URL of the uploaded media"
109
+ },
110
+ "status": {
111
+ "type": "string",
112
+ "description": "Upload status"
113
+ }
114
+ }
115
+ }
116
+ }
117
+ },
118
+ "tags": [
119
+ {
120
+ "name": "MEDIA"
121
+ }
122
+ ],
123
+ "paths": {
124
+ "/media": {
125
+ "get": {
126
+ "tags": ["MEDIA"],
127
+ "summary": "List media",
128
+ "description": "Retrieve a list of media files from the workspace media library",
129
+ "operationId": "list_media",
130
+ "parameters": [
131
+ {
132
+ "name": "Publer-Workspace-Id",
133
+ "in": "header",
134
+ "schema": {
135
+ "type": "string"
136
+ },
137
+ "example": "{{workspace_id}}",
138
+ "required": true,
139
+ "description": "Workspace ID to list media from"
140
+ },
141
+ {
142
+ "name": "types",
143
+ "in": "query",
144
+ "required": true,
145
+ "schema": {
146
+ "type": "array",
147
+ "items": {
148
+ "type": "string",
149
+ "enum": ["photo", "video", "gif"]
150
+ }
151
+ },
152
+ "example": ["photo"],
153
+ "description": "Filter by media types"
154
+ },
155
+ {
156
+ "name": "used",
157
+ "in": "query",
158
+ "required": true,
159
+ "schema": {
160
+ "type": "array",
161
+ "items": {
162
+ "type": "boolean"
163
+ }
164
+ },
165
+ "example": [false],
166
+ "description": "Filter by whether media has been used in posts"
167
+ },
168
+ {
169
+ "name": "ids",
170
+ "in": "query",
171
+ "schema": {
172
+ "type": "array",
173
+ "items": {
174
+ "type": "string"
175
+ }
176
+ },
177
+ "example": ["647a0edddb2797b89044e2c1"],
178
+ "description": "Filter by specific media IDs"
179
+ },
180
+ {
181
+ "name": "page",
182
+ "in": "query",
183
+ "schema": {
184
+ "type": "integer",
185
+ "format": "int32",
186
+ "minimum": 0,
187
+ "maximum": 10000
188
+ },
189
+ "example": 0,
190
+ "description": "Page number for pagination"
191
+ },
192
+ {
193
+ "name": "source",
194
+ "in": "query",
195
+ "schema": {
196
+ "type": "array",
197
+ "items": {
198
+ "type": "string",
199
+ "enum": ["canva", "vista", "postnitro", "contentdrips", "openai", "favorites"]
200
+ }
201
+ },
202
+ "description": "Filter by media source"
203
+ },
204
+ {
205
+ "name": "search",
206
+ "in": "query",
207
+ "schema": {
208
+ "type": "string"
209
+ },
210
+ "description": "Search query for media files"
211
+ }
212
+ ],
213
+ "responses": {
214
+ "200": {
215
+ "description": "Successful response",
216
+ "content": {
217
+ "application/json": {
218
+ "schema": {
219
+ "$ref": "#/components/schemas/MediaListResponse"
220
+ },
221
+ "example": {
222
+ "data": [
223
+ {
224
+ "id": "647a0edddb2797b89044e2c1",
225
+ "type": "photo",
226
+ "url": "https://example.com/image.jpg"
227
+ }
228
+ ]
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ },
235
+ "post": {
236
+ "tags": ["MEDIA"],
237
+ "summary": "Upload file",
238
+ "description": "Upload a media file directly to the workspace",
239
+ "operationId": "upload_media_file",
240
+ "requestBody": {
241
+ "content": {
242
+ "multipart/form-data": {
243
+ "schema": {
244
+ "type": "object",
245
+ "description": "Media file upload request",
246
+ "properties": {
247
+ "file": {
248
+ "type": "string",
249
+ "format": "binary",
250
+ "description": "Media file to upload"
251
+ },
252
+ "direct_upload": {
253
+ "type": "boolean",
254
+ "example": false,
255
+ "description": "Upload directly to S3 cloud"
256
+ },
257
+ "in_library": {
258
+ "type": "boolean",
259
+ "example": true,
260
+ "description": "Save to media library"
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+ },
267
+ "parameters": [
268
+ {
269
+ "name": "Publer-Workspace-Id",
270
+ "in": "header",
271
+ "schema": {
272
+ "type": "string"
273
+ },
274
+ "example": "{{workspace_id}}",
275
+ "required": true,
276
+ "description": "Workspace ID to upload media to"
277
+ }
278
+ ],
279
+ "responses": {
280
+ "200": {
281
+ "description": "Successful response",
282
+ "content": {
283
+ "application/json": {
284
+ "schema": {
285
+ "$ref": "#/components/schemas/MediaUploadResponse"
286
+ },
287
+ "example": {
288
+ "id": "647a0edddb2797b89044e2c1",
289
+ "url": "https://example.com/uploaded.jpg",
290
+ "status": "success"
291
+ }
292
+ }
293
+ }
294
+ }
295
+ }
296
+ }
297
+ },
298
+ "/media/from_url": {
299
+ "post": {
300
+ "tags": ["MEDIA"],
301
+ "summary": "Upload from url",
302
+ "description": "Upload media files from external URLs",
303
+ "operationId": "upload_media_from_url",
304
+ "requestBody": {
305
+ "required": true,
306
+ "content": {
307
+ "application/json": {
308
+ "schema": {
309
+ "$ref": "#/components/schemas/MediaUploadRequest"
310
+ }
311
+ }
312
+ }
313
+ },
314
+ "parameters": [
315
+ {
316
+ "name": "Publer-Workspace-Id",
317
+ "in": "header",
318
+ "schema": {
319
+ "type": "string"
320
+ },
321
+ "example": "{{workspace_id}}",
322
+ "required": true,
323
+ "description": "Workspace ID to upload media to"
324
+ }
325
+ ],
326
+ "responses": {
327
+ "200": {
328
+ "description": "Successful response",
329
+ "content": {
330
+ "application/json": {
331
+ "schema": {
332
+ "$ref": "#/components/schemas/MediaUploadResponse"
333
+ },
334
+ "example": {
335
+ "id": "647a0edddb2797b89044e2c2",
336
+ "url": "https://example.com/uploaded.jpg",
337
+ "status": "success"
338
+ }
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }
344
+ }
345
+ }
346
+ }
@@ -0,0 +1,4 @@
1
+ import { INodeType, INodeTypeDescription } from "n8n-workflow";
2
+ export declare class PublerPosts implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }