@hasna/connectors 0.5.0 → 0.5.2
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/bin/index.js +147 -6
- package/bin/mcp.js +92 -1
- package/bin/serve.js +91 -0
- package/connectors/connect-ably/.env.example +11 -0
- package/connectors/connect-ably/CLAUDE.md +111 -0
- package/connectors/connect-ably/README.md +193 -0
- package/connectors/connect-ably/package.json +54 -0
- package/connectors/connect-ably/scripts/release.ts +179 -0
- package/connectors/connect-ably/src/api/channels.ts +33 -0
- package/connectors/connect-ably/src/api/client.ts +203 -0
- package/connectors/connect-ably/src/api/index.ts +59 -0
- package/connectors/connect-ably/src/api/messages.ts +48 -0
- package/connectors/connect-ably/src/api/presence.ts +39 -0
- package/connectors/connect-ably/src/api/stats.ts +29 -0
- package/connectors/connect-ably/src/cli/index.ts +397 -0
- package/connectors/connect-ably/src/index.ts +102 -0
- package/connectors/connect-ably/src/types/index.ts +294 -0
- package/connectors/connect-ably/src/utils/auth.ts +274 -0
- package/connectors/connect-ably/src/utils/bulk.ts +212 -0
- package/connectors/connect-ably/src/utils/config.ts +323 -0
- package/connectors/connect-ably/src/utils/output.ts +175 -0
- package/connectors/connect-ably/src/utils/settings.ts +114 -0
- package/connectors/connect-ably/src/utils/storage.ts +198 -0
- package/connectors/connect-ably/tsconfig.json +16 -0
- package/connectors/connect-box/.env.example +11 -0
- package/connectors/connect-box/CLAUDE.md +272 -0
- package/connectors/connect-box/README.md +193 -0
- package/connectors/connect-box/package.json +51 -0
- package/connectors/connect-box/scripts/release.ts +179 -0
- package/connectors/connect-box/src/api/client.ts +213 -0
- package/connectors/connect-box/src/api/example.ts +48 -0
- package/connectors/connect-box/src/api/index.ts +51 -0
- package/connectors/connect-box/src/cli/index.ts +254 -0
- package/connectors/connect-box/src/index.ts +103 -0
- package/connectors/connect-box/src/types/index.ts +237 -0
- package/connectors/connect-box/src/utils/auth.ts +274 -0
- package/connectors/connect-box/src/utils/bulk.ts +212 -0
- package/connectors/connect-box/src/utils/config.ts +326 -0
- package/connectors/connect-box/src/utils/output.ts +175 -0
- package/connectors/connect-box/src/utils/settings.ts +114 -0
- package/connectors/connect-box/src/utils/storage.ts +198 -0
- package/connectors/connect-box/tsconfig.json +16 -0
- package/connectors/connect-clearbit/.env.example +11 -0
- package/connectors/connect-clearbit/CLAUDE.md +272 -0
- package/connectors/connect-clearbit/README.md +193 -0
- package/connectors/connect-clearbit/package.json +51 -0
- package/connectors/connect-clearbit/scripts/release.ts +179 -0
- package/connectors/connect-clearbit/src/api/client.ts +213 -0
- package/connectors/connect-clearbit/src/api/example.ts +48 -0
- package/connectors/connect-clearbit/src/api/index.ts +51 -0
- package/connectors/connect-clearbit/src/cli/index.ts +254 -0
- package/connectors/connect-clearbit/src/index.ts +103 -0
- package/connectors/connect-clearbit/src/types/index.ts +237 -0
- package/connectors/connect-clearbit/src/utils/auth.ts +274 -0
- package/connectors/connect-clearbit/src/utils/bulk.ts +212 -0
- package/connectors/connect-clearbit/src/utils/config.ts +326 -0
- package/connectors/connect-clearbit/src/utils/output.ts +175 -0
- package/connectors/connect-clearbit/src/utils/settings.ts +114 -0
- package/connectors/connect-clearbit/src/utils/storage.ts +198 -0
- package/connectors/connect-clearbit/tsconfig.json +16 -0
- package/connectors/connect-coda/.env.example +11 -0
- package/connectors/connect-coda/CLAUDE.md +272 -0
- package/connectors/connect-coda/README.md +193 -0
- package/connectors/connect-coda/package.json +51 -0
- package/connectors/connect-coda/scripts/release.ts +179 -0
- package/connectors/connect-coda/src/api/client.ts +213 -0
- package/connectors/connect-coda/src/api/example.ts +48 -0
- package/connectors/connect-coda/src/api/index.ts +51 -0
- package/connectors/connect-coda/src/cli/index.ts +254 -0
- package/connectors/connect-coda/src/index.ts +103 -0
- package/connectors/connect-coda/src/types/index.ts +237 -0
- package/connectors/connect-coda/src/utils/auth.ts +274 -0
- package/connectors/connect-coda/src/utils/bulk.ts +212 -0
- package/connectors/connect-coda/src/utils/config.ts +326 -0
- package/connectors/connect-coda/src/utils/output.ts +175 -0
- package/connectors/connect-coda/src/utils/settings.ts +114 -0
- package/connectors/connect-coda/src/utils/storage.ts +198 -0
- package/connectors/connect-coda/tsconfig.json +16 -0
- package/connectors/connect-dropbox/.env.example +11 -0
- package/connectors/connect-dropbox/CLAUDE.md +119 -0
- package/connectors/connect-dropbox/README.md +193 -0
- package/connectors/connect-dropbox/package.json +51 -0
- package/connectors/connect-dropbox/src/api/client.ts +222 -0
- package/connectors/connect-dropbox/src/api/index.ts +395 -0
- package/connectors/connect-dropbox/src/cli/index.ts +627 -0
- package/connectors/connect-dropbox/src/index.ts +20 -0
- package/connectors/connect-dropbox/src/types/index.ts +516 -0
- package/connectors/connect-dropbox/src/utils/config.ts +197 -0
- package/connectors/connect-dropbox/tsconfig.json +16 -0
- package/connectors/connect-linode/.env.example +11 -0
- package/connectors/connect-linode/CLAUDE.md +272 -0
- package/connectors/connect-linode/README.md +193 -0
- package/connectors/connect-linode/package.json +51 -0
- package/connectors/connect-linode/scripts/release.ts +179 -0
- package/connectors/connect-linode/src/api/client.ts +213 -0
- package/connectors/connect-linode/src/api/example.ts +48 -0
- package/connectors/connect-linode/src/api/index.ts +51 -0
- package/connectors/connect-linode/src/cli/index.ts +254 -0
- package/connectors/connect-linode/src/index.ts +103 -0
- package/connectors/connect-linode/src/types/index.ts +237 -0
- package/connectors/connect-linode/src/utils/auth.ts +274 -0
- package/connectors/connect-linode/src/utils/bulk.ts +212 -0
- package/connectors/connect-linode/src/utils/config.ts +326 -0
- package/connectors/connect-linode/src/utils/output.ts +175 -0
- package/connectors/connect-linode/src/utils/settings.ts +114 -0
- package/connectors/connect-linode/src/utils/storage.ts +198 -0
- package/connectors/connect-linode/tsconfig.json +16 -0
- package/connectors/connect-mailgun/.env.example +11 -0
- package/connectors/connect-mailgun/CLAUDE.md +272 -0
- package/connectors/connect-mailgun/README.md +193 -0
- package/connectors/connect-mailgun/package.json +51 -0
- package/connectors/connect-mailgun/scripts/release.ts +179 -0
- package/connectors/connect-mailgun/src/api/client.ts +213 -0
- package/connectors/connect-mailgun/src/api/example.ts +48 -0
- package/connectors/connect-mailgun/src/api/index.ts +51 -0
- package/connectors/connect-mailgun/src/cli/index.ts +254 -0
- package/connectors/connect-mailgun/src/index.ts +103 -0
- package/connectors/connect-mailgun/src/types/index.ts +237 -0
- package/connectors/connect-mailgun/src/utils/auth.ts +274 -0
- package/connectors/connect-mailgun/src/utils/bulk.ts +212 -0
- package/connectors/connect-mailgun/src/utils/config.ts +326 -0
- package/connectors/connect-mailgun/src/utils/output.ts +175 -0
- package/connectors/connect-mailgun/src/utils/settings.ts +114 -0
- package/connectors/connect-mailgun/src/utils/storage.ts +198 -0
- package/connectors/connect-mailgun/tsconfig.json +16 -0
- package/connectors/connect-messagebird/.env.example +11 -0
- package/connectors/connect-messagebird/CLAUDE.md +272 -0
- package/connectors/connect-messagebird/README.md +193 -0
- package/connectors/connect-messagebird/package.json +51 -0
- package/connectors/connect-messagebird/scripts/release.ts +179 -0
- package/connectors/connect-messagebird/src/api/client.ts +213 -0
- package/connectors/connect-messagebird/src/api/example.ts +48 -0
- package/connectors/connect-messagebird/src/api/index.ts +51 -0
- package/connectors/connect-messagebird/src/cli/index.ts +254 -0
- package/connectors/connect-messagebird/src/index.ts +103 -0
- package/connectors/connect-messagebird/src/types/index.ts +237 -0
- package/connectors/connect-messagebird/src/utils/auth.ts +274 -0
- package/connectors/connect-messagebird/src/utils/bulk.ts +212 -0
- package/connectors/connect-messagebird/src/utils/config.ts +326 -0
- package/connectors/connect-messagebird/src/utils/output.ts +175 -0
- package/connectors/connect-messagebird/src/utils/settings.ts +114 -0
- package/connectors/connect-messagebird/src/utils/storage.ts +198 -0
- package/connectors/connect-messagebird/tsconfig.json +16 -0
- package/connectors/connect-miro/.env.example +11 -0
- package/connectors/connect-miro/CLAUDE.md +272 -0
- package/connectors/connect-miro/README.md +193 -0
- package/connectors/connect-miro/package.json +51 -0
- package/connectors/connect-miro/scripts/release.ts +179 -0
- package/connectors/connect-miro/src/api/client.ts +213 -0
- package/connectors/connect-miro/src/api/example.ts +48 -0
- package/connectors/connect-miro/src/api/index.ts +51 -0
- package/connectors/connect-miro/src/cli/index.ts +254 -0
- package/connectors/connect-miro/src/index.ts +103 -0
- package/connectors/connect-miro/src/types/index.ts +237 -0
- package/connectors/connect-miro/src/utils/auth.ts +274 -0
- package/connectors/connect-miro/src/utils/bulk.ts +212 -0
- package/connectors/connect-miro/src/utils/config.ts +326 -0
- package/connectors/connect-miro/src/utils/output.ts +175 -0
- package/connectors/connect-miro/src/utils/settings.ts +114 -0
- package/connectors/connect-miro/src/utils/storage.ts +198 -0
- package/connectors/connect-miro/tsconfig.json +16 -0
- package/connectors/connect-monday/.env.example +11 -0
- package/connectors/connect-monday/CLAUDE.md +128 -0
- package/connectors/connect-monday/README.md +193 -0
- package/connectors/connect-monday/package.json +52 -0
- package/connectors/connect-monday/src/api/client.ts +59 -0
- package/connectors/connect-monday/src/api/index.ts +539 -0
- package/connectors/connect-monday/src/cli/index.ts +479 -0
- package/connectors/connect-monday/src/index.ts +19 -0
- package/connectors/connect-monday/src/types/index.ts +274 -0
- package/connectors/connect-monday/src/utils/config.ts +197 -0
- package/connectors/connect-monday/src/utils/output.ts +119 -0
- package/connectors/connect-monday/tsconfig.json +16 -0
- package/connectors/connect-pipedrive/.env.example +11 -0
- package/connectors/connect-pipedrive/CLAUDE.md +128 -0
- package/connectors/connect-pipedrive/README.md +193 -0
- package/connectors/connect-pipedrive/package.json +52 -0
- package/connectors/connect-pipedrive/src/api/client.ts +121 -0
- package/connectors/connect-pipedrive/src/api/index.ts +306 -0
- package/connectors/connect-pipedrive/src/cli/index.ts +824 -0
- package/connectors/connect-pipedrive/src/index.ts +19 -0
- package/connectors/connect-pipedrive/src/types/index.ts +335 -0
- package/connectors/connect-pipedrive/src/utils/config.ts +171 -0
- package/connectors/connect-pipedrive/src/utils/output.ts +119 -0
- package/connectors/connect-pipedrive/tsconfig.json +16 -0
- package/connectors/connect-pusher/.env.example +11 -0
- package/connectors/connect-pusher/CLAUDE.md +272 -0
- package/connectors/connect-pusher/README.md +193 -0
- package/connectors/connect-pusher/package.json +51 -0
- package/connectors/connect-pusher/scripts/release.ts +179 -0
- package/connectors/connect-pusher/src/api/client.ts +213 -0
- package/connectors/connect-pusher/src/api/example.ts +48 -0
- package/connectors/connect-pusher/src/api/index.ts +51 -0
- package/connectors/connect-pusher/src/cli/index.ts +254 -0
- package/connectors/connect-pusher/src/index.ts +103 -0
- package/connectors/connect-pusher/src/types/index.ts +237 -0
- package/connectors/connect-pusher/src/utils/auth.ts +274 -0
- package/connectors/connect-pusher/src/utils/bulk.ts +212 -0
- package/connectors/connect-pusher/src/utils/config.ts +326 -0
- package/connectors/connect-pusher/src/utils/output.ts +175 -0
- package/connectors/connect-pusher/src/utils/settings.ts +114 -0
- package/connectors/connect-pusher/src/utils/storage.ts +198 -0
- package/connectors/connect-pusher/tsconfig.json +16 -0
- package/connectors/connect-vonage/.env.example +11 -0
- package/connectors/connect-vonage/CLAUDE.md +272 -0
- package/connectors/connect-vonage/README.md +193 -0
- package/connectors/connect-vonage/package.json +51 -0
- package/connectors/connect-vonage/scripts/release.ts +179 -0
- package/connectors/connect-vonage/src/api/client.ts +213 -0
- package/connectors/connect-vonage/src/api/example.ts +48 -0
- package/connectors/connect-vonage/src/api/index.ts +51 -0
- package/connectors/connect-vonage/src/cli/index.ts +254 -0
- package/connectors/connect-vonage/src/index.ts +103 -0
- package/connectors/connect-vonage/src/types/index.ts +237 -0
- package/connectors/connect-vonage/src/utils/auth.ts +274 -0
- package/connectors/connect-vonage/src/utils/bulk.ts +212 -0
- package/connectors/connect-vonage/src/utils/config.ts +326 -0
- package/connectors/connect-vonage/src/utils/output.ts +175 -0
- package/connectors/connect-vonage/src/utils/settings.ts +114 -0
- package/connectors/connect-vonage/src/utils/storage.ts +198 -0
- package/connectors/connect-vonage/tsconfig.json +16 -0
- package/dist/index.js +91 -0
- package/package.json +1 -1
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { PipedriveClient } from './client';
|
|
2
|
+
import type {
|
|
3
|
+
PipedriveConfig,
|
|
4
|
+
PipedriveResponse,
|
|
5
|
+
PipedriveListResponse,
|
|
6
|
+
Person,
|
|
7
|
+
CreatePersonInput,
|
|
8
|
+
Organization,
|
|
9
|
+
CreateOrganizationInput,
|
|
10
|
+
Deal,
|
|
11
|
+
CreateDealInput,
|
|
12
|
+
Lead,
|
|
13
|
+
CreateLeadInput,
|
|
14
|
+
Activity,
|
|
15
|
+
CreateActivityInput,
|
|
16
|
+
Pipeline,
|
|
17
|
+
Stage,
|
|
18
|
+
Note,
|
|
19
|
+
CreateNoteInput,
|
|
20
|
+
User,
|
|
21
|
+
} from '../types';
|
|
22
|
+
|
|
23
|
+
export { PipedriveClient } from './client';
|
|
24
|
+
|
|
25
|
+
export class Pipedrive {
|
|
26
|
+
private client: PipedriveClient;
|
|
27
|
+
|
|
28
|
+
constructor(config: PipedriveConfig) {
|
|
29
|
+
this.client = new PipedriveClient(config);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// ============================================
|
|
33
|
+
// Persons
|
|
34
|
+
// ============================================
|
|
35
|
+
|
|
36
|
+
async listPersons(options: { start?: number; limit?: number; sort?: string } = {}): Promise<Person[]> {
|
|
37
|
+
const response = await this.client.get<PipedriveListResponse<Person>>('/persons', {
|
|
38
|
+
start: options.start,
|
|
39
|
+
limit: options.limit || 100,
|
|
40
|
+
sort: options.sort,
|
|
41
|
+
});
|
|
42
|
+
return response.data || [];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async getPerson(id: number): Promise<Person> {
|
|
46
|
+
const response = await this.client.get<PipedriveResponse<Person>>(`/persons/${id}`);
|
|
47
|
+
return response.data;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async createPerson(input: CreatePersonInput): Promise<Person> {
|
|
51
|
+
const response = await this.client.post<PipedriveResponse<Person>>('/persons', input);
|
|
52
|
+
return response.data;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async updatePerson(id: number, input: Partial<CreatePersonInput>): Promise<Person> {
|
|
56
|
+
const response = await this.client.put<PipedriveResponse<Person>>(`/persons/${id}`, input);
|
|
57
|
+
return response.data;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async deletePerson(id: number): Promise<void> {
|
|
61
|
+
await this.client.delete(`/persons/${id}`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async searchPersons(term: string, options: { start?: number; limit?: number } = {}): Promise<Person[]> {
|
|
65
|
+
const response = await this.client.get<PipedriveListResponse<{ item: Person }>>('/persons/search', {
|
|
66
|
+
term,
|
|
67
|
+
start: options.start,
|
|
68
|
+
limit: options.limit || 100,
|
|
69
|
+
});
|
|
70
|
+
return (response.data || []).map(r => r.item);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// ============================================
|
|
74
|
+
// Organizations
|
|
75
|
+
// ============================================
|
|
76
|
+
|
|
77
|
+
async listOrganizations(options: { start?: number; limit?: number; sort?: string } = {}): Promise<Organization[]> {
|
|
78
|
+
const response = await this.client.get<PipedriveListResponse<Organization>>('/organizations', {
|
|
79
|
+
start: options.start,
|
|
80
|
+
limit: options.limit || 100,
|
|
81
|
+
sort: options.sort,
|
|
82
|
+
});
|
|
83
|
+
return response.data || [];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
async getOrganization(id: number): Promise<Organization> {
|
|
87
|
+
const response = await this.client.get<PipedriveResponse<Organization>>(`/organizations/${id}`);
|
|
88
|
+
return response.data;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async createOrganization(input: CreateOrganizationInput): Promise<Organization> {
|
|
92
|
+
const response = await this.client.post<PipedriveResponse<Organization>>('/organizations', input);
|
|
93
|
+
return response.data;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
async updateOrganization(id: number, input: Partial<CreateOrganizationInput>): Promise<Organization> {
|
|
97
|
+
const response = await this.client.put<PipedriveResponse<Organization>>(`/organizations/${id}`, input);
|
|
98
|
+
return response.data;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
async deleteOrganization(id: number): Promise<void> {
|
|
102
|
+
await this.client.delete(`/organizations/${id}`);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
async searchOrganizations(term: string, options: { start?: number; limit?: number } = {}): Promise<Organization[]> {
|
|
106
|
+
const response = await this.client.get<PipedriveListResponse<{ item: Organization }>>('/organizations/search', {
|
|
107
|
+
term,
|
|
108
|
+
start: options.start,
|
|
109
|
+
limit: options.limit || 100,
|
|
110
|
+
});
|
|
111
|
+
return (response.data || []).map(r => r.item);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// ============================================
|
|
115
|
+
// Deals
|
|
116
|
+
// ============================================
|
|
117
|
+
|
|
118
|
+
async listDeals(options: { start?: number; limit?: number; status?: string; sort?: string } = {}): Promise<Deal[]> {
|
|
119
|
+
const response = await this.client.get<PipedriveListResponse<Deal>>('/deals', {
|
|
120
|
+
start: options.start,
|
|
121
|
+
limit: options.limit || 100,
|
|
122
|
+
status: options.status,
|
|
123
|
+
sort: options.sort,
|
|
124
|
+
});
|
|
125
|
+
return response.data || [];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
async getDeal(id: number): Promise<Deal> {
|
|
129
|
+
const response = await this.client.get<PipedriveResponse<Deal>>(`/deals/${id}`);
|
|
130
|
+
return response.data;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
async createDeal(input: CreateDealInput): Promise<Deal> {
|
|
134
|
+
const response = await this.client.post<PipedriveResponse<Deal>>('/deals', input);
|
|
135
|
+
return response.data;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
async updateDeal(id: number, input: Partial<CreateDealInput>): Promise<Deal> {
|
|
139
|
+
const response = await this.client.put<PipedriveResponse<Deal>>(`/deals/${id}`, input);
|
|
140
|
+
return response.data;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
async deleteDeal(id: number): Promise<void> {
|
|
144
|
+
await this.client.delete(`/deals/${id}`);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
async searchDeals(term: string, options: { start?: number; limit?: number } = {}): Promise<Deal[]> {
|
|
148
|
+
const response = await this.client.get<PipedriveListResponse<{ item: Deal }>>('/deals/search', {
|
|
149
|
+
term,
|
|
150
|
+
start: options.start,
|
|
151
|
+
limit: options.limit || 100,
|
|
152
|
+
});
|
|
153
|
+
return (response.data || []).map(r => r.item);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// ============================================
|
|
157
|
+
// Leads
|
|
158
|
+
// ============================================
|
|
159
|
+
|
|
160
|
+
async listLeads(options: { start?: number; limit?: number; archived?: boolean } = {}): Promise<Lead[]> {
|
|
161
|
+
const response = await this.client.get<PipedriveListResponse<Lead>>('/leads', {
|
|
162
|
+
start: options.start,
|
|
163
|
+
limit: options.limit || 100,
|
|
164
|
+
archived_status: options.archived ? 'archived' : 'not_archived',
|
|
165
|
+
});
|
|
166
|
+
return response.data || [];
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
async getLead(id: string): Promise<Lead> {
|
|
170
|
+
const response = await this.client.get<PipedriveResponse<Lead>>(`/leads/${id}`);
|
|
171
|
+
return response.data;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
async createLead(input: CreateLeadInput): Promise<Lead> {
|
|
175
|
+
const response = await this.client.post<PipedriveResponse<Lead>>('/leads', input);
|
|
176
|
+
return response.data;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
async updateLead(id: string, input: Partial<CreateLeadInput>): Promise<Lead> {
|
|
180
|
+
const response = await this.client.request<PipedriveResponse<Lead>>(`/leads/${id}`, {
|
|
181
|
+
method: 'PATCH',
|
|
182
|
+
body: input as Record<string, unknown>,
|
|
183
|
+
});
|
|
184
|
+
return response.data;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async deleteLead(id: string): Promise<void> {
|
|
188
|
+
await this.client.delete(`/leads/${id}`);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// ============================================
|
|
192
|
+
// Activities
|
|
193
|
+
// ============================================
|
|
194
|
+
|
|
195
|
+
async listActivities(options: { start?: number; limit?: number; done?: boolean; type?: string } = {}): Promise<Activity[]> {
|
|
196
|
+
const response = await this.client.get<PipedriveListResponse<Activity>>('/activities', {
|
|
197
|
+
start: options.start,
|
|
198
|
+
limit: options.limit || 100,
|
|
199
|
+
done: options.done !== undefined ? (options.done ? 1 : 0) : undefined,
|
|
200
|
+
type: options.type,
|
|
201
|
+
});
|
|
202
|
+
return response.data || [];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
async getActivity(id: number): Promise<Activity> {
|
|
206
|
+
const response = await this.client.get<PipedriveResponse<Activity>>(`/activities/${id}`);
|
|
207
|
+
return response.data;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
async createActivity(input: CreateActivityInput): Promise<Activity> {
|
|
211
|
+
const response = await this.client.post<PipedriveResponse<Activity>>('/activities', input);
|
|
212
|
+
return response.data;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
async updateActivity(id: number, input: Partial<CreateActivityInput>): Promise<Activity> {
|
|
216
|
+
const response = await this.client.put<PipedriveResponse<Activity>>(`/activities/${id}`, input);
|
|
217
|
+
return response.data;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
async deleteActivity(id: number): Promise<void> {
|
|
221
|
+
await this.client.delete(`/activities/${id}`);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// ============================================
|
|
225
|
+
// Pipelines
|
|
226
|
+
// ============================================
|
|
227
|
+
|
|
228
|
+
async listPipelines(): Promise<Pipeline[]> {
|
|
229
|
+
const response = await this.client.get<PipedriveListResponse<Pipeline>>('/pipelines');
|
|
230
|
+
return response.data || [];
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
async getPipeline(id: number): Promise<Pipeline> {
|
|
234
|
+
const response = await this.client.get<PipedriveResponse<Pipeline>>(`/pipelines/${id}`);
|
|
235
|
+
return response.data;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// ============================================
|
|
239
|
+
// Stages
|
|
240
|
+
// ============================================
|
|
241
|
+
|
|
242
|
+
async listStages(pipelineId?: number): Promise<Stage[]> {
|
|
243
|
+
const response = await this.client.get<PipedriveListResponse<Stage>>('/stages', {
|
|
244
|
+
pipeline_id: pipelineId,
|
|
245
|
+
});
|
|
246
|
+
return response.data || [];
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
async getStage(id: number): Promise<Stage> {
|
|
250
|
+
const response = await this.client.get<PipedriveResponse<Stage>>(`/stages/${id}`);
|
|
251
|
+
return response.data;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// ============================================
|
|
255
|
+
// Notes
|
|
256
|
+
// ============================================
|
|
257
|
+
|
|
258
|
+
async listNotes(options: { start?: number; limit?: number; deal_id?: number; person_id?: number; org_id?: number } = {}): Promise<Note[]> {
|
|
259
|
+
const response = await this.client.get<PipedriveListResponse<Note>>('/notes', {
|
|
260
|
+
start: options.start,
|
|
261
|
+
limit: options.limit || 100,
|
|
262
|
+
deal_id: options.deal_id,
|
|
263
|
+
person_id: options.person_id,
|
|
264
|
+
org_id: options.org_id,
|
|
265
|
+
});
|
|
266
|
+
return response.data || [];
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
async getNote(id: number): Promise<Note> {
|
|
270
|
+
const response = await this.client.get<PipedriveResponse<Note>>(`/notes/${id}`);
|
|
271
|
+
return response.data;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
async createNote(input: CreateNoteInput): Promise<Note> {
|
|
275
|
+
const response = await this.client.post<PipedriveResponse<Note>>('/notes', input);
|
|
276
|
+
return response.data;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
async updateNote(id: number, input: Partial<CreateNoteInput>): Promise<Note> {
|
|
280
|
+
const response = await this.client.put<PipedriveResponse<Note>>(`/notes/${id}`, input);
|
|
281
|
+
return response.data;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
async deleteNote(id: number): Promise<void> {
|
|
285
|
+
await this.client.delete(`/notes/${id}`);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// ============================================
|
|
289
|
+
// Users
|
|
290
|
+
// ============================================
|
|
291
|
+
|
|
292
|
+
async listUsers(): Promise<User[]> {
|
|
293
|
+
const response = await this.client.get<PipedriveListResponse<User>>('/users');
|
|
294
|
+
return response.data || [];
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
async getUser(id: number): Promise<User> {
|
|
298
|
+
const response = await this.client.get<PipedriveResponse<User>>(`/users/${id}`);
|
|
299
|
+
return response.data;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
async getCurrentUser(): Promise<User> {
|
|
303
|
+
const response = await this.client.get<PipedriveResponse<User>>('/users/me');
|
|
304
|
+
return response.data;
|
|
305
|
+
}
|
|
306
|
+
}
|