@trillboards/cli 0.1.6 → 0.1.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/README.md +1099 -66
- package/dist/commands/generated/generated-approved-metric-get.d.ts +28 -0
- package/dist/commands/generated/generated-approved-metric-get.js +74 -0
- package/dist/commands/generated/generated-approved-metrics-list.d.ts +12 -0
- package/dist/commands/generated/generated-approved-metrics-list.js +26 -0
- package/dist/commands/generated/generated-curation-set-coverage-get.d.ts +14 -0
- package/dist/commands/generated/generated-curation-set-coverage-get.js +32 -0
- package/dist/commands/generated/generated-curation-set-roads-get.d.ts +19 -0
- package/dist/commands/generated/generated-curation-set-roads-get.js +47 -0
- package/dist/commands/generated/generated-curation-set-viewsheds-get.d.ts +15 -0
- package/dist/commands/generated/generated-curation-set-viewsheds-get.js +35 -0
- package/dist/commands/generated/generated-curation-sets-list.d.ts +15 -0
- package/dist/commands/generated/generated-curation-sets-list.js +38 -0
- package/dist/commands/generated/generated-data-api-ad-sightings-history.d.ts +20 -0
- package/dist/commands/generated/generated-data-api-ad-sightings-history.js +53 -0
- package/dist/commands/generated/generated-data-api-ad-sightings.d.ts +23 -0
- package/dist/commands/generated/generated-data-api-ad-sightings.js +62 -0
- package/dist/commands/generated/generated-device-retained-cctv-review.d.ts +13 -0
- package/dist/commands/generated/generated-device-retained-cctv-review.js +32 -0
- package/dist/commands/generated/generated-measured-board-audience-get.d.ts +16 -0
- package/dist/commands/generated/generated-measured-board-audience-get.js +38 -0
- package/dist/commands/generated/generated-measured-board-currency-get.d.ts +17 -0
- package/dist/commands/generated/generated-measured-board-currency-get.js +41 -0
- package/dist/commands/generated/generated-measured-board-occluders-get.d.ts +14 -0
- package/dist/commands/generated/generated-measured-board-occluders-get.js +32 -0
- package/dist/commands/generated/generated-measured-board-pass-replay-get.d.ts +16 -0
- package/dist/commands/generated/generated-measured-board-pass-replay-get.js +38 -0
- package/dist/commands/generated/generated-measured-board-tiles-get.d.ts +16 -0
- package/dist/commands/generated/generated-measured-board-tiles-get.js +38 -0
- package/dist/commands/generated/generated-measured-board-viewshed-get.d.ts +14 -0
- package/dist/commands/generated/generated-measured-board-viewshed-get.js +32 -0
- package/dist/commands/generated/generated-measured-boards-list.d.ts +16 -0
- package/dist/commands/generated/generated-measured-boards-list.js +41 -0
- package/dist/commands/generated/generated-measured-dma-format-index-get.d.ts +15 -0
- package/dist/commands/generated/generated-measured-dma-format-index-get.js +38 -0
- package/dist/commands/generated/generated-measured-geohash-tiles-list.d.ts +16 -0
- package/dist/commands/generated/generated-measured-geohash-tiles-list.js +41 -0
- package/dist/commands/generated/generated-measured-multiplier-feed-get.d.ts +17 -0
- package/dist/commands/generated/generated-measured-multiplier-feed-get.js +47 -0
- package/dist/commands/generated/generated-measured-roads-list.d.ts +18 -0
- package/dist/commands/generated/generated-measured-roads-list.js +47 -0
- package/dist/commands/generated/generated-measurement-calibration-get.d.ts +16 -0
- package/dist/commands/generated/generated-measurement-calibration-get.js +44 -0
- package/dist/commands/generated/generated-measurement-calibration-versions-list.d.ts +13 -0
- package/dist/commands/generated/generated-measurement-calibration-versions-list.js +32 -0
- package/dist/commands/generated/generated-measurement-releases-list.d.ts +13 -0
- package/dist/commands/generated/generated-measurement-releases-list.js +32 -0
- package/dist/commands/generated/generated-owner-board-audience-get.d.ts +16 -0
- package/dist/commands/generated/generated-owner-board-audience-get.js +38 -0
- package/dist/commands/generated/generated-owner-board-currency-get.d.ts +17 -0
- package/dist/commands/generated/generated-owner-board-currency-get.js +41 -0
- package/dist/commands/generated/generated-owner-board-tiles-get.d.ts +16 -0
- package/dist/commands/generated/generated-owner-board-tiles-get.js +38 -0
- package/dist/commands/generated/generated-owner-board-viewshed-get.d.ts +14 -0
- package/dist/commands/generated/generated-owner-board-viewshed-get.js +32 -0
- package/dist/commands/generated/generated-owner-delivery-report-get.d.ts +16 -0
- package/dist/commands/generated/generated-owner-delivery-report-get.js +41 -0
- package/dist/commands/generated/generated-owner-face-get.d.ts +15 -0
- package/dist/commands/generated/generated-owner-face-get.js +35 -0
- package/dist/commands/generated/generated-owner-faces-list.d.ts +13 -0
- package/dist/commands/generated/generated-owner-faces-list.js +35 -0
- package/dist/commands/generated/generated-owner-measurement-releases-list.d.ts +13 -0
- package/dist/commands/generated/generated-owner-measurement-releases-list.js +32 -0
- package/dist/commands/generated/generated-owner-multiplier-feed-get.d.ts +17 -0
- package/dist/commands/generated/generated-owner-multiplier-feed-get.js +47 -0
- package/dist/commands/generated/generated-owner-publisher-yield-by-query-get.d.ts +17 -0
- package/dist/commands/generated/generated-owner-publisher-yield-by-query-get.js +47 -0
- package/dist/commands/generated/generated-owner-publisher-yield-get.d.ts +18 -0
- package/dist/commands/generated/generated-owner-publisher-yield-get.js +47 -0
- package/dist/commands/generated/generated-sighted-brands-search.d.ts +14 -0
- package/dist/commands/generated/generated-sighted-brands-search.js +35 -0
- package/oclif.manifest.json +3007 -329
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Getapprovedmetric extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
metric: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
board_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
brands: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
by: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
day: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
daypart: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
dimensions: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
grade: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
grain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
markets: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
population: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
screens: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
stats: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
window: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
window_end: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
26
|
+
};
|
|
27
|
+
run(): Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Args, Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Getapprovedmetric extends BaseCommand {
|
|
8
|
+
static description = "One approved metric answered for a day or window, at its grain.";
|
|
9
|
+
static examples = [`$ trillboards generated approved-metric get`];
|
|
10
|
+
static args = {
|
|
11
|
+
metric: Args.string({ description: 'An approved metric name.', required: true }),
|
|
12
|
+
};
|
|
13
|
+
static flags = {
|
|
14
|
+
...BaseCommand.baseFlags,
|
|
15
|
+
'board_id': Flags.string({ description: 'Board face id (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.' }),
|
|
16
|
+
'brands': Flags.string({ description: 'Comma-separated resolved brand ids. Taken by: creative_brand_history.' }),
|
|
17
|
+
'by': Flags.string({ description: 'Condition scope (board metrics): daypart, light, weather or speed. Taken by: board_measured_impressions_per_spot.' }),
|
|
18
|
+
'day': Flags.string({ description: 'One day (YYYY-MM-DD). Give day or window; neither is the last settled day. Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, sensing_census, same_panel_index, radio_identifiers_per_person, creative_sightings, creative_share_of_voice, creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance, seatbelt_unbuckled_ride_rate.' }),
|
|
19
|
+
'daypart': Flags.string({ description: 'Daypart filter (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.' }),
|
|
20
|
+
'dimensions': Flags.string({ description: 'Comma-separated audience dimensions (dimension= is the one-value spelling). Taken by: demographic_share.' }),
|
|
21
|
+
'grade': Flags.string({ description: 'Camera evidence grade: face_backed or person_backed. Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct.' }),
|
|
22
|
+
'grain': Flags.string({ description: 'The answer grain (screen_hour, screen_day, fleet_day, market_day, market_month, ...): one of the metric\'s grains. Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, sensing_census, same_panel_index, radio_identifiers_per_person, creative_sightings, creative_share_of_voice, creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance, seatbelt_unbuckled_ride_rate.' }),
|
|
23
|
+
'markets': Flags.string({ description: 'Comma-separated markets as COUNTRY:CODE (US DMA, CA CMA). Taken by: creative_sightings, creative_share_of_voice, creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance, seatbelt_unbuckled_ride_rate.' }),
|
|
24
|
+
'population': Flags.string({ description: 'The population the shares are over. Taken by: sensing_census, same_panel_index.' }),
|
|
25
|
+
'screens': Flags.string({ description: 'Comma-separated 24-hex screen ids, up to the metric\'s max_screens. Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, seatbelt_compliance, seatbelt_unbuckled_ride_rate.' }),
|
|
26
|
+
'stats': Flags.string({ description: 'Comma-separated statistics (mean, p50, ...), from the metric\'s allowed stats. Taken by: camera_people_per_screen_hour, camera_head_pose_index.' }),
|
|
27
|
+
'window': Flags.string({ description: 'An inclusive span, YYYY-MM-DD..YYYY-MM-DD, up to the metric\'s max_window_days. Taken by: camera_people_per_screen_hour, camera_dwell_capped_ms, camera_head_pose_index, camera_gaze_pct, demographic_share, same_panel_index, radio_identifiers_per_person, creative_sightings, creative_share_of_voice, creative_street_presence, creative_vacancy_rate, creative_brand_history, seatbelt_compliance, seatbelt_unbuckled_ride_rate.' }),
|
|
28
|
+
'window_end': Flags.string({ description: 'Currency window end (board metrics). Taken by: board_measured_impressions_per_spot, board_pass_audience.' }),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { args, flags } = await this.parse(Getapprovedmetric);
|
|
32
|
+
this.setParsedFlags(flags);
|
|
33
|
+
const apiKey = this.getApiKey();
|
|
34
|
+
if (!apiKey)
|
|
35
|
+
this.error('Not logged in. Run: trillboards login');
|
|
36
|
+
let urlPath = '/v1/advertiser/measurement/metrics/{metric}';
|
|
37
|
+
urlPath = urlPath.replace('{metric}', args['metric']);
|
|
38
|
+
const params = {};
|
|
39
|
+
if (flags['board_id'])
|
|
40
|
+
params['board_id'] = flags['board_id'];
|
|
41
|
+
if (flags['brands'])
|
|
42
|
+
params['brands'] = flags['brands'];
|
|
43
|
+
if (flags['by'])
|
|
44
|
+
params['by'] = flags['by'];
|
|
45
|
+
if (flags['day'])
|
|
46
|
+
params['day'] = flags['day'];
|
|
47
|
+
if (flags['daypart'])
|
|
48
|
+
params['daypart'] = flags['daypart'];
|
|
49
|
+
if (flags['dimensions'])
|
|
50
|
+
params['dimensions'] = flags['dimensions'];
|
|
51
|
+
if (flags['grade'])
|
|
52
|
+
params['grade'] = flags['grade'];
|
|
53
|
+
if (flags['grain'])
|
|
54
|
+
params['grain'] = flags['grain'];
|
|
55
|
+
if (flags['markets'])
|
|
56
|
+
params['markets'] = flags['markets'];
|
|
57
|
+
if (flags['population'])
|
|
58
|
+
params['population'] = flags['population'];
|
|
59
|
+
if (flags['screens'])
|
|
60
|
+
params['screens'] = flags['screens'];
|
|
61
|
+
if (flags['stats'])
|
|
62
|
+
params['stats'] = flags['stats'];
|
|
63
|
+
if (flags['window'])
|
|
64
|
+
params['window'] = flags['window'];
|
|
65
|
+
if (flags['window_end'])
|
|
66
|
+
params['window_end'] = flags['window_end'];
|
|
67
|
+
const result = await apiRequest('GET', urlPath, {
|
|
68
|
+
apiKey,
|
|
69
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
70
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
71
|
+
});
|
|
72
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Listapprovedmetrics extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
import { apiRequest } from '../../http.js';
|
|
3
|
+
import { formatOutput } from '../../output.js';
|
|
4
|
+
export default class Listapprovedmetrics extends BaseCommand {
|
|
5
|
+
static description = "The approved metrics: every governed audience, camera, creative, seatbelt, board and panel answer you can buy.";
|
|
6
|
+
static examples = [`$ trillboards generated approved-metrics list`];
|
|
7
|
+
static args = {};
|
|
8
|
+
static flags = {
|
|
9
|
+
...BaseCommand.baseFlags,
|
|
10
|
+
};
|
|
11
|
+
async run() {
|
|
12
|
+
const { args, flags } = await this.parse(Listapprovedmetrics);
|
|
13
|
+
this.setParsedFlags(flags);
|
|
14
|
+
const apiKey = this.getApiKey();
|
|
15
|
+
if (!apiKey)
|
|
16
|
+
this.error('Not logged in. Run: trillboards login');
|
|
17
|
+
let urlPath = '/v1/advertiser/measurement/metrics';
|
|
18
|
+
const params = {};
|
|
19
|
+
const result = await apiRequest('GET', urlPath, {
|
|
20
|
+
apiKey,
|
|
21
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
22
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
23
|
+
});
|
|
24
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Getcurationsetcoverage extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
setKey: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Args } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Getcurationsetcoverage extends BaseCommand {
|
|
8
|
+
static description = "The measured coverage of one curated set.";
|
|
9
|
+
static examples = [`$ trillboards generated curation-set-coverage get`];
|
|
10
|
+
static args = {
|
|
11
|
+
setKey: Args.string({ description: 'A curated set key, as listed by /curation-sets.', required: true }),
|
|
12
|
+
};
|
|
13
|
+
static flags = {
|
|
14
|
+
...BaseCommand.baseFlags,
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
const { args, flags } = await this.parse(Getcurationsetcoverage);
|
|
18
|
+
this.setParsedFlags(flags);
|
|
19
|
+
const apiKey = this.getApiKey();
|
|
20
|
+
if (!apiKey)
|
|
21
|
+
this.error('Not logged in. Run: trillboards login');
|
|
22
|
+
let urlPath = '/v1/advertiser/measurement/curation-sets/{setKey}/coverage';
|
|
23
|
+
urlPath = urlPath.replace('{setKey}', args['setKey']);
|
|
24
|
+
const params = {};
|
|
25
|
+
const result = await apiRequest('GET', urlPath, {
|
|
26
|
+
apiKey,
|
|
27
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
28
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
29
|
+
});
|
|
30
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Getcurationsetroads extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
setKey: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
bbox: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
dow_type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
hour: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
metric: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
road_class: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Args, Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Getcurationsetroads extends BaseCommand {
|
|
8
|
+
static description = "The roads that serve a curated set, with the traffic index and speeds.";
|
|
9
|
+
static examples = [`$ trillboards generated curation-set-roads get`];
|
|
10
|
+
static args = {
|
|
11
|
+
setKey: Args.string({ description: 'A curated set key, as listed by /curation-sets.', required: true }),
|
|
12
|
+
};
|
|
13
|
+
static flags = {
|
|
14
|
+
...BaseCommand.baseFlags,
|
|
15
|
+
'bbox': Flags.string({ description: 'minLon,minLat,maxLon,maxLat (RFC 7946 order). The span is capped (`max_bbox_deg` on /curation-sets); a wider box answers 413 bbox_too_large.' }),
|
|
16
|
+
'dow_type': Flags.string({ description: 'Day-of-week type (default weekday).' }),
|
|
17
|
+
'hour': Flags.string({ description: 'Local hour 0-23. Absent: every hour.' }),
|
|
18
|
+
'metric': Flags.string({ description: 'traversal_index (default), speed or speed_ratio.' }),
|
|
19
|
+
'road_class': Flags.string({ description: 'Comma-separated OSM classes: motorway, motorway_link, trunk, trunk_link, primary, primary_link, secondary, secondary_link, tertiary, tertiary_link, unclassified, residential, living_street, service.' }),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
const { args, flags } = await this.parse(Getcurationsetroads);
|
|
23
|
+
this.setParsedFlags(flags);
|
|
24
|
+
const apiKey = this.getApiKey();
|
|
25
|
+
if (!apiKey)
|
|
26
|
+
this.error('Not logged in. Run: trillboards login');
|
|
27
|
+
let urlPath = '/v1/advertiser/measurement/curation-sets/{setKey}/roads.geojson';
|
|
28
|
+
urlPath = urlPath.replace('{setKey}', args['setKey']);
|
|
29
|
+
const params = {};
|
|
30
|
+
if (flags['bbox'])
|
|
31
|
+
params['bbox'] = flags['bbox'];
|
|
32
|
+
if (flags['dow_type'])
|
|
33
|
+
params['dow_type'] = flags['dow_type'];
|
|
34
|
+
if (flags['hour'])
|
|
35
|
+
params['hour'] = flags['hour'];
|
|
36
|
+
if (flags['metric'])
|
|
37
|
+
params['metric'] = flags['metric'];
|
|
38
|
+
if (flags['road_class'])
|
|
39
|
+
params['road_class'] = flags['road_class'];
|
|
40
|
+
const result = await apiRequest('GET', urlPath, {
|
|
41
|
+
apiKey,
|
|
42
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
43
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
44
|
+
});
|
|
45
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Getcurationsetviewsheds extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
setKey: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
bbox: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Args, Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Getcurationsetviewsheds extends BaseCommand {
|
|
8
|
+
static description = "The viewsheds and face points of every member of a curated set.";
|
|
9
|
+
static examples = [`$ trillboards generated curation-set-viewsheds get`];
|
|
10
|
+
static args = {
|
|
11
|
+
setKey: Args.string({ description: 'A curated set key, as listed by /curation-sets.', required: true }),
|
|
12
|
+
};
|
|
13
|
+
static flags = {
|
|
14
|
+
...BaseCommand.baseFlags,
|
|
15
|
+
'bbox': Flags.string({ description: 'minLon,minLat,maxLon,maxLat (RFC 7946 order). The span is capped (`max_bbox_deg` on /curation-sets); a wider box answers 413 bbox_too_large.' }),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { args, flags } = await this.parse(Getcurationsetviewsheds);
|
|
19
|
+
this.setParsedFlags(flags);
|
|
20
|
+
const apiKey = this.getApiKey();
|
|
21
|
+
if (!apiKey)
|
|
22
|
+
this.error('Not logged in. Run: trillboards login');
|
|
23
|
+
let urlPath = '/v1/advertiser/measurement/curation-sets/{setKey}/viewsheds.geojson';
|
|
24
|
+
urlPath = urlPath.replace('{setKey}', args['setKey']);
|
|
25
|
+
const params = {};
|
|
26
|
+
if (flags['bbox'])
|
|
27
|
+
params['bbox'] = flags['bbox'];
|
|
28
|
+
const result = await apiRequest('GET', urlPath, {
|
|
29
|
+
apiKey,
|
|
30
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
31
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
32
|
+
});
|
|
33
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Listcurationsets extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
q: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
limit: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
offset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Listcurationsets extends BaseCommand {
|
|
8
|
+
static description = "The curated board sets (approved packages) with their measured coverage.";
|
|
9
|
+
static examples = [`$ trillboards generated curation-sets list`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'q': Flags.string({ description: 'Search the set names.' }),
|
|
14
|
+
'limit': Flags.string({ description: 'Page size (default 200).' }),
|
|
15
|
+
'offset': Flags.string({ description: 'Page offset.' }),
|
|
16
|
+
};
|
|
17
|
+
async run() {
|
|
18
|
+
const { args, flags } = await this.parse(Listcurationsets);
|
|
19
|
+
this.setParsedFlags(flags);
|
|
20
|
+
const apiKey = this.getApiKey();
|
|
21
|
+
if (!apiKey)
|
|
22
|
+
this.error('Not logged in. Run: trillboards login');
|
|
23
|
+
let urlPath = '/v1/advertiser/measurement/curation-sets';
|
|
24
|
+
const params = {};
|
|
25
|
+
if (flags['q'])
|
|
26
|
+
params['q'] = flags['q'];
|
|
27
|
+
if (flags['limit'])
|
|
28
|
+
params['limit'] = flags['limit'];
|
|
29
|
+
if (flags['offset'])
|
|
30
|
+
params['offset'] = flags['offset'];
|
|
31
|
+
const result = await apiRequest('GET', urlPath, {
|
|
32
|
+
apiKey,
|
|
33
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
34
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
35
|
+
});
|
|
36
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Dataapiadsightingshistory extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
brand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
brand_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
market: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
grain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
limit: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
cursor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Dataapiadsightingshistory extends BaseCommand {
|
|
8
|
+
static description = "Outdoor creative history by brand, market and month, from the creative ledger.";
|
|
9
|
+
static examples = [`$ trillboards generated data-api-ad-sightings-history`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'brand': Flags.string({ description: 'A brand by name, repeatable (competitors). Resolved to its brand id the way the brand search does.' }),
|
|
14
|
+
'brand_id': Flags.string({ description: 'A resolved brand id, repeatable.' }),
|
|
15
|
+
'market': Flags.string({ description: 'A market as COUNTRY:CODE, repeatable.' }),
|
|
16
|
+
'from': Flags.string({ description: 'First month (YYYY-MM) or day. Default: 12 months before `to`.' }),
|
|
17
|
+
'to': Flags.string({ description: 'Last month (YYYY-MM, inclusive) or day. Default: this month.' }),
|
|
18
|
+
'grain': Flags.string({ description: 'market_month (default) or fleet_month.' }),
|
|
19
|
+
'limit': Flags.string({ description: 'Rows per page, 1..500 (default 100). The page limit is reserved; the rows returned are billed.' }),
|
|
20
|
+
'cursor': Flags.string({ description: 'The `next_cursor` of the previous page.' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
const { args, flags } = await this.parse(Dataapiadsightingshistory);
|
|
24
|
+
this.setParsedFlags(flags);
|
|
25
|
+
const apiKey = this.getApiKey();
|
|
26
|
+
if (!apiKey)
|
|
27
|
+
this.error('Not logged in. Run: trillboards login');
|
|
28
|
+
let urlPath = '/v1/data/ad-sightings/history';
|
|
29
|
+
const params = {};
|
|
30
|
+
if (flags['brand'])
|
|
31
|
+
params['brand'] = flags['brand'];
|
|
32
|
+
if (flags['brand_id'])
|
|
33
|
+
params['brand_id'] = flags['brand_id'];
|
|
34
|
+
if (flags['market'])
|
|
35
|
+
params['market'] = flags['market'];
|
|
36
|
+
if (flags['from'])
|
|
37
|
+
params['from'] = flags['from'];
|
|
38
|
+
if (flags['to'])
|
|
39
|
+
params['to'] = flags['to'];
|
|
40
|
+
if (flags['grain'])
|
|
41
|
+
params['grain'] = flags['grain'];
|
|
42
|
+
if (flags['limit'])
|
|
43
|
+
params['limit'] = flags['limit'];
|
|
44
|
+
if (flags['cursor'])
|
|
45
|
+
params['cursor'] = flags['cursor'];
|
|
46
|
+
const result = await apiRequest('GET', urlPath, {
|
|
47
|
+
apiKey,
|
|
48
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
49
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
50
|
+
});
|
|
51
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Dataapiadsightings extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
brand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
brand_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
market: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
surface: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
board_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
creative_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
instrument: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
limit: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
cursor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Dataapiadsightings extends BaseCommand {
|
|
8
|
+
static description = "Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.";
|
|
9
|
+
static examples = [`$ trillboards generated data-api-ad-sightings`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'brand': Flags.string({ description: 'A brand, repeatable for a brand set (competitors). Matched however it is typed: "McDonald\'s", "mcdonalds" and "Mc Donalds" find the same records.' }),
|
|
14
|
+
'brand_id': Flags.string({ description: 'A resolved brand id, repeatable. Combined with `brand` as either-or.' }),
|
|
15
|
+
'market': Flags.string({ description: 'A market as COUNTRY:CODE (US DMA or CA CMA), repeatable.' }),
|
|
16
|
+
'surface': Flags.string({ description: 'The surface kind as read (billboard, storefront, bus_shelter, ...), repeatable.' }),
|
|
17
|
+
'board_id': Flags.string({ description: 'A board the sighting was matched to, repeatable.' }),
|
|
18
|
+
'creative_id': Flags.string({ description: 'A sighted creative (the campaign artwork), repeatable.' }),
|
|
19
|
+
'instrument': Flags.string({ description: 'The reading instrument (ssr-v2, ssr-v1, vlmtext-v1, edge_ocr_v1), repeatable.' }),
|
|
20
|
+
'from': Flags.string({ description: 'Start (inclusive), YYYY-MM-DD or an ISO-8601 instant. Default: 30 days before `to`.' }),
|
|
21
|
+
'to': Flags.string({ description: 'End (exclusive). Default: now. The span is at most 400 days.' }),
|
|
22
|
+
'limit': Flags.string({ description: 'Records per page, 1..500 (default 50). The page limit is reserved; the records returned are billed.' }),
|
|
23
|
+
'cursor': Flags.string({ description: 'The `next_cursor` of the previous page.' }),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
const { args, flags } = await this.parse(Dataapiadsightings);
|
|
27
|
+
this.setParsedFlags(flags);
|
|
28
|
+
const apiKey = this.getApiKey();
|
|
29
|
+
if (!apiKey)
|
|
30
|
+
this.error('Not logged in. Run: trillboards login');
|
|
31
|
+
let urlPath = '/v1/data/ad-sightings';
|
|
32
|
+
const params = {};
|
|
33
|
+
if (flags['brand'])
|
|
34
|
+
params['brand'] = flags['brand'];
|
|
35
|
+
if (flags['brand_id'])
|
|
36
|
+
params['brand_id'] = flags['brand_id'];
|
|
37
|
+
if (flags['market'])
|
|
38
|
+
params['market'] = flags['market'];
|
|
39
|
+
if (flags['surface'])
|
|
40
|
+
params['surface'] = flags['surface'];
|
|
41
|
+
if (flags['board_id'])
|
|
42
|
+
params['board_id'] = flags['board_id'];
|
|
43
|
+
if (flags['creative_id'])
|
|
44
|
+
params['creative_id'] = flags['creative_id'];
|
|
45
|
+
if (flags['instrument'])
|
|
46
|
+
params['instrument'] = flags['instrument'];
|
|
47
|
+
if (flags['from'])
|
|
48
|
+
params['from'] = flags['from'];
|
|
49
|
+
if (flags['to'])
|
|
50
|
+
params['to'] = flags['to'];
|
|
51
|
+
if (flags['limit'])
|
|
52
|
+
params['limit'] = flags['limit'];
|
|
53
|
+
if (flags['cursor'])
|
|
54
|
+
params['cursor'] = flags['cursor'];
|
|
55
|
+
const result = await apiRequest('GET', urlPath, {
|
|
56
|
+
apiKey,
|
|
57
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
58
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
59
|
+
});
|
|
60
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Deviceretainedcctvreview extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (device-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Deviceretainedcctvreview extends BaseCommand {
|
|
8
|
+
static description = "Store original CCTV evidence and its completed local review.";
|
|
9
|
+
static examples = [`$ trillboards generated device-retained-cctv-review`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
data: Flags.string({ description: 'JSON request body' }),
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { args, flags } = await this.parse(Deviceretainedcctvreview);
|
|
17
|
+
this.setParsedFlags(flags);
|
|
18
|
+
const apiKey = this.getApiKey();
|
|
19
|
+
if (!apiKey)
|
|
20
|
+
this.error('Not logged in. Run: trillboards login');
|
|
21
|
+
let urlPath = '/v2/earner/cctv-retained/reviews';
|
|
22
|
+
const params = {};
|
|
23
|
+
const body = flags.data ? JSON.parse(flags.data) : undefined;
|
|
24
|
+
const result = await apiRequest('POST', urlPath, {
|
|
25
|
+
apiKey,
|
|
26
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
27
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
28
|
+
body,
|
|
29
|
+
});
|
|
30
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Getmeasuredboardaudience extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
boardId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
window_end: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
daypart: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|