twentythree-cli 1.3.6 → 1.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/audience/list.cjs +96 -13
- package/dist/commands/category/list.cjs +53 -5
- package/dist/commands/comment/list.cjs +24 -3
- package/dist/commands/poll/list.cjs +38 -5
- package/dist/commands/seo/get.cjs +1 -1
- package/dist/commands/seo/status.cjs +7 -1
- package/dist/commands/spot/list.cjs +39 -11
- package/dist/commands/user/list.cjs +56 -7
- package/dist/commands/video/subtitle/list.cjs +38 -1
- package/dist/commands/webinar/list.cjs +121 -20
- package/dist/commands/webinar/mail/list.cjs +18 -2
- package/dist/commands/webinar/series/list.cjs +111 -5
- package/dist/commands/webinar/speaker/list.cjs +46 -4
- package/dist/lib/base-command.cjs +1 -1
- package/docs/commands/action/add.md +1 -1
- package/docs/commands/action/delete.md +1 -1
- package/docs/commands/action/exclude.md +1 -1
- package/docs/commands/action/get.md +1 -1
- package/docs/commands/action/include.md +1 -1
- package/docs/commands/action/list.md +1 -1
- package/docs/commands/action/types.md +1 -1
- package/docs/commands/action/update.md +1 -1
- package/docs/commands/action/upload.md +1 -1
- package/docs/commands/action.md +9 -9
- package/docs/commands/analytics/conversions.md +3 -3
- package/docs/commands/analytics/live.md +9 -9
- package/docs/commands/analytics/usage.md +18 -18
- package/docs/commands/analytics/video.md +12 -12
- package/docs/commands/analytics.md +42 -42
- package/docs/commands/app/add.md +1 -1
- package/docs/commands/app/delete.md +1 -1
- package/docs/commands/app/list.md +1 -1
- package/docs/commands/app/remove-thumbnail.md +1 -1
- package/docs/commands/app/set-thumbnail.md +1 -1
- package/docs/commands/app/update.md +1 -1
- package/docs/commands/app.md +6 -6
- package/docs/commands/audience/companies.md +1 -1
- package/docs/commands/audience/field.md +4 -4
- package/docs/commands/audience/funnel.md +1 -1
- package/docs/commands/audience/identity-sources.md +1 -1
- package/docs/commands/audience/list-collectors.md +1 -1
- package/docs/commands/audience/list.md +40 -11
- package/docs/commands/audience/metrics.md +1 -1
- package/docs/commands/audience/register.md +1 -1
- package/docs/commands/audience/remove.md +1 -1
- package/docs/commands/audience/search.md +1 -1
- package/docs/commands/audience/timelines.md +1 -1
- package/docs/commands/audience/unregister.md +1 -1
- package/docs/commands/audience.md +15 -15
- package/docs/commands/auth/credentials.md +1 -1
- package/docs/commands/auth/status.md +1 -1
- package/docs/commands/auth/switch.md +1 -1
- package/docs/commands/auth.md +3 -3
- package/docs/commands/autocomplete.md +1 -1
- package/docs/commands/category/create.md +1 -1
- package/docs/commands/category/delete.md +1 -1
- package/docs/commands/category/list.md +20 -3
- package/docs/commands/category/update.md +1 -1
- package/docs/commands/category.md +5 -5
- package/docs/commands/collector/exclude.md +1 -1
- package/docs/commands/collector/include.md +1 -1
- package/docs/commands/collector/list.md +1 -1
- package/docs/commands/collector.md +3 -3
- package/docs/commands/comment/add.md +1 -1
- package/docs/commands/comment/clone.md +1 -1
- package/docs/commands/comment/delete.md +1 -1
- package/docs/commands/comment/list.md +24 -11
- package/docs/commands/comment/promote.md +1 -1
- package/docs/commands/comment/reaction.md +3 -3
- package/docs/commands/comment/set-order.md +1 -1
- package/docs/commands/comment/update.md +1 -1
- package/docs/commands/comment.md +10 -10
- package/docs/commands/doctor.md +1 -1
- package/docs/commands/openupload/list.md +1 -1
- package/docs/commands/openupload/update-file.md +1 -1
- package/docs/commands/openupload/upload-file.md +1 -1
- package/docs/commands/openupload.md +3 -3
- package/docs/commands/player/delete.md +1 -1
- package/docs/commands/player/embed-versions.md +1 -1
- package/docs/commands/player/embed.md +1 -1
- package/docs/commands/player/list.md +1 -1
- package/docs/commands/player/remove-thumbnail.md +1 -1
- package/docs/commands/player/set-thumbnail.md +1 -1
- package/docs/commands/player/styles.md +1 -1
- package/docs/commands/player/update.md +1 -1
- package/docs/commands/player.md +8 -8
- package/docs/commands/poll/add.md +1 -1
- package/docs/commands/poll/answer.md +1 -1
- package/docs/commands/poll/list.md +12 -2
- package/docs/commands/poll/remove.md +1 -1
- package/docs/commands/poll/set-options.md +1 -1
- package/docs/commands/poll/update.md +1 -1
- package/docs/commands/poll.md +6 -6
- package/docs/commands/presentation/page.md +1 -1
- package/docs/commands/presentation/setting.md +2 -2
- package/docs/commands/presentation.md +3 -3
- package/docs/commands/protection/protect.md +1 -1
- package/docs/commands/protection/unprotect.md +1 -1
- package/docs/commands/protection/verify.md +1 -1
- package/docs/commands/protection.md +3 -3
- package/docs/commands/seo/get.md +1 -1
- package/docs/commands/seo/status.md +1 -1
- package/docs/commands/seo/update.md +1 -1
- package/docs/commands/seo.md +3 -3
- package/docs/commands/session/get-token.md +1 -1
- package/docs/commands/session/redeem-token.md +1 -1
- package/docs/commands/session.md +2 -2
- package/docs/commands/setting/update.md +1 -1
- package/docs/commands/setting.md +1 -1
- package/docs/commands/site/get.md +1 -1
- package/docs/commands/site/search.md +1 -1
- package/docs/commands/site.md +2 -2
- package/docs/commands/spot/check.md +1 -1
- package/docs/commands/spot/create.md +1 -1
- package/docs/commands/spot/delete.md +1 -1
- package/docs/commands/spot/list.md +21 -10
- package/docs/commands/spot/reset-version.md +1 -1
- package/docs/commands/spot/set-videos.md +1 -1
- package/docs/commands/spot/update.md +1 -1
- package/docs/commands/spot.md +7 -7
- package/docs/commands/tag/list.md +1 -1
- package/docs/commands/tag/related.md +1 -1
- package/docs/commands/tag.md +2 -2
- package/docs/commands/thumbnail/add.md +1 -1
- package/docs/commands/thumbnail/data.md +1 -1
- package/docs/commands/thumbnail/delete.md +1 -1
- package/docs/commands/thumbnail/duplicate.md +1 -1
- package/docs/commands/thumbnail/file.md +3 -3
- package/docs/commands/thumbnail/list.md +1 -1
- package/docs/commands/thumbnail/preview-scss.md +1 -1
- package/docs/commands/thumbnail/update.md +1 -1
- package/docs/commands/thumbnail.md +11 -11
- package/docs/commands/user/create.md +1 -1
- package/docs/commands/user/get-login-token.md +1 -1
- package/docs/commands/user/get.md +1 -1
- package/docs/commands/user/list.md +22 -7
- package/docs/commands/user/redeem-login-token.md +1 -1
- package/docs/commands/user/send-invitation.md +1 -1
- package/docs/commands/user/tokens.md +1 -1
- package/docs/commands/user/update.md +1 -1
- package/docs/commands/user.md +8 -8
- package/docs/commands/video/delete.md +1 -1
- package/docs/commands/video/frame.md +1 -1
- package/docs/commands/video/get.md +1 -1
- package/docs/commands/video/list.md +1 -1
- package/docs/commands/video/replace.md +1 -1
- package/docs/commands/video/section.md +8 -8
- package/docs/commands/video/subtitle.md +24 -13
- package/docs/commands/video/transcoding-progress.md +1 -1
- package/docs/commands/video/update.md +1 -1
- package/docs/commands/video/upload.md +1 -1
- package/docs/commands/video.md +28 -28
- package/docs/commands/webhook/events.md +1 -1
- package/docs/commands/webhook/list.md +1 -1
- package/docs/commands/webhook/sample.md +1 -1
- package/docs/commands/webhook/subscribe.md +1 -1
- package/docs/commands/webhook/unsubscribe.md +1 -1
- package/docs/commands/webhook.md +5 -5
- package/docs/commands/webinar/attachment.md +4 -4
- package/docs/commands/webinar/clips.md +1 -1
- package/docs/commands/webinar/create.md +1 -1
- package/docs/commands/webinar/delete.md +1 -1
- package/docs/commands/webinar/highlights.md +1 -1
- package/docs/commands/webinar/list-formats.md +1 -1
- package/docs/commands/webinar/list.md +38 -8
- package/docs/commands/webinar/log.md +1 -1
- package/docs/commands/webinar/mail.md +14 -8
- package/docs/commands/webinar/metrics.md +1 -1
- package/docs/commands/webinar/queued-video.md +2 -2
- package/docs/commands/webinar/recording.md +4 -4
- package/docs/commands/webinar/repeat.md +1 -1
- package/docs/commands/webinar/room.md +4 -4
- package/docs/commands/webinar/section.md +4 -4
- package/docs/commands/webinar/series.md +44 -13
- package/docs/commands/webinar/speaker.md +14 -14
- package/docs/commands/webinar/transcription.md +4 -4
- package/docs/commands/webinar/update.md +1 -1
- package/docs/commands/webinar/upload-image.md +1 -1
- package/docs/commands/webinar.md +67 -67
- package/docs/commands/workspace/list.md +1 -1
- package/docs/commands/workspace/use.md +1 -1
- package/docs/commands/workspace.md +2 -2
- package/oclif.manifest.json +2838 -2022
- package/package.json +1 -1
|
@@ -22,7 +22,10 @@ var WebinarList = class WebinarList extends require_lib_base_command.Authenticat
|
|
|
22
22
|
"<%= config.bin %> webinar list",
|
|
23
23
|
"<%= config.bin %> webinar list --limit 50",
|
|
24
24
|
"<%= config.bin %> webinar list --all",
|
|
25
|
-
"<%= config.bin %> webinar list --status upcoming --json"
|
|
25
|
+
"<%= config.bin %> webinar list --status upcoming --json",
|
|
26
|
+
"<%= config.bin %> webinar list --live-format webinar --ordering live_date --order asc",
|
|
27
|
+
"<%= config.bin %> webinar list --user-id me --include-speakers --json",
|
|
28
|
+
"<%= config.bin %> webinar list --live-series-id 42 --all --json"
|
|
26
29
|
];
|
|
27
30
|
static enableJsonFlag = true;
|
|
28
31
|
static flags = {
|
|
@@ -35,6 +38,19 @@ var WebinarList = class WebinarList extends require_lib_base_command.Authenticat
|
|
|
35
38
|
description: "Fetch all webinars across all pages (overrides --limit)",
|
|
36
39
|
required: false
|
|
37
40
|
}),
|
|
41
|
+
search: _oclif_core.Flags.string({
|
|
42
|
+
description: "Search webinars by keyword",
|
|
43
|
+
required: false
|
|
44
|
+
}),
|
|
45
|
+
status: _oclif_core.Flags.string({
|
|
46
|
+
description: "Filter by status: upcoming, live, or previous",
|
|
47
|
+
options: [
|
|
48
|
+
"upcoming",
|
|
49
|
+
"live",
|
|
50
|
+
"previous"
|
|
51
|
+
],
|
|
52
|
+
required: false
|
|
53
|
+
}),
|
|
38
54
|
"include-private": _oclif_core.Flags.boolean({
|
|
39
55
|
description: "Include private webinars in the results",
|
|
40
56
|
allowNo: true,
|
|
@@ -44,12 +60,84 @@ var WebinarList = class WebinarList extends require_lib_base_command.Authenticat
|
|
|
44
60
|
hidden: true,
|
|
45
61
|
required: false
|
|
46
62
|
}),
|
|
47
|
-
|
|
48
|
-
description: "
|
|
63
|
+
"live-id": _oclif_core.Flags.integer({
|
|
64
|
+
description: "Limit to a single webinar by ID",
|
|
49
65
|
required: false
|
|
50
66
|
}),
|
|
51
|
-
|
|
52
|
-
description: "
|
|
67
|
+
"album-id": _oclif_core.Flags.integer({
|
|
68
|
+
description: "Filter to webinars in a specific category",
|
|
69
|
+
required: false
|
|
70
|
+
}),
|
|
71
|
+
"user-id": _oclif_core.Flags.string({
|
|
72
|
+
description: "Filter to webinars created by a specific user (use \"me\" for the authenticated user)",
|
|
73
|
+
required: false
|
|
74
|
+
}),
|
|
75
|
+
"live-format": _oclif_core.Flags.string({
|
|
76
|
+
description: "Filter by live format",
|
|
77
|
+
options: ["event", "webinar"],
|
|
78
|
+
required: false
|
|
79
|
+
}),
|
|
80
|
+
"live-series-id": _oclif_core.Flags.integer({
|
|
81
|
+
description: "Filter to webinars in a specific series",
|
|
82
|
+
required: false
|
|
83
|
+
}),
|
|
84
|
+
ordering: _oclif_core.Flags.string({
|
|
85
|
+
description: "Field to order results by",
|
|
86
|
+
options: [
|
|
87
|
+
"private",
|
|
88
|
+
"promoted",
|
|
89
|
+
"streaming",
|
|
90
|
+
"broadcasting",
|
|
91
|
+
"name",
|
|
92
|
+
"live_label",
|
|
93
|
+
"live_status",
|
|
94
|
+
"live_date",
|
|
95
|
+
"creation_date"
|
|
96
|
+
],
|
|
97
|
+
required: false
|
|
98
|
+
}),
|
|
99
|
+
order: _oclif_core.Flags.string({
|
|
100
|
+
description: "Sort direction",
|
|
101
|
+
options: ["asc", "desc"],
|
|
102
|
+
required: false
|
|
103
|
+
}),
|
|
104
|
+
promoted: _oclif_core.Flags.boolean({
|
|
105
|
+
description: "Filter by promoted status",
|
|
106
|
+
allowNo: true,
|
|
107
|
+
required: false
|
|
108
|
+
}),
|
|
109
|
+
draft: _oclif_core.Flags.boolean({
|
|
110
|
+
description: "Filter by draft status",
|
|
111
|
+
allowNo: true,
|
|
112
|
+
required: false
|
|
113
|
+
}),
|
|
114
|
+
cancelled: _oclif_core.Flags.boolean({
|
|
115
|
+
description: "Filter by cancelled status",
|
|
116
|
+
allowNo: true,
|
|
117
|
+
required: false
|
|
118
|
+
}),
|
|
119
|
+
streaming: _oclif_core.Flags.boolean({
|
|
120
|
+
description: "Filter to currently streaming webinars only",
|
|
121
|
+
required: false
|
|
122
|
+
}),
|
|
123
|
+
template: _oclif_core.Flags.boolean({
|
|
124
|
+
description: "Filter to webinar templates only",
|
|
125
|
+
required: false
|
|
126
|
+
}),
|
|
127
|
+
"include-stats": _oclif_core.Flags.boolean({
|
|
128
|
+
description: "Include performance statistics for each webinar",
|
|
129
|
+
required: false
|
|
130
|
+
}),
|
|
131
|
+
"include-speakers": _oclif_core.Flags.boolean({
|
|
132
|
+
description: "Include speaker information for each webinar",
|
|
133
|
+
required: false
|
|
134
|
+
}),
|
|
135
|
+
"include-albums": _oclif_core.Flags.boolean({
|
|
136
|
+
description: "Include category information for each webinar",
|
|
137
|
+
required: false
|
|
138
|
+
}),
|
|
139
|
+
fields: _oclif_core.Flags.string({
|
|
140
|
+
description: "Comma-separated list of fields to return in the API response",
|
|
53
141
|
required: false
|
|
54
142
|
})
|
|
55
143
|
};
|
|
@@ -73,16 +161,36 @@ var WebinarList = class WebinarList extends require_lib_base_command.Authenticat
|
|
|
73
161
|
const { flags } = await this.parse(WebinarList);
|
|
74
162
|
this.printWorkspaceHeader();
|
|
75
163
|
const includePrivate = require_lib_output.parseBoolParam(flags["include-private"], flags["include-private-p"]);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const { data, error } = await this.apiClient.GET("/live/list", { params: { query: {
|
|
164
|
+
const buildQuery = (page, size) => {
|
|
165
|
+
const q = {
|
|
79
166
|
p: page,
|
|
80
167
|
size,
|
|
81
|
-
include_private_p: includePrivate ?? void 0,
|
|
82
|
-
live_status: flags.status,
|
|
83
|
-
search: flags.search,
|
|
84
168
|
include_streaming_details_p: false
|
|
85
|
-
}
|
|
169
|
+
};
|
|
170
|
+
if (includePrivate !== void 0) q.include_private_p = includePrivate;
|
|
171
|
+
if (flags.status !== void 0) q.live_status = flags.status;
|
|
172
|
+
if (flags.search !== void 0) q.search = flags.search;
|
|
173
|
+
if (flags["live-id"] !== void 0) q.live_id = flags["live-id"];
|
|
174
|
+
if (flags["album-id"] !== void 0) q.album_id = flags["album-id"];
|
|
175
|
+
if (flags["user-id"] !== void 0) q.user_id = flags["user-id"];
|
|
176
|
+
if (flags["live-format"] !== void 0) q.live_format = flags["live-format"];
|
|
177
|
+
if (flags["live-series-id"] !== void 0) q.live_series_id = flags["live-series-id"];
|
|
178
|
+
if (flags.ordering !== void 0) q.ordering = flags.ordering;
|
|
179
|
+
if (flags.order !== void 0) q.order = flags.order;
|
|
180
|
+
if (flags.promoted !== void 0) q.promoted_p = flags.promoted;
|
|
181
|
+
if (flags.draft !== void 0) q.draft_p = flags.draft;
|
|
182
|
+
if (flags.cancelled !== void 0) q.cancelled_p = flags.cancelled;
|
|
183
|
+
if (flags.streaming) q.streaming_p = true;
|
|
184
|
+
if (flags.template) q.template_p = true;
|
|
185
|
+
if (flags["include-stats"]) q.include_stats_p = true;
|
|
186
|
+
if (flags["include-speakers"]) q.include_speakers_p = true;
|
|
187
|
+
if (flags["include-albums"]) q.include_albums_p = true;
|
|
188
|
+
if (flags.fields !== void 0) q.fields = flags.fields;
|
|
189
|
+
return q;
|
|
190
|
+
};
|
|
191
|
+
let webinars;
|
|
192
|
+
if (flags.all) webinars = await require_lib_pagination.fetchAllPages(async (page, size) => {
|
|
193
|
+
const { data, error } = await this.apiClient.GET("/live/list", { params: { query: buildQuery(page, size) } });
|
|
86
194
|
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
87
195
|
const resp = data;
|
|
88
196
|
return {
|
|
@@ -91,14 +199,7 @@ var WebinarList = class WebinarList extends require_lib_base_command.Authenticat
|
|
|
91
199
|
};
|
|
92
200
|
});
|
|
93
201
|
else {
|
|
94
|
-
const { data, error } = await this.apiClient.GET("/live/list", { params: { query:
|
|
95
|
-
p: 1,
|
|
96
|
-
size: flags.limit,
|
|
97
|
-
include_private_p: includePrivate ?? void 0,
|
|
98
|
-
live_status: flags.status,
|
|
99
|
-
search: flags.search,
|
|
100
|
-
include_streaming_details_p: false
|
|
101
|
-
} } });
|
|
202
|
+
const { data, error } = await this.apiClient.GET("/live/list", { params: { query: buildQuery(1, flags.limit) } });
|
|
102
203
|
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
103
204
|
const resp = data;
|
|
104
205
|
webinars = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
|
|
@@ -20,7 +20,19 @@ var WebinarMailList = class WebinarMailList extends require_lib_base_command.Aut
|
|
|
20
20
|
static enableJsonFlag = true;
|
|
21
21
|
static flags = {
|
|
22
22
|
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
23
|
-
"series-id": _oclif_core.Flags.string({ description: "Series ID — list mails for a series instead of a webinar" })
|
|
23
|
+
"series-id": _oclif_core.Flags.string({ description: "Series ID — list mails for a series instead of a webinar" }),
|
|
24
|
+
"mail-id": _oclif_core.Flags.integer({
|
|
25
|
+
description: "Return a specific mail by its ID",
|
|
26
|
+
required: false
|
|
27
|
+
}),
|
|
28
|
+
"include-metrics": _oclif_core.Flags.boolean({
|
|
29
|
+
description: "Include metrics on mail performance in the response",
|
|
30
|
+
required: false
|
|
31
|
+
}),
|
|
32
|
+
fields: _oclif_core.Flags.string({
|
|
33
|
+
description: "Comma-separated list of fields to return in the API response",
|
|
34
|
+
required: false
|
|
35
|
+
})
|
|
24
36
|
};
|
|
25
37
|
static args = { id: _oclif_core.Args.string({
|
|
26
38
|
description: "Webinar ID (omit when using --series-id)",
|
|
@@ -45,7 +57,11 @@ var WebinarMailList = class WebinarMailList extends require_lib_base_command.Aut
|
|
|
45
57
|
this.printWorkspaceHeader();
|
|
46
58
|
const contextField = flags["series-id"] ? { live_series_id: Number(flags["series-id"]) } : args.id ? { live_id: Number(args.id) } : null;
|
|
47
59
|
if (!contextField) this.error(require_lib_term_map.applyCliTerms("Either a webinar ID argument or --series-id is required"), { exit: 1 });
|
|
48
|
-
const
|
|
60
|
+
const query = { ...contextField };
|
|
61
|
+
if (flags["mail-id"] !== void 0) query.live_mail_id = flags["mail-id"];
|
|
62
|
+
if (flags["include-metrics"]) query.include_metrics_p = true;
|
|
63
|
+
if (flags.fields !== void 0) query.fields = flags.fields;
|
|
64
|
+
const { data, error } = await this.apiClient.GET("/live/mail/list", { params: { query } });
|
|
49
65
|
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
50
66
|
const mails = Array.isArray(data?.data) ? data.data : data?.data ? [data.data] : [];
|
|
51
67
|
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
@@ -3,6 +3,7 @@ const require_lib_term_map = require("../../../lib/term-map.cjs");
|
|
|
3
3
|
const require_lib_base_command = require("../../../lib/base-command.cjs");
|
|
4
4
|
const require_lib_output = require("../../../lib/output.cjs");
|
|
5
5
|
const require_lib_pagination = require("../../../lib/pagination.cjs");
|
|
6
|
+
let _oclif_core = require("@oclif/core");
|
|
6
7
|
let chalk = require("chalk");
|
|
7
8
|
chalk = require_runtime.__toESM(chalk);
|
|
8
9
|
//#region src/commands/webinar/series/list.ts
|
|
@@ -17,9 +18,94 @@ chalk = require_runtime.__toESM(chalk);
|
|
|
17
18
|
*/
|
|
18
19
|
var WebinarSeriesList = class WebinarSeriesList extends require_lib_base_command.AuthenticatedCommand {
|
|
19
20
|
static description = "List webinar series";
|
|
20
|
-
static examples = [
|
|
21
|
+
static examples = [
|
|
22
|
+
"<%= config.bin %> webinar series list",
|
|
23
|
+
"<%= config.bin %> webinar series list --json",
|
|
24
|
+
"<%= config.bin %> webinar series list --search \"Q4\" --ordering live_date --order asc",
|
|
25
|
+
"<%= config.bin %> webinar series list --series-type series --include-speakers --json",
|
|
26
|
+
"<%= config.bin %> webinar series list --user-id me --include-stats --json"
|
|
27
|
+
];
|
|
21
28
|
static enableJsonFlag = true;
|
|
22
|
-
static flags = {
|
|
29
|
+
static flags = {
|
|
30
|
+
...require_lib_base_command.AuthenticatedCommand.baseFlags,
|
|
31
|
+
search: _oclif_core.Flags.string({
|
|
32
|
+
description: "Search for specific series by keyword",
|
|
33
|
+
required: false
|
|
34
|
+
}),
|
|
35
|
+
"live-series-id": _oclif_core.Flags.integer({
|
|
36
|
+
description: "Limit results to a single series by its ID",
|
|
37
|
+
required: false
|
|
38
|
+
}),
|
|
39
|
+
"live-id": _oclif_core.Flags.integer({
|
|
40
|
+
description: "Filter to series that contain a specific webinar ID",
|
|
41
|
+
required: false
|
|
42
|
+
}),
|
|
43
|
+
"album-id": _oclif_core.Flags.integer({
|
|
44
|
+
description: "Filter to series belonging to a specific category",
|
|
45
|
+
required: false
|
|
46
|
+
}),
|
|
47
|
+
"user-id": _oclif_core.Flags.string({
|
|
48
|
+
description: "Filter to series created by a specific user (use \"me\" for the authenticated user)",
|
|
49
|
+
required: false
|
|
50
|
+
}),
|
|
51
|
+
"series-type": _oclif_core.Flags.string({
|
|
52
|
+
description: "Filter by series type",
|
|
53
|
+
options: ["liveevent", "series"],
|
|
54
|
+
required: false
|
|
55
|
+
}),
|
|
56
|
+
ordering: _oclif_core.Flags.string({
|
|
57
|
+
description: "Field to order results by",
|
|
58
|
+
options: [
|
|
59
|
+
"name",
|
|
60
|
+
"private",
|
|
61
|
+
"live_status",
|
|
62
|
+
"live_date",
|
|
63
|
+
"creation_date",
|
|
64
|
+
"updated_date"
|
|
65
|
+
],
|
|
66
|
+
required: false
|
|
67
|
+
}),
|
|
68
|
+
order: _oclif_core.Flags.string({
|
|
69
|
+
description: "Sort direction",
|
|
70
|
+
options: ["asc", "desc"],
|
|
71
|
+
required: false
|
|
72
|
+
}),
|
|
73
|
+
cancelled: _oclif_core.Flags.boolean({
|
|
74
|
+
description: "Filter by cancelled status",
|
|
75
|
+
allowNo: true,
|
|
76
|
+
required: false
|
|
77
|
+
}),
|
|
78
|
+
draft: _oclif_core.Flags.boolean({
|
|
79
|
+
description: "Filter by draft status",
|
|
80
|
+
allowNo: true,
|
|
81
|
+
required: false
|
|
82
|
+
}),
|
|
83
|
+
private: _oclif_core.Flags.boolean({
|
|
84
|
+
description: "Filter by private status",
|
|
85
|
+
allowNo: true,
|
|
86
|
+
required: false
|
|
87
|
+
}),
|
|
88
|
+
"include-private": _oclif_core.Flags.boolean({
|
|
89
|
+
description: "Include private series in results",
|
|
90
|
+
required: false
|
|
91
|
+
}),
|
|
92
|
+
"include-speakers": _oclif_core.Flags.boolean({
|
|
93
|
+
description: "Include speaker information for each series",
|
|
94
|
+
required: false
|
|
95
|
+
}),
|
|
96
|
+
"include-stats": _oclif_core.Flags.boolean({
|
|
97
|
+
description: "Include performance statistics for each series",
|
|
98
|
+
required: false
|
|
99
|
+
}),
|
|
100
|
+
"include-albums": _oclif_core.Flags.boolean({
|
|
101
|
+
description: "Include category information for each series",
|
|
102
|
+
required: false
|
|
103
|
+
}),
|
|
104
|
+
fields: _oclif_core.Flags.string({
|
|
105
|
+
description: "Comma-separated list of fields to return in the API response",
|
|
106
|
+
required: false
|
|
107
|
+
})
|
|
108
|
+
};
|
|
23
109
|
static args = {};
|
|
24
110
|
static agentMetadata = {
|
|
25
111
|
api_endpoint: "GET /live/series/list",
|
|
@@ -38,11 +124,31 @@ var WebinarSeriesList = class WebinarSeriesList extends require_lib_base_command
|
|
|
38
124
|
async run() {
|
|
39
125
|
const { flags } = await this.parse(WebinarSeriesList);
|
|
40
126
|
this.printWorkspaceHeader();
|
|
41
|
-
const
|
|
42
|
-
const
|
|
127
|
+
const buildQuery = (page, size) => {
|
|
128
|
+
const q = {
|
|
43
129
|
p: page,
|
|
44
130
|
size
|
|
45
|
-
}
|
|
131
|
+
};
|
|
132
|
+
if (flags.search !== void 0) q.search = flags.search;
|
|
133
|
+
if (flags["live-series-id"] !== void 0) q.live_series_id = flags["live-series-id"];
|
|
134
|
+
if (flags["live-id"] !== void 0) q.live_id = flags["live-id"];
|
|
135
|
+
if (flags["album-id"] !== void 0) q.album_id = flags["album-id"];
|
|
136
|
+
if (flags["user-id"] !== void 0) q.user_id = flags["user-id"];
|
|
137
|
+
if (flags["series-type"] !== void 0) q.series_type = flags["series-type"];
|
|
138
|
+
if (flags.ordering !== void 0) q.orderby = flags.ordering;
|
|
139
|
+
if (flags.order !== void 0) q.order = flags.order;
|
|
140
|
+
if (flags.cancelled !== void 0) q.cancelled_p = flags.cancelled;
|
|
141
|
+
if (flags.draft !== void 0) q.draft_p = flags.draft;
|
|
142
|
+
if (flags.private !== void 0) q.private_p = flags.private;
|
|
143
|
+
if (flags["include-private"]) q.include_private_p = true;
|
|
144
|
+
if (flags["include-speakers"]) q.include_speakers_p = true;
|
|
145
|
+
if (flags["include-stats"]) q.include_stats_p = true;
|
|
146
|
+
if (flags["include-albums"]) q.include_albums_p = true;
|
|
147
|
+
if (flags.fields !== void 0) q.fields = flags.fields;
|
|
148
|
+
return q;
|
|
149
|
+
};
|
|
150
|
+
const series = await require_lib_pagination.fetchAllPages(async (page, size) => {
|
|
151
|
+
const { data, error } = await this.apiClient.GET("/live/series/list", { params: { query: buildQuery(page, size) } });
|
|
46
152
|
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
47
153
|
const resp = data;
|
|
48
154
|
return {
|
|
@@ -21,6 +21,41 @@ var WebinarSpeakerList = class WebinarSpeakerList extends require_lib_base_comma
|
|
|
21
21
|
token: _oclif_core.Flags.string({
|
|
22
22
|
description: "Webinar token (auto-looked up if omitted)",
|
|
23
23
|
required: false
|
|
24
|
+
}),
|
|
25
|
+
"speaker-id": _oclif_core.Flags.integer({
|
|
26
|
+
description: "Filter to a single speaker by their speaker record ID",
|
|
27
|
+
required: false
|
|
28
|
+
}),
|
|
29
|
+
"request-status": _oclif_core.Flags.string({
|
|
30
|
+
description: "Filter by the speaker's request status",
|
|
31
|
+
options: [
|
|
32
|
+
"requested",
|
|
33
|
+
"approved",
|
|
34
|
+
"denied",
|
|
35
|
+
"expired"
|
|
36
|
+
],
|
|
37
|
+
required: false
|
|
38
|
+
}),
|
|
39
|
+
"creation-source": _oclif_core.Flags.string({
|
|
40
|
+
description: "Filter by the source of the speaker record",
|
|
41
|
+
options: ["admin", "guest"],
|
|
42
|
+
required: false
|
|
43
|
+
}),
|
|
44
|
+
"exclude-hidden": _oclif_core.Flags.boolean({
|
|
45
|
+
description: "Exclude speakers marked as hidden",
|
|
46
|
+
required: false
|
|
47
|
+
}),
|
|
48
|
+
"include-unapproved": _oclif_core.Flags.boolean({
|
|
49
|
+
description: "Include speakers with a non-approved request status",
|
|
50
|
+
required: false
|
|
51
|
+
}),
|
|
52
|
+
"include-hidden-guests": _oclif_core.Flags.boolean({
|
|
53
|
+
description: "Include guest speakers even if they are marked as hidden",
|
|
54
|
+
required: false
|
|
55
|
+
}),
|
|
56
|
+
fields: _oclif_core.Flags.string({
|
|
57
|
+
description: "Comma-separated list of fields to return in the API response",
|
|
58
|
+
required: false
|
|
24
59
|
})
|
|
25
60
|
};
|
|
26
61
|
static args = { id: _oclif_core.Args.string({
|
|
@@ -46,11 +81,18 @@ var WebinarSpeakerList = class WebinarSpeakerList extends require_lib_base_comma
|
|
|
46
81
|
const { args, flags } = await this.parse(WebinarSpeakerList);
|
|
47
82
|
this.printWorkspaceHeader();
|
|
48
83
|
const webinarId = Number(args.id);
|
|
49
|
-
const
|
|
50
|
-
const { data, error } = await this.apiClient.GET("/live/speaker/list", { params: { query: {
|
|
84
|
+
const query = {
|
|
51
85
|
live_id: webinarId,
|
|
52
|
-
token
|
|
53
|
-
}
|
|
86
|
+
token: flags.token ?? await this.fetchWebinarToken(webinarId)
|
|
87
|
+
};
|
|
88
|
+
if (flags["speaker-id"] !== void 0) query.live_speaker_id = flags["speaker-id"];
|
|
89
|
+
if (flags["request-status"] !== void 0) query.request_status = flags["request-status"];
|
|
90
|
+
if (flags["creation-source"] !== void 0) query.creation_source = flags["creation-source"];
|
|
91
|
+
if (flags["exclude-hidden"]) query.exclude_hidden_p = true;
|
|
92
|
+
if (flags["include-unapproved"]) query.include_unapproved_p = true;
|
|
93
|
+
if (flags["include-hidden-guests"]) query.include_hidden_guest_speakers_p = true;
|
|
94
|
+
if (flags.fields !== void 0) query.fields = flags.fields;
|
|
95
|
+
const { data, error } = await this.apiClient.GET("/live/speaker/list", { params: { query } });
|
|
54
96
|
if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
|
|
55
97
|
const speakers = Array.isArray(data?.data) ? data.data : data?.data ? [data.data] : [];
|
|
56
98
|
if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
|
|
@@ -106,7 +106,7 @@ var BaseCommand = class extends _oclif_core.Command {
|
|
|
106
106
|
async catch(err) {
|
|
107
107
|
if (!process.stdin.isTTY) return super.catch(err);
|
|
108
108
|
if (err.constructor.name !== "FailedFlagValidationError") return super.catch(err);
|
|
109
|
-
const flagNames = [...err.message.matchAll(/Missing required flag ([
|
|
109
|
+
const flagNames = [...err.message.matchAll(/Missing required flag ([a-zA-Z0-9_-]+)/g)].map((m) => m[1]);
|
|
110
110
|
if (flagNames.length === 0) return super.catch(err);
|
|
111
111
|
const inputFlags = err.parse?.input?.flags ?? {};
|
|
112
112
|
_clack_prompts.intro("Missing required input");
|
|
@@ -33,4 +33,4 @@ EXAMPLES
|
|
|
33
33
|
$ twentythree action add --type overlay --object-id 12345 --json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
36
|
+
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/add.ts)_
|
|
@@ -29,4 +29,4 @@ EXAMPLES
|
|
|
29
29
|
$ twentythree action delete 12345 --json
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
32
|
+
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/delete.ts)_
|
|
@@ -35,4 +35,4 @@ EXAMPLES
|
|
|
35
35
|
$ twentythree action exclude 12345 --object-id 6789 --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
38
|
+
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/exclude.ts)_
|
|
@@ -44,4 +44,4 @@ EXAMPLES
|
|
|
44
44
|
$ twentythree action get 12345 --json
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
47
|
+
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/get.ts)_
|
|
@@ -35,4 +35,4 @@ EXAMPLES
|
|
|
35
35
|
$ twentythree action include 12345 --object-id 6789 --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
38
|
+
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/include.ts)_
|
|
@@ -40,4 +40,4 @@ EXAMPLES
|
|
|
40
40
|
$ twentythree action list --video-id 12345 --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
43
|
+
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/list.ts)_
|
|
@@ -31,4 +31,4 @@ EXAMPLES
|
|
|
31
31
|
$ twentythree action types --json
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
34
|
+
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/types.ts)_
|
|
@@ -39,4 +39,4 @@ EXAMPLES
|
|
|
39
39
|
$ twentythree action update 12345 --name "Buy Now" --start-time 10 --end-time 20 --json
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
42
|
+
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/update.ts)_
|
|
@@ -33,4 +33,4 @@ EXAMPLES
|
|
|
33
33
|
$ twentythree action upload 12345 image ./banner.png --json
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
36
|
+
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/upload.ts)_
|
package/docs/commands/action.md
CHANGED
|
@@ -41,7 +41,7 @@ EXAMPLES
|
|
|
41
41
|
$ twentythree action add --type overlay --object-id 12345 --json
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
44
|
+
_See code: [src/commands/action/add.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/add.ts)_
|
|
45
45
|
|
|
46
46
|
## `twentythree action delete ID`
|
|
47
47
|
|
|
@@ -67,7 +67,7 @@ EXAMPLES
|
|
|
67
67
|
$ twentythree action delete 12345 --json
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
70
|
+
_See code: [src/commands/action/delete.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/delete.ts)_
|
|
71
71
|
|
|
72
72
|
## `twentythree action exclude ID`
|
|
73
73
|
|
|
@@ -99,7 +99,7 @@ EXAMPLES
|
|
|
99
99
|
$ twentythree action exclude 12345 --object-id 6789 --json
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
102
|
+
_See code: [src/commands/action/exclude.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/exclude.ts)_
|
|
103
103
|
|
|
104
104
|
## `twentythree action get [ID]`
|
|
105
105
|
|
|
@@ -140,7 +140,7 @@ EXAMPLES
|
|
|
140
140
|
$ twentythree action get 12345 --json
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
143
|
+
_See code: [src/commands/action/get.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/get.ts)_
|
|
144
144
|
|
|
145
145
|
## `twentythree action include ID`
|
|
146
146
|
|
|
@@ -172,7 +172,7 @@ EXAMPLES
|
|
|
172
172
|
$ twentythree action include 12345 --object-id 6789 --json
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
175
|
+
_See code: [src/commands/action/include.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/include.ts)_
|
|
176
176
|
|
|
177
177
|
## `twentythree action list`
|
|
178
178
|
|
|
@@ -209,7 +209,7 @@ EXAMPLES
|
|
|
209
209
|
$ twentythree action list --video-id 12345 --json
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
212
|
+
_See code: [src/commands/action/list.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/list.ts)_
|
|
213
213
|
|
|
214
214
|
## `twentythree action types`
|
|
215
215
|
|
|
@@ -237,7 +237,7 @@ EXAMPLES
|
|
|
237
237
|
$ twentythree action types --json
|
|
238
238
|
```
|
|
239
239
|
|
|
240
|
-
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
240
|
+
_See code: [src/commands/action/types.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/types.ts)_
|
|
241
241
|
|
|
242
242
|
## `twentythree action update ID`
|
|
243
243
|
|
|
@@ -273,7 +273,7 @@ EXAMPLES
|
|
|
273
273
|
$ twentythree action update 12345 --name "Buy Now" --start-time 10 --end-time 20 --json
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
-
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
276
|
+
_See code: [src/commands/action/update.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/update.ts)_
|
|
277
277
|
|
|
278
278
|
## `twentythree action upload ID VARIABLE-NAME FILE`
|
|
279
279
|
|
|
@@ -303,4 +303,4 @@ EXAMPLES
|
|
|
303
303
|
$ twentythree action upload 12345 image ./banner.png --json
|
|
304
304
|
```
|
|
305
305
|
|
|
306
|
-
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
306
|
+
_See code: [src/commands/action/upload.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/action/upload.ts)_
|
|
@@ -40,7 +40,7 @@ EXAMPLES
|
|
|
40
40
|
$ twentythree analytics conversions --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
_See code: [src/commands/analytics/conversions/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
43
|
+
_See code: [src/commands/analytics/conversions/index.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/analytics/conversions/index.ts)_
|
|
44
44
|
|
|
45
45
|
## `twentythree analytics conversions timeseries`
|
|
46
46
|
|
|
@@ -75,7 +75,7 @@ EXAMPLES
|
|
|
75
75
|
$ twentythree analytics conversions timeseries --json
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
_See code: [src/commands/analytics/conversions/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
78
|
+
_See code: [src/commands/analytics/conversions/timeseries.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/analytics/conversions/timeseries.ts)_
|
|
79
79
|
|
|
80
80
|
## `twentythree analytics conversions totals`
|
|
81
81
|
|
|
@@ -110,4 +110,4 @@ EXAMPLES
|
|
|
110
110
|
$ twentythree analytics conversions totals --json
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
-
_See code: [src/commands/analytics/conversions/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.
|
|
113
|
+
_See code: [src/commands/analytics/conversions/totals.ts](https://github.com/23/twentythree-cli/blob/v1.3.8/src/commands/analytics/conversions/totals.ts)_
|