@meowinc/meow-sdk 0.0.7 → 0.0.9

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.
@@ -9,7 +9,7 @@ export declare class HttpClient {
9
9
  private params;
10
10
  private authorization?;
11
11
  withUrl(url: string): this;
12
- withParam(key: string, value?: string): this;
12
+ withParam(key: string, value?: string | number | boolean): this;
13
13
  withMethodGet(): this;
14
14
  withMethodPost(): this;
15
15
  withMethodPut(): this;
@@ -14,10 +14,10 @@ export class HttpClient {
14
14
  return this;
15
15
  }
16
16
  withParam(key, value) {
17
- if (!value) {
17
+ if (value === undefined) {
18
18
  return this;
19
19
  }
20
- this.params[key] = value;
20
+ this.params[key] = value.toString();
21
21
  return this;
22
22
  }
23
23
  withMethodGet() {
@@ -54,7 +54,7 @@ export class HttpClient {
54
54
  if (Object.keys(this.params).length > 0) {
55
55
  let params = "?";
56
56
  for (const [key, value] of Object.entries(this.params)) {
57
- params += `${key}=${value}&`;
57
+ params += `${key}=${encodeURIComponent(value)}&`;
58
58
  }
59
59
  this.url += params;
60
60
  }
@@ -87,10 +87,10 @@ export class HttpClient {
87
87
  const tokens = (await updateAuth.json());
88
88
  this.authorization.setRefreshToken(tokens.refreshToken);
89
89
  this.authorization.setAccessToken(tokens.accessToken);
90
- this.setHeader("Authorization", tokens.accessToken);
90
+ this.setHeader("Authorization", `Bearer ${tokens.accessToken}`);
91
91
  }
92
92
  else {
93
- this.setHeader("Authorization", accessToken);
93
+ this.setHeader("Authorization", `Bearer ${accessToken}`);
94
94
  }
95
95
  }
96
96
  const response = await fetch(this.url, {
@@ -0,0 +1,12 @@
1
+ import { AuthorizationProvider } from "../../auth-provider";
2
+ import { MeowResult } from "../../types";
3
+ import { EmailModel } from "../types";
4
+ export interface Response {
5
+ totalCount: number;
6
+ items: EmailModel[];
7
+ }
8
+ export declare function request(queryParameters: {
9
+ subject?: string;
10
+ offset?: number;
11
+ emailsPerPage?: number;
12
+ }, authorizationProvider: AuthorizationProvider): Promise<MeowResult<Response>>;
@@ -0,0 +1,15 @@
1
+ import { MAIL_API } from "..";
2
+ import { ErrorToMessage } from "../../error";
3
+ import { HttpClient } from "../../http-client";
4
+ export async function request(queryParameters, authorizationProvider) {
5
+ const { subject, offset, emailsPerPage } = queryParameters;
6
+ return await new HttpClient()
7
+ .withAuthorization(authorizationProvider)
8
+ .withMethodGet()
9
+ .withParam("subject", subject)
10
+ .withParam("offset", offset)
11
+ .withParam("emailsPerPage", emailsPerPage)
12
+ .withUrl(`${MAIL_API}/v1/email/filter`)
13
+ .send()
14
+ .then((res) => res.mapError(ErrorToMessage));
15
+ }
@@ -6,10 +6,9 @@ export declare class EmailRequests {
6
6
  deleteEmailById(id: number): Promise<import("../../types").MeowResult<void>>;
7
7
  sendEmail(to: string, subject: string, content: string): Promise<import("../../types").MeowResult<void>>;
8
8
  setReadStatus(id: number, isRead: boolean): Promise<import("../../types").MeowResult<void>>;
9
- getEmailWithFilter(queryParameters: {
10
- isBase64?: boolean;
11
- isReceived?: boolean;
12
- page: number;
9
+ getEmails(queryParameters: {
13
10
  subject?: string;
14
- }): Promise<import("../../types").MeowResult<import("./get-email-with-filter").Response>>;
11
+ offset?: number;
12
+ emailsPerPage?: number;
13
+ }): Promise<import("../../types").MeowResult<import("./get-emails").Response>>;
15
14
  }
@@ -1,8 +1,8 @@
1
1
  import { request as getEmailById } from "./get-email-by-id";
2
2
  import { request as deleteEmailById } from "./delete-email-by-id";
3
3
  import { request as sendEmail } from "./send-message";
4
- import { request as setReadStatus } from "./set-read-status";
5
- import { request as getEmailWithFilter } from "./get-email-with-filter";
4
+ import { request as setReadStatus } from "./set-read";
5
+ import { request as getEmailWithFilter } from "./get-emails";
6
6
  export class EmailRequests {
7
7
  authorizationProvider;
8
8
  constructor(authorizationProvider) {
@@ -20,7 +20,7 @@ export class EmailRequests {
20
20
  async setReadStatus(id, isRead) {
21
21
  return await setReadStatus(id, isRead, this.authorizationProvider);
22
22
  }
23
- async getEmailWithFilter(queryParameters) {
24
- return await getEmailWithFilter(this.authorizationProvider, queryParameters);
23
+ async getEmails(queryParameters) {
24
+ return await getEmailWithFilter(queryParameters, this.authorizationProvider);
25
25
  }
26
26
  }
@@ -0,0 +1,3 @@
1
+ import { AuthorizationProvider } from "../../auth-provider";
2
+ import { MeowResult } from "../../types";
3
+ export declare function request(id: number, isRead: boolean, authorizationProvider: AuthorizationProvider): Promise<MeowResult<void>>;
@@ -0,0 +1,12 @@
1
+ import { MAIL_API } from "..";
2
+ import { ErrorToMessage } from "../../error";
3
+ import { HttpClient } from "../../http-client";
4
+ export async function request(id, isRead, authorizationProvider) {
5
+ return new HttpClient()
6
+ .withMethodPut()
7
+ .withUrl(`${MAIL_API}/v1/email/${id}/set-read`)
8
+ .withAuthorization(authorizationProvider)
9
+ .withJsonBody({ isRead })
10
+ .send()
11
+ .then((r) => r.mapError(ErrorToMessage));
12
+ }
@@ -1,10 +1,10 @@
1
1
  import { AuthorizationProvider } from "../auth-provider";
2
- import { AuthRequests } from "./auth";
2
+ import { MailboxRequests } from "./mailbox";
3
3
  import { EmailRequests } from "./email";
4
4
  import { AdminRequests } from "./admin";
5
5
  export declare const MAIL_API = "https://mail.meowinc.tech/api";
6
6
  export declare class MailClient {
7
- auth: AuthRequests;
7
+ mailbox: MailboxRequests;
8
8
  email: EmailRequests;
9
9
  admin: AdminRequests;
10
10
  constructor(authorizationProvider: AuthorizationProvider);
@@ -1,13 +1,13 @@
1
- import { AuthRequests } from "./auth";
1
+ import { MailboxRequests } from "./mailbox";
2
2
  import { EmailRequests } from "./email";
3
3
  import { AdminRequests } from "./admin";
4
4
  export const MAIL_API = "https://mail.meowinc.tech/api";
5
5
  export class MailClient {
6
- auth;
6
+ mailbox;
7
7
  email;
8
8
  admin;
9
9
  constructor(authorizationProvider) {
10
- this.auth = new AuthRequests(authorizationProvider);
10
+ this.mailbox = new MailboxRequests(authorizationProvider);
11
11
  this.email = new EmailRequests(authorizationProvider);
12
12
  this.admin = new AdminRequests(authorizationProvider);
13
13
  }
@@ -0,0 +1,6 @@
1
+ import { AuthorizationProvider } from "../../auth-provider";
2
+ import { MeowResult } from "../../types";
3
+ export interface Response {
4
+ created_id: number;
5
+ }
6
+ export declare function request(authorizationProvider: AuthorizationProvider): Promise<MeowResult<Response>>;
@@ -0,0 +1,11 @@
1
+ import { MAIL_API } from "..";
2
+ import { ErrorToMessage } from "../../error";
3
+ import { HttpClient } from "../../http-client";
4
+ export async function request(authorizationProvider) {
5
+ return await new HttpClient()
6
+ .withAuthorization(authorizationProvider)
7
+ .withMethodPost()
8
+ .withUrl(`${MAIL_API}/v1/mailbox/create`)
9
+ .send()
10
+ .then((r) => r.mapError(ErrorToMessage));
11
+ }
@@ -0,0 +1,7 @@
1
+ import { AuthorizationProvider } from "../../auth-provider";
2
+ export declare class MailboxRequests {
3
+ private authorizationProvider;
4
+ constructor(authorizationProvider: AuthorizationProvider);
5
+ getMyMailbox(): Promise<import("../../types").MeowResult<import("./my").Response>>;
6
+ createMailbox(): Promise<import("../../types").MeowResult<import("./create").Response>>;
7
+ }
@@ -0,0 +1,14 @@
1
+ import { request as myRequest } from "./my";
2
+ import { request as createMailbox } from "./create";
3
+ export class MailboxRequests {
4
+ authorizationProvider;
5
+ constructor(authorizationProvider) {
6
+ this.authorizationProvider = authorizationProvider;
7
+ }
8
+ async getMyMailbox() {
9
+ return await myRequest(this.authorizationProvider);
10
+ }
11
+ async createMailbox() {
12
+ return await createMailbox(this.authorizationProvider);
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ import { AuthorizationProvider } from "../../auth-provider";
2
+ import { MeowResult } from "../../types";
3
+ export interface Response {
4
+ mailbox: {
5
+ address: string;
6
+ id: number;
7
+ };
8
+ }
9
+ export declare function request(authProvider: AuthorizationProvider): Promise<MeowResult<Response>>;
@@ -0,0 +1,11 @@
1
+ import { MAIL_API } from "..";
2
+ import { ErrorToMessage } from "../../error";
3
+ import { HttpClient } from "../../http-client";
4
+ export async function request(authProvider) {
5
+ return await new HttpClient()
6
+ .withMethodGet()
7
+ .withUrl(`${MAIL_API}/v1/mailbox/my`)
8
+ .withAuthorization(authProvider)
9
+ .send()
10
+ .then((r) => r.mapError(ErrorToMessage));
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meowinc/meow-sdk",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Meow SDK",
5
5
  "keywords": [
6
6
  "sdk"
@@ -20,7 +20,7 @@
20
20
  "types": "dist/index.d.ts",
21
21
  "scripts": {
22
22
  "build": "tsc",
23
- "prettier":"prettier ./src --write"
23
+ "prettier": "prettier ./src --write"
24
24
  },
25
25
  "dependencies": {
26
26
  "ts-result-meow": ">=0.0.13",