@geekapps/post-fastify 0.1.2 → 0.1.4
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/index.d.ts +544 -21
- package/dist/index.js +453 -16
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/http.ts +88 -88
- package/src/index.ts +0 -5
- package/src/plugin.ts +90 -8
- package/tsup.config.ts +10 -0
- package/dist/client.d.ts +0 -31
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -29
- package/dist/client.js.map +0 -1
- package/dist/errors.d.ts +0 -11
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -24
- package/dist/errors.js.map +0 -1
- package/dist/http.d.ts +0 -21
- package/dist/http.d.ts.map +0 -1
- package/dist/http.js +0 -56
- package/dist/http.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/nextjs.d.ts +0 -22
- package/dist/nextjs.d.ts.map +0 -1
- package/dist/nextjs.js +0 -15
- package/dist/nextjs.js.map +0 -1
- package/dist/plugin.d.ts +0 -17
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugin.js +0 -17
- package/dist/plugin.js.map +0 -1
- package/dist/resources/domains.d.ts +0 -14
- package/dist/resources/domains.d.ts.map +0 -1
- package/dist/resources/domains.js +0 -21
- package/dist/resources/domains.js.map +0 -1
- package/dist/resources/history.d.ts +0 -9
- package/dist/resources/history.d.ts.map +0 -1
- package/dist/resources/history.js +0 -26
- package/dist/resources/history.js.map +0 -1
- package/dist/resources/managed-numbers.d.ts +0 -28
- package/dist/resources/managed-numbers.d.ts.map +0 -1
- package/dist/resources/managed-numbers.js +0 -24
- package/dist/resources/managed-numbers.js.map +0 -1
- package/dist/resources/messages.d.ts +0 -8
- package/dist/resources/messages.d.ts.map +0 -1
- package/dist/resources/messages.js +0 -9
- package/dist/resources/messages.js.map +0 -1
- package/dist/resources/plans.d.ts +0 -10
- package/dist/resources/plans.d.ts.map +0 -1
- package/dist/resources/plans.js +0 -15
- package/dist/resources/plans.js.map +0 -1
- package/dist/resources/smtp.d.ts +0 -14
- package/dist/resources/smtp.d.ts.map +0 -1
- package/dist/resources/smtp.js +0 -18
- package/dist/resources/smtp.js.map +0 -1
- package/dist/resources/statistics.d.ts +0 -8
- package/dist/resources/statistics.d.ts.map +0 -1
- package/dist/resources/statistics.js +0 -17
- package/dist/resources/statistics.js.map +0 -1
- package/dist/resources/templates.d.ts +0 -17
- package/dist/resources/templates.d.ts.map +0 -1
- package/dist/resources/templates.js +0 -33
- package/dist/resources/templates.js.map +0 -1
- package/dist/resources/webhooks.d.ts +0 -13
- package/dist/resources/webhooks.d.ts.map +0 -1
- package/dist/resources/webhooks.js +0 -24
- package/dist/resources/webhooks.js.map +0 -1
- package/dist/resources/whatsapp-numbers.d.ts +0 -23
- package/dist/resources/whatsapp-numbers.d.ts.map +0 -1
- package/dist/resources/whatsapp-numbers.js +0 -56
- package/dist/resources/whatsapp-numbers.js.map +0 -1
- package/dist/resources/whatsapp-templates.d.ts +0 -12
- package/dist/resources/whatsapp-templates.d.ts.map +0 -1
- package/dist/resources/whatsapp-templates.js +0 -21
- package/dist/resources/whatsapp-templates.js.map +0 -1
- package/dist/service-account.d.ts +0 -38
- package/dist/service-account.d.ts.map +0 -1
- package/dist/service-account.js +0 -87
- package/dist/service-account.js.map +0 -1
- package/dist/types.d.ts +0 -346
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/src/service-account.ts +0 -127
package/src/http.ts
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
import { PostApiError } from "./errors.js";
|
|
2
|
-
|
|
3
|
-
export type TokenResolver = string | (() => string | Promise<string>);
|
|
4
|
-
|
|
5
|
-
export interface HttpClientOptions {
|
|
6
|
-
baseUrl: string;
|
|
7
|
-
token: TokenResolver;
|
|
8
|
-
organizationId?: string | (() => string | Promise<string>);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export class HttpClient {
|
|
12
|
-
private readonly baseUrl: string;
|
|
13
|
-
private readonly token: TokenResolver;
|
|
14
|
-
private readonly organizationId?: string | (() => string | Promise<string>);
|
|
15
|
-
|
|
16
|
-
constructor(options: HttpClientOptions) {
|
|
17
|
-
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
18
|
-
this.token = options.token;
|
|
19
|
-
this.organizationId = options.organizationId;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
private async resolveToken(): Promise<string> {
|
|
23
|
-
return typeof this.token === "function" ? await this.token() : this.token;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
private async resolveOrgId(): Promise<string | undefined> {
|
|
27
|
-
if (!this.organizationId) return undefined;
|
|
28
|
-
return typeof this.organizationId === "function"
|
|
29
|
-
? await this.organizationId()
|
|
30
|
-
: this.organizationId;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async request<T = unknown>(
|
|
34
|
-
method: string,
|
|
35
|
-
path: string,
|
|
36
|
-
body?: unknown,
|
|
37
|
-
): Promise<T> {
|
|
38
|
-
const token = await this.resolveToken();
|
|
39
|
-
const orgId = await this.resolveOrgId();
|
|
40
|
-
|
|
41
|
-
const res = await fetch(`${this.baseUrl}/v1${path}`, {
|
|
42
|
-
method,
|
|
43
|
-
headers: {
|
|
44
|
-
Authorization: `Bearer ${token}`,
|
|
45
|
-
...(body !== undefined ? { "Content-Type": "application/json" } : {}),
|
|
46
|
-
...(orgId ? { "X-Organization-Id": orgId } : {}),
|
|
47
|
-
},
|
|
48
|
-
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
-
cache: "no-store" as any,
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
if (!res.ok) {
|
|
54
|
-
const err = await res.json().catch(() => ({})) as {
|
|
55
|
-
error?: string;
|
|
56
|
-
detail?: string;
|
|
57
|
-
};
|
|
58
|
-
throw new PostApiError(
|
|
59
|
-
res.status,
|
|
60
|
-
err.error ?? `HTTP ${res.status}`,
|
|
61
|
-
err.detail,
|
|
62
|
-
);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (res.status === 204) return undefined as T;
|
|
66
|
-
return res.json() as Promise<T>;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
get<T>(path: string) {
|
|
70
|
-
return this.request<T>("GET", path);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
post<T>(path: string, body?: unknown) {
|
|
74
|
-
return this.request<T>("POST", path, body);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
put<T>(path: string, body?: unknown) {
|
|
78
|
-
return this.request<T>("PUT", path, body);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
patch<T>(path: string, body?: unknown) {
|
|
82
|
-
return this.request<T>("PATCH", path, body);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
delete<T = void>(path: string) {
|
|
86
|
-
return this.request<T>("DELETE", path);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
1
|
+
import { PostApiError } from "./errors.js";
|
|
2
|
+
|
|
3
|
+
export type TokenResolver = string | (() => string | Promise<string>);
|
|
4
|
+
|
|
5
|
+
export interface HttpClientOptions {
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
token: TokenResolver;
|
|
8
|
+
organizationId?: string | (() => string | Promise<string>);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class HttpClient {
|
|
12
|
+
private readonly baseUrl: string;
|
|
13
|
+
private readonly token: TokenResolver;
|
|
14
|
+
private readonly organizationId?: string | (() => string | Promise<string>);
|
|
15
|
+
|
|
16
|
+
constructor(options: HttpClientOptions) {
|
|
17
|
+
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
18
|
+
this.token = options.token;
|
|
19
|
+
this.organizationId = options.organizationId;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
private async resolveToken(): Promise<string> {
|
|
23
|
+
return typeof this.token === "function" ? await this.token() : this.token;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
private async resolveOrgId(): Promise<string | undefined> {
|
|
27
|
+
if (!this.organizationId) return undefined;
|
|
28
|
+
return typeof this.organizationId === "function"
|
|
29
|
+
? await this.organizationId()
|
|
30
|
+
: this.organizationId;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async request<T = unknown>(
|
|
34
|
+
method: string,
|
|
35
|
+
path: string,
|
|
36
|
+
body?: unknown,
|
|
37
|
+
): Promise<T> {
|
|
38
|
+
const token = await this.resolveToken();
|
|
39
|
+
const orgId = await this.resolveOrgId();
|
|
40
|
+
|
|
41
|
+
const res = await fetch(`${this.baseUrl}/v1${path}`, {
|
|
42
|
+
method,
|
|
43
|
+
headers: {
|
|
44
|
+
Authorization: `Bearer ${token}`,
|
|
45
|
+
...(body !== undefined ? { "Content-Type": "application/json" } : {}),
|
|
46
|
+
...(orgId ? { "X-Organization-Id": orgId } : {}),
|
|
47
|
+
},
|
|
48
|
+
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
+
cache: "no-store" as any,
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (!res.ok) {
|
|
54
|
+
const err = await res.json().catch(() => ({})) as {
|
|
55
|
+
error?: string;
|
|
56
|
+
detail?: string;
|
|
57
|
+
};
|
|
58
|
+
throw new PostApiError(
|
|
59
|
+
res.status,
|
|
60
|
+
err.error ?? `HTTP ${res.status}`,
|
|
61
|
+
err.detail,
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (res.status === 204) return undefined as T;
|
|
66
|
+
return res.json() as Promise<T>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
get<T>(path: string) {
|
|
70
|
+
return this.request<T>("GET", path);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
post<T>(path: string, body?: unknown) {
|
|
74
|
+
return this.request<T>("POST", path, body);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
put<T>(path: string, body?: unknown) {
|
|
78
|
+
return this.request<T>("PUT", path, body);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
patch<T>(path: string, body?: unknown) {
|
|
82
|
+
return this.request<T>("PATCH", path, body);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
delete<T = void>(path: string) {
|
|
86
|
+
return this.request<T>("DELETE", path);
|
|
87
|
+
}
|
|
88
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
export { PostClient } from "./client.js";
|
|
2
2
|
export { PostApiError } from "./errors.js";
|
|
3
|
-
export { HttpClient } from "./http.js";
|
|
4
|
-
export type { HttpClientOptions, TokenResolver } from "./http.js";
|
|
5
3
|
export { default as postPlugin } from "./plugin.js";
|
|
6
4
|
export type { PostPluginOptions } from "./plugin.js";
|
|
7
5
|
|
|
8
|
-
export { ServiceAccountTokenProvider, createServiceAccountToken } from "./service-account.js";
|
|
9
|
-
export type { ServiceAccountOptions } from "./service-account.js";
|
|
10
|
-
|
|
11
6
|
export { DomainsResource } from "./resources/domains.js";
|
|
12
7
|
export { HistoryResource } from "./resources/history.js";
|
|
13
8
|
export { ManagedNumbersResource } from "./resources/managed-numbers.js";
|
package/src/plugin.ts
CHANGED
|
@@ -1,13 +1,94 @@
|
|
|
1
1
|
import type { FastifyInstance, FastifyPluginAsync } from "fastify";
|
|
2
2
|
import fp from "fastify-plugin";
|
|
3
3
|
import { PostClient } from "./client.js";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
export interface ServiceAccountOptions {
|
|
6
|
+
clientId: string;
|
|
7
|
+
clientSecret: string;
|
|
8
|
+
}
|
|
5
9
|
|
|
6
10
|
export interface PostPluginOptions {
|
|
7
|
-
|
|
8
|
-
baseUrl: string;
|
|
9
|
-
/** Service account credentials — required */
|
|
11
|
+
issuer: string;
|
|
10
12
|
serviceAccount: ServiceAccountOptions;
|
|
13
|
+
baseUrl?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface CachedToken {
|
|
17
|
+
value: string;
|
|
18
|
+
expiresAt: number;
|
|
19
|
+
organizationId: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function decodeJwtPayload(token: string): Record<string, unknown> {
|
|
23
|
+
try {
|
|
24
|
+
const [, payload] = token.split(".");
|
|
25
|
+
if (!payload) return {};
|
|
26
|
+
const json = Buffer.from(payload, "base64url").toString("utf-8");
|
|
27
|
+
return JSON.parse(json) as Record<string, unknown>;
|
|
28
|
+
} catch {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
class TokenProvider {
|
|
34
|
+
private readonly issuerUrl: string;
|
|
35
|
+
private readonly clientId: string;
|
|
36
|
+
private readonly clientSecret: string;
|
|
37
|
+
private cached: CachedToken | null = null;
|
|
38
|
+
private inflight: Promise<CachedToken> | null = null;
|
|
39
|
+
|
|
40
|
+
constructor(options: PostPluginOptions) {
|
|
41
|
+
this.issuerUrl = options.issuer.replace(/\/$/, "");
|
|
42
|
+
this.clientId = options.serviceAccount.clientId;
|
|
43
|
+
this.clientSecret = options.serviceAccount.clientSecret;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
private async ensureFresh(): Promise<CachedToken> {
|
|
47
|
+
const now = Date.now();
|
|
48
|
+
if (this.cached && this.cached.expiresAt - now > 30_000) return this.cached;
|
|
49
|
+
if (this.inflight) return this.inflight;
|
|
50
|
+
this.inflight = this.fetchToken().finally(() => { this.inflight = null; });
|
|
51
|
+
return this.inflight;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
getToken(): Promise<string> {
|
|
55
|
+
return this.ensureFresh().then((c) => c.value);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
getOrganizationId(): Promise<string | undefined> {
|
|
59
|
+
return this.ensureFresh().then((c) => c.organizationId);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private async fetchToken(): Promise<CachedToken> {
|
|
63
|
+
const credentials = Buffer.from(`${this.clientId}:${this.clientSecret}`).toString("base64");
|
|
64
|
+
const res = await fetch(`${this.issuerUrl}/auth/token`, {
|
|
65
|
+
method: "POST",
|
|
66
|
+
headers: {
|
|
67
|
+
"Content-Type": "application/json",
|
|
68
|
+
Authorization: `Basic ${credentials}`,
|
|
69
|
+
},
|
|
70
|
+
body: JSON.stringify({ grant_type: "service_account" }),
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
if (!res.ok) {
|
|
74
|
+
const err = await res.json().catch(() => ({})) as { error?: string };
|
|
75
|
+
throw new Error(`GeekappsPost auth failed (${res.status}): ${err.error ?? "unknown error"}`);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const data = await res.json() as { access_token: string; expires_in?: number };
|
|
79
|
+
const claims = decodeJwtPayload(data.access_token);
|
|
80
|
+
const organizationId =
|
|
81
|
+
typeof claims.organizationId === "string" ? claims.organizationId :
|
|
82
|
+
typeof claims.organization_id === "string" ? claims.organization_id :
|
|
83
|
+
undefined;
|
|
84
|
+
|
|
85
|
+
this.cached = {
|
|
86
|
+
value: data.access_token,
|
|
87
|
+
expiresAt: Date.now() + (data.expires_in ?? 420) * 1000,
|
|
88
|
+
organizationId,
|
|
89
|
+
};
|
|
90
|
+
return this.cached;
|
|
91
|
+
}
|
|
11
92
|
}
|
|
12
93
|
|
|
13
94
|
declare module "fastify" {
|
|
@@ -20,12 +101,13 @@ const postPlugin: FastifyPluginAsync<PostPluginOptions> = async (
|
|
|
20
101
|
fastify: FastifyInstance,
|
|
21
102
|
options: PostPluginOptions,
|
|
22
103
|
) => {
|
|
23
|
-
const
|
|
104
|
+
const baseUrl = options.baseUrl ?? "https://post-api.geekapps.com.br";
|
|
105
|
+
const provider = new TokenProvider(options);
|
|
24
106
|
|
|
25
107
|
const client = new PostClient({
|
|
26
|
-
baseUrl
|
|
27
|
-
token: () =>
|
|
28
|
-
organizationId: () =>
|
|
108
|
+
baseUrl,
|
|
109
|
+
token: () => provider.getToken(),
|
|
110
|
+
organizationId: () => provider.getOrganizationId() as Promise<string>,
|
|
29
111
|
});
|
|
30
112
|
|
|
31
113
|
fastify.decorate("postClient", client);
|
package/tsup.config.ts
ADDED
package/dist/client.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type HttpClientOptions } from "./http.js";
|
|
2
|
-
import { DomainsResource } from "./resources/domains.js";
|
|
3
|
-
import { HistoryResource } from "./resources/history.js";
|
|
4
|
-
import { ManagedNumbersResource } from "./resources/managed-numbers.js";
|
|
5
|
-
import { MessagesResource } from "./resources/messages.js";
|
|
6
|
-
import { PlansResource } from "./resources/plans.js";
|
|
7
|
-
import { SmtpResource } from "./resources/smtp.js";
|
|
8
|
-
import { StatisticsResource } from "./resources/statistics.js";
|
|
9
|
-
import { TemplatesResource } from "./resources/templates.js";
|
|
10
|
-
import { WebhooksResource } from "./resources/webhooks.js";
|
|
11
|
-
import { WhatsappNumbersResource } from "./resources/whatsapp-numbers.js";
|
|
12
|
-
import { WhatsappTemplatesResource } from "./resources/whatsapp-templates.js";
|
|
13
|
-
export interface PostClientOptions extends Omit<HttpClientOptions, "baseUrl"> {
|
|
14
|
-
baseUrl?: string;
|
|
15
|
-
}
|
|
16
|
-
export declare class PostClient {
|
|
17
|
-
private readonly http;
|
|
18
|
-
readonly messages: MessagesResource;
|
|
19
|
-
readonly templates: TemplatesResource;
|
|
20
|
-
readonly whatsappTemplates: WhatsappTemplatesResource;
|
|
21
|
-
readonly whatsappNumbers: WhatsappNumbersResource;
|
|
22
|
-
readonly domains: DomainsResource;
|
|
23
|
-
readonly webhooks: WebhooksResource;
|
|
24
|
-
readonly smtp: SmtpResource;
|
|
25
|
-
readonly plans: PlansResource;
|
|
26
|
-
readonly history: HistoryResource;
|
|
27
|
-
readonly statistics: StatisticsResource;
|
|
28
|
-
readonly managedNumbers: ManagedNumbersResource;
|
|
29
|
-
constructor(options: HttpClientOptions);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;gBAEpC,OAAO,EAAE,iBAAiB;CAevC"}
|
package/dist/client.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from "./http.js";
|
|
2
|
-
import { DomainsResource } from "./resources/domains.js";
|
|
3
|
-
import { HistoryResource } from "./resources/history.js";
|
|
4
|
-
import { ManagedNumbersResource } from "./resources/managed-numbers.js";
|
|
5
|
-
import { MessagesResource } from "./resources/messages.js";
|
|
6
|
-
import { PlansResource } from "./resources/plans.js";
|
|
7
|
-
import { SmtpResource } from "./resources/smtp.js";
|
|
8
|
-
import { StatisticsResource } from "./resources/statistics.js";
|
|
9
|
-
import { TemplatesResource } from "./resources/templates.js";
|
|
10
|
-
import { WebhooksResource } from "./resources/webhooks.js";
|
|
11
|
-
import { WhatsappNumbersResource } from "./resources/whatsapp-numbers.js";
|
|
12
|
-
import { WhatsappTemplatesResource } from "./resources/whatsapp-templates.js";
|
|
13
|
-
export class PostClient {
|
|
14
|
-
constructor(options) {
|
|
15
|
-
this.http = new HttpClient(options);
|
|
16
|
-
this.messages = new MessagesResource(this.http);
|
|
17
|
-
this.templates = new TemplatesResource(this.http);
|
|
18
|
-
this.whatsappTemplates = new WhatsappTemplatesResource(this.http);
|
|
19
|
-
this.whatsappNumbers = new WhatsappNumbersResource(this.http);
|
|
20
|
-
this.domains = new DomainsResource(this.http);
|
|
21
|
-
this.webhooks = new WebhooksResource(this.http);
|
|
22
|
-
this.smtp = new SmtpResource(this.http);
|
|
23
|
-
this.plans = new PlansResource(this.http);
|
|
24
|
-
this.history = new HistoryResource(this.http);
|
|
25
|
-
this.statistics = new StatisticsResource(this.http);
|
|
26
|
-
this.managedNumbers = new ManagedNumbersResource(this.http);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,MAAM,OAAO,UAAU;IAerB,YAAY,OAA0B;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
package/dist/errors.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare class PostApiError extends Error {
|
|
2
|
-
readonly status: number;
|
|
3
|
-
readonly detail?: string | undefined;
|
|
4
|
-
constructor(status: number, message: string, detail?: string | undefined);
|
|
5
|
-
get isNotFound(): boolean;
|
|
6
|
-
get isUnauthorized(): boolean;
|
|
7
|
-
get isForbidden(): boolean;
|
|
8
|
-
get isRateLimited(): boolean;
|
|
9
|
-
get isValidationError(): boolean;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;aAEnB,MAAM,EAAE,MAAM;aAEd,MAAM,CAAC,EAAE,MAAM;gBAFf,MAAM,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA;IAMjC,IAAI,UAAU,YAEb;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,WAAW,YAEd;IAED,IAAI,aAAa,YAEhB;IAED,IAAI,iBAAiB,YAEpB;CACF"}
|
package/dist/errors.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export class PostApiError extends Error {
|
|
2
|
-
constructor(status, message, detail) {
|
|
3
|
-
super(detail ? `${message}: ${detail}` : message);
|
|
4
|
-
this.status = status;
|
|
5
|
-
this.detail = detail;
|
|
6
|
-
this.name = "PostApiError";
|
|
7
|
-
}
|
|
8
|
-
get isNotFound() {
|
|
9
|
-
return this.status === 404;
|
|
10
|
-
}
|
|
11
|
-
get isUnauthorized() {
|
|
12
|
-
return this.status === 401;
|
|
13
|
-
}
|
|
14
|
-
get isForbidden() {
|
|
15
|
-
return this.status === 403;
|
|
16
|
-
}
|
|
17
|
-
get isRateLimited() {
|
|
18
|
-
return this.status === 429;
|
|
19
|
-
}
|
|
20
|
-
get isValidationError() {
|
|
21
|
-
return this.status === 400;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YACkB,MAAc,EAC9B,OAAe,EACC,MAAe;QAE/B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAJlC,WAAM,GAAN,MAAM,CAAQ;QAEd,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;IAC7B,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;IAC7B,CAAC;CACF"}
|
package/dist/http.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export type TokenResolver = string | (() => string | Promise<string>);
|
|
2
|
-
export interface HttpClientOptions {
|
|
3
|
-
baseUrl: string;
|
|
4
|
-
token: TokenResolver;
|
|
5
|
-
organizationId?: string | (() => string | Promise<string>);
|
|
6
|
-
}
|
|
7
|
-
export declare class HttpClient {
|
|
8
|
-
private readonly baseUrl;
|
|
9
|
-
private readonly token;
|
|
10
|
-
private readonly organizationId?;
|
|
11
|
-
constructor(options: HttpClientOptions);
|
|
12
|
-
private resolveToken;
|
|
13
|
-
private resolveOrgId;
|
|
14
|
-
request<T = unknown>(method: string, path: string, body?: unknown): Promise<T>;
|
|
15
|
-
get<T>(path: string): Promise<T>;
|
|
16
|
-
post<T>(path: string, body?: unknown): Promise<T>;
|
|
17
|
-
put<T>(path: string, body?: unknown): Promise<T>;
|
|
18
|
-
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
19
|
-
delete<T = void>(path: string): Promise<T>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4C;gBAEhE,OAAO,EAAE,iBAAiB;YAMxB,YAAY;YAIZ,YAAY;IAOpB,OAAO,CAAC,CAAC,GAAG,OAAO,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,CAAC;IAgCb,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM;IAInB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIpC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAInC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM;CAG9B"}
|
package/dist/http.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { PostApiError } from "./errors.js";
|
|
2
|
-
export class HttpClient {
|
|
3
|
-
constructor(options) {
|
|
4
|
-
this.baseUrl = options.baseUrl.replace(/\/$/, "");
|
|
5
|
-
this.token = options.token;
|
|
6
|
-
this.organizationId = options.organizationId;
|
|
7
|
-
}
|
|
8
|
-
async resolveToken() {
|
|
9
|
-
return typeof this.token === "function" ? await this.token() : this.token;
|
|
10
|
-
}
|
|
11
|
-
async resolveOrgId() {
|
|
12
|
-
if (!this.organizationId)
|
|
13
|
-
return undefined;
|
|
14
|
-
return typeof this.organizationId === "function"
|
|
15
|
-
? await this.organizationId()
|
|
16
|
-
: this.organizationId;
|
|
17
|
-
}
|
|
18
|
-
async request(method, path, body) {
|
|
19
|
-
const token = await this.resolveToken();
|
|
20
|
-
const orgId = await this.resolveOrgId();
|
|
21
|
-
const res = await fetch(`${this.baseUrl}/v1${path}`, {
|
|
22
|
-
method,
|
|
23
|
-
headers: {
|
|
24
|
-
Authorization: `Bearer ${token}`,
|
|
25
|
-
...(body !== undefined ? { "Content-Type": "application/json" } : {}),
|
|
26
|
-
...(orgId ? { "X-Organization-Id": orgId } : {}),
|
|
27
|
-
},
|
|
28
|
-
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
|
-
cache: "no-store",
|
|
31
|
-
});
|
|
32
|
-
if (!res.ok) {
|
|
33
|
-
const err = await res.json().catch(() => ({}));
|
|
34
|
-
throw new PostApiError(res.status, err.error ?? `HTTP ${res.status}`, err.detail);
|
|
35
|
-
}
|
|
36
|
-
if (res.status === 204)
|
|
37
|
-
return undefined;
|
|
38
|
-
return res.json();
|
|
39
|
-
}
|
|
40
|
-
get(path) {
|
|
41
|
-
return this.request("GET", path);
|
|
42
|
-
}
|
|
43
|
-
post(path, body) {
|
|
44
|
-
return this.request("POST", path, body);
|
|
45
|
-
}
|
|
46
|
-
put(path, body) {
|
|
47
|
-
return this.request("PUT", path, body);
|
|
48
|
-
}
|
|
49
|
-
patch(path, body) {
|
|
50
|
-
return this.request("PATCH", path, body);
|
|
51
|
-
}
|
|
52
|
-
delete(path) {
|
|
53
|
-
return this.request("DELETE", path);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,YAAY,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EAEvB,QAAQ,EACR,WAAW,EACX,2BAA2B,EAC3B,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,2BAA2B,EAC3B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
|
package/dist/nextjs.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { PostClient } from "./client.js";
|
|
2
|
-
import type { HttpClientOptions } from "./http.js";
|
|
3
|
-
export interface NextjsPostClientOptions extends Omit<HttpClientOptions, "token" | "organizationId"> {
|
|
4
|
-
/**
|
|
5
|
-
* Called on every request to resolve the current bearer token.
|
|
6
|
-
* In Next.js, pass a function that reads the session from cookies/headers.
|
|
7
|
-
*/
|
|
8
|
-
getToken: () => string | Promise<string>;
|
|
9
|
-
/**
|
|
10
|
-
* Called on every request to resolve the active organization ID.
|
|
11
|
-
* Typically read from a cookie or session.
|
|
12
|
-
*/
|
|
13
|
-
getOrganizationId?: () => string | Promise<string>;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Creates a PostClient configured for Next.js server-side usage (Server
|
|
17
|
-
* Components, Server Actions, Route Handlers). Token and organization ID are
|
|
18
|
-
* resolved lazily on each request so you can pass `auth.GetAccessToken` and
|
|
19
|
-
* cookie readers directly without worrying about request scope.
|
|
20
|
-
*/
|
|
21
|
-
export declare function createPostClient(options: NextjsPostClientOptions): PostClient;
|
|
22
|
-
//# sourceMappingURL=nextjs.d.ts.map
|
package/dist/nextjs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC3D;;;OAGG;IACH,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,UAAU,CAM7E"}
|
package/dist/nextjs.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PostClient } from "./client.js";
|
|
2
|
-
/**
|
|
3
|
-
* Creates a PostClient configured for Next.js server-side usage (Server
|
|
4
|
-
* Components, Server Actions, Route Handlers). Token and organization ID are
|
|
5
|
-
* resolved lazily on each request so you can pass `auth.GetAccessToken` and
|
|
6
|
-
* cookie readers directly without worrying about request scope.
|
|
7
|
-
*/
|
|
8
|
-
export function createPostClient(options) {
|
|
9
|
-
return new PostClient({
|
|
10
|
-
baseUrl: options.baseUrl,
|
|
11
|
-
token: options.getToken,
|
|
12
|
-
organizationId: options.getOrganizationId,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=nextjs.js.map
|
package/dist/nextjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../src/nextjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBzC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,OAAO,IAAI,UAAU,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,QAAQ;QACvB,cAAc,EAAE,OAAO,CAAC,iBAAiB;KAC1C,CAAC,CAAC;AACL,CAAC"}
|
package/dist/plugin.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { FastifyPluginAsync } from "fastify";
|
|
2
|
-
import { PostClient } from "./client.js";
|
|
3
|
-
import { type ServiceAccountOptions } from "./service-account.js";
|
|
4
|
-
export interface PostPluginOptions {
|
|
5
|
-
/** Geekapps Post API base URL */
|
|
6
|
-
baseUrl: string;
|
|
7
|
-
/** Service account credentials — required */
|
|
8
|
-
serviceAccount: ServiceAccountOptions;
|
|
9
|
-
}
|
|
10
|
-
declare module "fastify" {
|
|
11
|
-
interface FastifyInstance {
|
|
12
|
-
postClient: PostClient;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
declare const _default: FastifyPluginAsync<PostPluginOptions>;
|
|
16
|
-
export default _default;
|
|
17
|
-
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,cAAc,EAAE,qBAAqB,CAAC;CACvC;AAED,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,eAAe;QACvB,UAAU,EAAE,UAAU,CAAC;KACxB;CACF;;AAiBD,wBAGG"}
|
package/dist/plugin.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import fp from "fastify-plugin";
|
|
2
|
-
import { PostClient } from "./client.js";
|
|
3
|
-
import { ServiceAccountTokenProvider } from "./service-account.js";
|
|
4
|
-
const postPlugin = async (fastify, options) => {
|
|
5
|
-
const tokenProvider = new ServiceAccountTokenProvider(options.serviceAccount);
|
|
6
|
-
const client = new PostClient({
|
|
7
|
-
baseUrl: options.baseUrl,
|
|
8
|
-
token: () => tokenProvider.getToken(),
|
|
9
|
-
organizationId: () => tokenProvider.getOrganizationId(),
|
|
10
|
-
});
|
|
11
|
-
fastify.decorate("postClient", client);
|
|
12
|
-
};
|
|
13
|
-
export default fp(postPlugin, {
|
|
14
|
-
fastify: ">=4.0.0",
|
|
15
|
-
name: "@geekapps/post-fastify",
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAA8B,MAAM,sBAAsB,CAAC;AAe/F,MAAM,UAAU,GAA0C,KAAK,EAC7D,OAAwB,EACxB,OAA0B,EAC1B,EAAE;IACF,MAAM,aAAa,GAAG,IAAI,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE;QACrC,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAqB;KAC3E,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,eAAe,EAAE,CAAC,UAAU,EAAE;IAC5B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { HttpClient } from "../http.js";
|
|
2
|
-
import type { CreateDomainInput, CreateDomainResult, OrgDomain } from "../types.js";
|
|
3
|
-
export declare class DomainsResource {
|
|
4
|
-
private readonly http;
|
|
5
|
-
constructor(http: HttpClient);
|
|
6
|
-
list(): Promise<OrgDomain[]>;
|
|
7
|
-
get(id: string): Promise<OrgDomain>;
|
|
8
|
-
create(input: CreateDomainInput): Promise<CreateDomainResult>;
|
|
9
|
-
verify(id: string): Promise<{
|
|
10
|
-
status: "verified" | "failed";
|
|
11
|
-
}>;
|
|
12
|
-
delete(id: string): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=domains.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/resources/domains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpF,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAI5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAInC,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAA;KAAE,CAAC;IAI9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|