/
actor_collection.ts
73 lines (64 loc) · 2.01 KB
/
actor_collection.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import ow from 'ow';
import { ApiClientSubResourceOptions } from '../base/api_client';
import { ResourceCollectionClient } from '../base/resource_collection_client';
import { PaginatedList } from '../utils';
import { Actor, ActorDefaultRunOptions, ActorExampleRunInput } from './actor';
import { ActorVersion } from './actor_version';
export class ActorCollectionClient extends ResourceCollectionClient {
/**
* @hidden
*/
constructor(options: ApiClientSubResourceOptions) {
super({
resourcePath: 'acts',
...options,
});
}
/**
* https://docs.apify.com/api/v2#/reference/actors/actor-collection/get-list-of-actors
*/
async list(options: ActorCollectionListOptions = {}): Promise<ActorCollectionListResult> {
ow(options, ow.object.exactShape({
my: ow.optional.boolean,
limit: ow.optional.number,
offset: ow.optional.number,
desc: ow.optional.boolean,
}));
return this._list(options);
}
/**
* https://docs.apify.com/api/v2#/reference/actors/actor-collection/create-actor
*/
async create(actor: ActorCollectionCreateOptions): Promise<Actor> {
ow(actor, ow.optional.object);
return this._create(actor);
}
}
export interface ActorCollectionListOptions {
my?: boolean;
limit?: number;
offset?: number;
desc?: boolean;
}
export interface ActorCollectionListItem {
id: string;
createdAt: Date;
modifiedAt: Date;
name: string;
username: string;
}
export type ActorCollectionListResult = PaginatedList<ActorCollectionListItem>;
export interface ActorCollectionCreateOptions {
categories?: string[];
defaultRunOptions?: ActorDefaultRunOptions;
description?: string;
exampleRunInput?: ActorExampleRunInput;
isDeprecated?: boolean;
isPublic?: boolean;
name?: string;
restartOnError?: boolean;
seoTitle?: string;
seoDescription?: string;
title?: string;
versions?: ActorVersion[];
}