@doist/twist-sdk 0.1.0-alpha.0

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.
Files changed (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/dist/authentication.d.ts +79 -0
  4. package/dist/authentication.d.ts.map +1 -0
  5. package/dist/authentication.js +115 -0
  6. package/dist/authentication.test.d.ts.map +1 -0
  7. package/dist/batch-builder.d.ts +27 -0
  8. package/dist/batch-builder.d.ts.map +1 -0
  9. package/dist/batch-builder.js +191 -0
  10. package/dist/batch-builder.test.d.ts.map +1 -0
  11. package/dist/clients/channels-client.d.ts +215 -0
  12. package/dist/clients/channels-client.d.ts.map +1 -0
  13. package/dist/clients/channels-client.js +140 -0
  14. package/dist/clients/channels-client.test.d.ts.map +1 -0
  15. package/dist/clients/comments-client.d.ts +125 -0
  16. package/dist/clients/comments-client.d.ts.map +1 -0
  17. package/dist/clients/comments-client.js +86 -0
  18. package/dist/clients/comments-client.test.d.ts.map +1 -0
  19. package/dist/clients/conversation-messages-client.d.ts +141 -0
  20. package/dist/clients/conversation-messages-client.d.ts.map +1 -0
  21. package/dist/clients/conversation-messages-client.js +92 -0
  22. package/dist/clients/conversation-messages-client.test.d.ts.map +1 -0
  23. package/dist/clients/conversations-client.d.ts +263 -0
  24. package/dist/clients/conversations-client.d.ts.map +1 -0
  25. package/dist/clients/conversations-client.js +174 -0
  26. package/dist/clients/conversations-client.test.d.ts.map +1 -0
  27. package/dist/clients/groups-client.d.ts +175 -0
  28. package/dist/clients/groups-client.d.ts.map +1 -0
  29. package/dist/clients/groups-client.js +104 -0
  30. package/dist/clients/groups-client.test.d.ts.map +1 -0
  31. package/dist/clients/inbox-client.d.ts +146 -0
  32. package/dist/clients/inbox-client.d.ts.map +1 -0
  33. package/dist/clients/inbox-client.js +92 -0
  34. package/dist/clients/reactions-client.d.ts +98 -0
  35. package/dist/clients/reactions-client.d.ts.map +1 -0
  36. package/dist/clients/reactions-client.js +86 -0
  37. package/dist/clients/reactions-client.test.d.ts.map +1 -0
  38. package/dist/clients/search-client.d.ts +128 -0
  39. package/dist/clients/search-client.d.ts.map +1 -0
  40. package/dist/clients/search-client.js +89 -0
  41. package/dist/clients/threads-client.d.ts +321 -0
  42. package/dist/clients/threads-client.d.ts.map +1 -0
  43. package/dist/clients/threads-client.js +212 -0
  44. package/dist/clients/threads-client.test.d.ts.map +1 -0
  45. package/dist/clients/users-client.d.ts +254 -0
  46. package/dist/clients/users-client.d.ts.map +1 -0
  47. package/dist/clients/users-client.js +155 -0
  48. package/dist/clients/users-client.test.d.ts.map +1 -0
  49. package/dist/clients/workspace-users-client.d.ts +220 -0
  50. package/dist/clients/workspace-users-client.d.ts.map +1 -0
  51. package/dist/clients/workspace-users-client.js +132 -0
  52. package/dist/clients/workspace-users-client.test.d.ts.map +1 -0
  53. package/dist/clients/workspaces-client.d.ts +143 -0
  54. package/dist/clients/workspaces-client.d.ts.map +1 -0
  55. package/dist/clients/workspaces-client.js +89 -0
  56. package/dist/clients/workspaces-client.test.d.ts.map +1 -0
  57. package/dist/consts/endpoints.d.ts +16 -0
  58. package/dist/consts/endpoints.d.ts.map +1 -0
  59. package/dist/consts/endpoints.js +23 -0
  60. package/dist/index.d.ts +10 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +32 -0
  63. package/dist/rest-client.d.ts +5 -0
  64. package/dist/rest-client.d.ts.map +1 -0
  65. package/dist/rest-client.js +201 -0
  66. package/dist/rest-client.test.d.ts.map +1 -0
  67. package/dist/testUtils/msw-handlers.d.ts +29 -0
  68. package/dist/testUtils/msw-handlers.d.ts.map +1 -0
  69. package/dist/testUtils/msw-handlers.js +52 -0
  70. package/dist/testUtils/msw-setup.d.ts +2 -0
  71. package/dist/testUtils/msw-setup.d.ts.map +1 -0
  72. package/dist/testUtils/msw-setup.js +21 -0
  73. package/dist/testUtils/test-defaults.d.ts +11 -0
  74. package/dist/testUtils/test-defaults.d.ts.map +1 -0
  75. package/dist/testUtils/test-defaults.js +96 -0
  76. package/dist/twist-api.d.ts +64 -0
  77. package/dist/twist-api.d.ts.map +1 -0
  78. package/dist/twist-api.js +76 -0
  79. package/dist/twist-api.test.d.ts.map +1 -0
  80. package/dist/types/batch.d.ts +36 -0
  81. package/dist/types/batch.d.ts.map +1 -0
  82. package/dist/types/batch.js +2 -0
  83. package/dist/types/entities.d.ts +367 -0
  84. package/dist/types/entities.d.ts.map +1 -0
  85. package/dist/types/entities.js +358 -0
  86. package/dist/types/enums.d.ts +22 -0
  87. package/dist/types/enums.d.ts.map +1 -0
  88. package/dist/types/enums.js +7 -0
  89. package/dist/types/errors.d.ts +7 -0
  90. package/dist/types/errors.d.ts.map +1 -0
  91. package/dist/types/errors.js +30 -0
  92. package/dist/types/http.d.ts +12 -0
  93. package/dist/types/http.d.ts.map +1 -0
  94. package/dist/types/http.js +2 -0
  95. package/dist/types/index.d.ts +7 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/index.js +22 -0
  98. package/dist/types/requests.d.ts +97 -0
  99. package/dist/types/requests.d.ts.map +1 -0
  100. package/dist/types/requests.js +92 -0
  101. package/dist/utils/case-conversion.d.ts +9 -0
  102. package/dist/utils/case-conversion.d.ts.map +1 -0
  103. package/dist/utils/case-conversion.js +56 -0
  104. package/dist/utils/case-conversion.test.d.ts.map +1 -0
  105. package/dist/utils/index.d.ts +3 -0
  106. package/dist/utils/index.d.ts.map +1 -0
  107. package/dist/utils/index.js +18 -0
  108. package/dist/utils/timestamp-conversion.d.ts +14 -0
  109. package/dist/utils/timestamp-conversion.d.ts.map +1 -0
  110. package/dist/utils/timestamp-conversion.js +47 -0
  111. package/dist/utils/url-helpers.d.ts +154 -0
  112. package/dist/utils/url-helpers.d.ts.map +1 -0
  113. package/dist/utils/url-helpers.js +223 -0
  114. package/dist/utils/url-helpers.test.d.ts.map +1 -0
  115. package/package.json +70 -0
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceUsersClient = void 0;
4
+ var rest_client_1 = require("../rest-client");
5
+ var entities_1 = require("../types/entities");
6
+ /**
7
+ * Client for interacting with Twist workspace users endpoints (v4 API).
8
+ */
9
+ var WorkspaceUsersClient = /** @class */ (function () {
10
+ function WorkspaceUsersClient(apiToken, baseUrl) {
11
+ this.apiToken = apiToken;
12
+ this.baseUrl = baseUrl;
13
+ }
14
+ WorkspaceUsersClient.prototype.getBaseUri = function () {
15
+ return this.baseUrl ? "".concat(this.baseUrl, "/api/v4") : 'https://api.twist.com/api/v4/';
16
+ };
17
+ WorkspaceUsersClient.prototype.getWorkspaceUsers = function (workspaceId, archived, options) {
18
+ var method = 'GET';
19
+ var url = 'workspace_users/get';
20
+ var params = { id: workspaceId, archived: archived };
21
+ if (options === null || options === void 0 ? void 0 : options.batch) {
22
+ return { method: method, url: url, params: params };
23
+ }
24
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return response.data.map(function (user) { return entities_1.WorkspaceUserSchema.parse(user); }); });
25
+ };
26
+ WorkspaceUsersClient.prototype.getWorkspaceUserIds = function (workspaceId, options) {
27
+ var method = 'GET';
28
+ var url = 'workspace_users/get_ids';
29
+ var params = { id: workspaceId };
30
+ if (options === null || options === void 0 ? void 0 : options.batch) {
31
+ return { method: method, url: url, params: params };
32
+ }
33
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return response.data; });
34
+ };
35
+ WorkspaceUsersClient.prototype.getUserById = function (workspaceId, userId, options) {
36
+ var method = 'GET';
37
+ var url = 'workspace_users/getone';
38
+ var params = { id: workspaceId, user_id: userId };
39
+ var schema = entities_1.WorkspaceUserSchema;
40
+ if (options === null || options === void 0 ? void 0 : options.batch) {
41
+ return { method: method, url: url, params: params, schema: schema };
42
+ }
43
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
44
+ };
45
+ WorkspaceUsersClient.prototype.getUserByEmail = function (workspaceId, email, options) {
46
+ var method = 'GET';
47
+ var url = 'workspace_users/get_by_email';
48
+ var params = { id: workspaceId, email: email };
49
+ var schema = entities_1.WorkspaceUserSchema;
50
+ if (options === null || options === void 0 ? void 0 : options.batch) {
51
+ return { method: method, url: url, params: params, schema: schema };
52
+ }
53
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
54
+ };
55
+ WorkspaceUsersClient.prototype.getUserInfo = function (workspaceId, userId, options) {
56
+ var method = 'GET';
57
+ var url = 'workspace_users/get_info';
58
+ var params = { id: workspaceId, user_id: userId };
59
+ if (options === null || options === void 0 ? void 0 : options.batch) {
60
+ return { method: method, url: url, params: params };
61
+ }
62
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return response.data; });
63
+ };
64
+ WorkspaceUsersClient.prototype.getUserLocalTime = function (workspaceId, userId, options) {
65
+ var method = 'GET';
66
+ var url = 'workspace_users/get_local_time';
67
+ var params = { id: workspaceId, user_id: userId };
68
+ if (options === null || options === void 0 ? void 0 : options.batch) {
69
+ return { method: method, url: url, params: params };
70
+ }
71
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return response.data; });
72
+ };
73
+ WorkspaceUsersClient.prototype.addUser = function (args, options) {
74
+ var params = {
75
+ id: args.workspaceId,
76
+ email: args.email,
77
+ name: args.name,
78
+ userType: args.userType,
79
+ channelIds: args.channelIds,
80
+ };
81
+ var method = 'POST';
82
+ var url = 'workspace_users/add';
83
+ var schema = entities_1.WorkspaceUserSchema;
84
+ if (options === null || options === void 0 ? void 0 : options.batch) {
85
+ return { method: method, url: url, params: params, schema: schema };
86
+ }
87
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
88
+ };
89
+ WorkspaceUsersClient.prototype.updateUser = function (args, options) {
90
+ var params = {
91
+ id: args.workspaceId,
92
+ userType: args.userType,
93
+ email: args.email,
94
+ userId: args.userId,
95
+ };
96
+ var method = 'POST';
97
+ var url = 'workspace_users/update';
98
+ var schema = entities_1.WorkspaceUserSchema;
99
+ if (options === null || options === void 0 ? void 0 : options.batch) {
100
+ return { method: method, url: url, params: params, schema: schema };
101
+ }
102
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
103
+ };
104
+ WorkspaceUsersClient.prototype.removeUser = function (args, options) {
105
+ var params = {
106
+ id: args.workspaceId,
107
+ email: args.email,
108
+ userId: args.userId,
109
+ };
110
+ var method = 'POST';
111
+ var url = 'workspace_users/remove';
112
+ if (options === null || options === void 0 ? void 0 : options.batch) {
113
+ return { method: method, url: url, params: params };
114
+ }
115
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function () { return undefined; });
116
+ };
117
+ WorkspaceUsersClient.prototype.resendInvite = function (args, options) {
118
+ var params = {
119
+ id: args.workspaceId,
120
+ email: args.email,
121
+ userId: args.userId,
122
+ };
123
+ var method = 'POST';
124
+ var url = 'workspace_users/resend_invite';
125
+ if (options === null || options === void 0 ? void 0 : options.batch) {
126
+ return { method: method, url: url, params: params };
127
+ }
128
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function () { return undefined; });
129
+ };
130
+ return WorkspaceUsersClient;
131
+ }());
132
+ exports.WorkspaceUsersClient = WorkspaceUsersClient;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-users-client.test.d.ts","sourceRoot":"","sources":["../../src/clients/workspace-users-client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,143 @@
1
+ import type { BatchRequestDescriptor } from '../types/batch';
2
+ import { Channel, Workspace } from '../types/entities';
3
+ /**
4
+ * Client for interacting with Twist workspace endpoints.
5
+ */
6
+ export declare class WorkspacesClient {
7
+ private apiToken;
8
+ private baseUrl?;
9
+ constructor(apiToken: string, baseUrl?: string | undefined);
10
+ private getBaseUri;
11
+ /**
12
+ * Gets all the user's workspaces.
13
+ *
14
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
15
+ * @returns An array of all workspaces the user belongs to.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const workspaces = await api.workspaces.getWorkspaces()
20
+ * workspaces.forEach(ws => console.log(ws.name))
21
+ * ```
22
+ */
23
+ getWorkspaces(options: {
24
+ batch: true;
25
+ }): BatchRequestDescriptor<Workspace[]>;
26
+ getWorkspaces(options?: {
27
+ batch?: false;
28
+ }): Promise<Workspace[]>;
29
+ /**
30
+ * Gets a single workspace object by id.
31
+ *
32
+ * @param id - The workspace ID.
33
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
34
+ * @returns The workspace object.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const workspace = await api.workspaces.getWorkspace(123)
39
+ * console.log(workspace.name)
40
+ * ```
41
+ */
42
+ getWorkspace(id: number, options: {
43
+ batch: true;
44
+ }): BatchRequestDescriptor<Workspace>;
45
+ getWorkspace(id: number, options?: {
46
+ batch?: false;
47
+ }): Promise<Workspace>;
48
+ /**
49
+ * Gets the user's default workspace.
50
+ *
51
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
52
+ * @returns The default workspace object.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const workspace = await api.workspaces.getDefaultWorkspace()
57
+ * console.log(workspace.name)
58
+ * ```
59
+ */
60
+ getDefaultWorkspace(options: {
61
+ batch: true;
62
+ }): BatchRequestDescriptor<Workspace>;
63
+ getDefaultWorkspace(options?: {
64
+ batch?: false;
65
+ }): Promise<Workspace>;
66
+ /**
67
+ * Creates a new workspace.
68
+ *
69
+ * @param name - The name of the new workspace.
70
+ * @param tempId - Optional temporary ID for the workspace.
71
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
72
+ * @returns The created workspace object.
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const workspace = await api.workspaces.createWorkspace('My Team')
77
+ * console.log('Created:', workspace.name)
78
+ * ```
79
+ */
80
+ createWorkspace(name: string, tempId: number | undefined, options: {
81
+ batch: true;
82
+ }): BatchRequestDescriptor<Workspace>;
83
+ createWorkspace(name: string, tempId?: number, options?: {
84
+ batch?: false;
85
+ }): Promise<Workspace>;
86
+ /**
87
+ * Updates an existing workspace.
88
+ *
89
+ * @param id - The workspace ID.
90
+ * @param name - The new name for the workspace.
91
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
92
+ * @returns The updated workspace object.
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const workspace = await api.workspaces.updateWorkspace(123, 'New Team Name')
97
+ * ```
98
+ */
99
+ updateWorkspace(id: number, name: string, options: {
100
+ batch: true;
101
+ }): BatchRequestDescriptor<Workspace>;
102
+ updateWorkspace(id: number, name: string, options?: {
103
+ batch?: false;
104
+ }): Promise<Workspace>;
105
+ /**
106
+ * Removes a workspace and all its data (not recoverable).
107
+ *
108
+ * @param id - The workspace ID.
109
+ * @param currentPassword - The user's current password for confirmation.
110
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * await api.workspaces.removeWorkspace(123, 'mypassword')
115
+ * ```
116
+ */
117
+ removeWorkspace(id: number, currentPassword: string, options: {
118
+ batch: true;
119
+ }): BatchRequestDescriptor<void>;
120
+ removeWorkspace(id: number, currentPassword: string, options?: {
121
+ batch?: false;
122
+ }): Promise<void>;
123
+ /**
124
+ * Gets the public channels of a workspace.
125
+ *
126
+ * @param id - The workspace ID.
127
+ * @param options - Optional configuration. Set `batch: true` to return a descriptor for batch requests.
128
+ * @returns An array of public channel objects.
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * const channels = await api.workspaces.getPublicChannels(123)
133
+ * channels.forEach(ch => console.log(ch.name))
134
+ * ```
135
+ */
136
+ getPublicChannels(id: number, options: {
137
+ batch: true;
138
+ }): BatchRequestDescriptor<Channel[]>;
139
+ getPublicChannels(id: number, options?: {
140
+ batch?: false;
141
+ }): Promise<Channel[]>;
142
+ }
143
+ //# sourceMappingURL=workspaces-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces-client.d.ts","sourceRoot":"","sources":["../../src/clients/workspaces-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAiB,SAAS,EAAmB,MAAM,mBAAmB,CAAA;AAEtF;;GAEG;AACH,qBAAa,gBAAgB;IAErB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO,CAAC;gBADR,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA;IAG5B,OAAO,CAAC,UAAU;IAIlB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,sBAAsB,CAAC,SAAS,EAAE,CAAC;IAC5E,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAgBhE;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC;IACrF,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBzE;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC;IAChF,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBpE;;;;;;;;;;;;;OAaG;IACH,eAAe,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GACzB,sBAAsB,CAAC,SAAS,CAAC;IACpC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsB/F;;;;;;;;;;;;OAYG;IACH,eAAe,CACX,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GACzB,sBAAsB,CAAC,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAoB1F;;;;;;;;;;;OAWG;IACH,eAAe,CACX,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GACzB,sBAAsB,CAAC,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhG;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;IAC1F,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAiBjF"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspacesClient = void 0;
4
+ var endpoints_1 = require("../consts/endpoints");
5
+ var rest_client_1 = require("../rest-client");
6
+ var entities_1 = require("../types/entities");
7
+ /**
8
+ * Client for interacting with Twist workspace endpoints.
9
+ */
10
+ var WorkspacesClient = /** @class */ (function () {
11
+ function WorkspacesClient(apiToken, baseUrl) {
12
+ this.apiToken = apiToken;
13
+ this.baseUrl = baseUrl;
14
+ }
15
+ WorkspacesClient.prototype.getBaseUri = function () {
16
+ return this.baseUrl ? "".concat(this.baseUrl, "/api/v3") : (0, endpoints_1.getTwistBaseUri)();
17
+ };
18
+ WorkspacesClient.prototype.getWorkspaces = function (options) {
19
+ var method = 'GET';
20
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/get");
21
+ if (options === null || options === void 0 ? void 0 : options.batch) {
22
+ return { method: method, url: url };
23
+ }
24
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken).then(function (response) { return response.data.map(function (workspace) { return entities_1.WorkspaceSchema.parse(workspace); }); });
25
+ };
26
+ WorkspacesClient.prototype.getWorkspace = function (id, options) {
27
+ var method = 'GET';
28
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/getone");
29
+ var params = { id: id };
30
+ var schema = entities_1.WorkspaceSchema;
31
+ if (options === null || options === void 0 ? void 0 : options.batch) {
32
+ return { method: method, url: url, params: params, schema: schema };
33
+ }
34
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
35
+ };
36
+ WorkspacesClient.prototype.getDefaultWorkspace = function (options) {
37
+ var method = 'GET';
38
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/get_default");
39
+ var schema = entities_1.WorkspaceSchema;
40
+ if (options === null || options === void 0 ? void 0 : options.batch) {
41
+ return { method: method, url: url, schema: schema };
42
+ }
43
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken).then(function (response) {
44
+ return schema.parse(response.data);
45
+ });
46
+ };
47
+ WorkspacesClient.prototype.createWorkspace = function (name, tempId, options) {
48
+ var params = { name: name };
49
+ if (tempId !== undefined)
50
+ params.tempId = tempId;
51
+ var method = 'POST';
52
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/add");
53
+ var schema = entities_1.WorkspaceSchema;
54
+ if (options === null || options === void 0 ? void 0 : options.batch) {
55
+ return { method: method, url: url, params: params, schema: schema };
56
+ }
57
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
58
+ };
59
+ WorkspacesClient.prototype.updateWorkspace = function (id, name, options) {
60
+ var method = 'POST';
61
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/update");
62
+ var params = { id: id, name: name };
63
+ var schema = entities_1.WorkspaceSchema;
64
+ if (options === null || options === void 0 ? void 0 : options.batch) {
65
+ return { method: method, url: url, params: params, schema: schema };
66
+ }
67
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return schema.parse(response.data); });
68
+ };
69
+ WorkspacesClient.prototype.removeWorkspace = function (id, currentPassword, options) {
70
+ var method = 'POST';
71
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/remove");
72
+ var params = { id: id, currentPassword: currentPassword };
73
+ if (options === null || options === void 0 ? void 0 : options.batch) {
74
+ return { method: method, url: url, params: params };
75
+ }
76
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function () { return undefined; });
77
+ };
78
+ WorkspacesClient.prototype.getPublicChannels = function (id, options) {
79
+ var method = 'GET';
80
+ var url = "".concat(endpoints_1.ENDPOINT_WORKSPACES, "/get_public_channels");
81
+ var params = { id: id };
82
+ if (options === null || options === void 0 ? void 0 : options.batch) {
83
+ return { method: method, url: url, params: params };
84
+ }
85
+ return (0, rest_client_1.request)(method, this.getBaseUri(), url, this.apiToken, params).then(function (response) { return response.data.map(function (channel) { return entities_1.ChannelSchema.parse(channel); }); });
86
+ };
87
+ return WorkspacesClient;
88
+ }());
89
+ exports.WorkspacesClient = WorkspacesClient;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces-client.test.d.ts","sourceRoot":"","sources":["../../src/clients/workspaces-client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export declare const API_VERSION = "v3";
2
+ export declare const API_BASE_URI = "/api/v3/";
3
+ export declare function getTwistBaseUri(domainBase?: string): string;
4
+ export declare const ENDPOINT_USERS = "users";
5
+ export declare const ENDPOINT_WORKSPACES = "workspaces";
6
+ export declare const ENDPOINT_CHANNELS = "channels";
7
+ export declare const ENDPOINT_THREADS = "threads";
8
+ export declare const ENDPOINT_GROUPS = "groups";
9
+ export declare const ENDPOINT_CONVERSATIONS = "conversations";
10
+ export declare const ENDPOINT_COMMENTS = "comments";
11
+ export declare const ENDPOINT_NOTIFICATIONS = "notifications";
12
+ export declare const ENDPOINT_INBOX = "inbox";
13
+ export declare const ENDPOINT_REACTIONS = "reactions";
14
+ export declare const ENDPOINT_SEARCH = "search";
15
+ export declare const ENDPOINT_CONVERSATION_MESSAGES = "conversation_messages";
16
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/consts/endpoints.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,OAAO,CAAA;AAC/B,eAAO,MAAM,YAAY,aAAyB,CAAA;AAElD,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAAiB,GAAG,MAAM,CAErE;AAED,eAAO,MAAM,cAAc,UAAU,CAAA;AACrC,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,gBAAgB,YAAY,CAAA;AACzC,eAAO,MAAM,eAAe,WAAW,CAAA;AACvC,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AACrD,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAC3C,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AACrD,eAAO,MAAM,cAAc,UAAU,CAAA;AACrC,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAC7C,eAAO,MAAM,eAAe,WAAW,CAAA;AACvC,eAAO,MAAM,8BAA8B,0BAA0B,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENDPOINT_CONVERSATION_MESSAGES = exports.ENDPOINT_SEARCH = exports.ENDPOINT_REACTIONS = exports.ENDPOINT_INBOX = exports.ENDPOINT_NOTIFICATIONS = exports.ENDPOINT_COMMENTS = exports.ENDPOINT_CONVERSATIONS = exports.ENDPOINT_GROUPS = exports.ENDPOINT_THREADS = exports.ENDPOINT_CHANNELS = exports.ENDPOINT_WORKSPACES = exports.ENDPOINT_USERS = exports.API_BASE_URI = exports.API_VERSION = void 0;
4
+ exports.getTwistBaseUri = getTwistBaseUri;
5
+ var BASE_URI = 'https://api.twist.com';
6
+ exports.API_VERSION = 'v3';
7
+ exports.API_BASE_URI = "/api/".concat(exports.API_VERSION, "/");
8
+ function getTwistBaseUri(domainBase) {
9
+ if (domainBase === void 0) { domainBase = BASE_URI; }
10
+ return new URL(exports.API_BASE_URI, domainBase).toString();
11
+ }
12
+ exports.ENDPOINT_USERS = 'users';
13
+ exports.ENDPOINT_WORKSPACES = 'workspaces';
14
+ exports.ENDPOINT_CHANNELS = 'channels';
15
+ exports.ENDPOINT_THREADS = 'threads';
16
+ exports.ENDPOINT_GROUPS = 'groups';
17
+ exports.ENDPOINT_CONVERSATIONS = 'conversations';
18
+ exports.ENDPOINT_COMMENTS = 'comments';
19
+ exports.ENDPOINT_NOTIFICATIONS = 'notifications';
20
+ exports.ENDPOINT_INBOX = 'inbox';
21
+ exports.ENDPOINT_REACTIONS = 'reactions';
22
+ exports.ENDPOINT_SEARCH = 'search';
23
+ exports.ENDPOINT_CONVERSATION_MESSAGES = 'conversation_messages';
@@ -0,0 +1,10 @@
1
+ export * from './authentication';
2
+ export { BatchBuilder } from './batch-builder';
3
+ export { ConversationMessagesClient } from './clients/conversation-messages-client';
4
+ export { InboxClient } from './clients/inbox-client';
5
+ export { ReactionsClient } from './clients/reactions-client';
6
+ export { SearchClient } from './clients/search-client';
7
+ export { TwistApi } from './twist-api';
8
+ export * from './types/index';
9
+ export * from './utils/index';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.TwistApi = exports.SearchClient = exports.ReactionsClient = exports.InboxClient = exports.ConversationMessagesClient = exports.BatchBuilder = void 0;
18
+ __exportStar(require("./authentication"), exports);
19
+ var batch_builder_1 = require("./batch-builder");
20
+ Object.defineProperty(exports, "BatchBuilder", { enumerable: true, get: function () { return batch_builder_1.BatchBuilder; } });
21
+ var conversation_messages_client_1 = require("./clients/conversation-messages-client");
22
+ Object.defineProperty(exports, "ConversationMessagesClient", { enumerable: true, get: function () { return conversation_messages_client_1.ConversationMessagesClient; } });
23
+ var inbox_client_1 = require("./clients/inbox-client");
24
+ Object.defineProperty(exports, "InboxClient", { enumerable: true, get: function () { return inbox_client_1.InboxClient; } });
25
+ var reactions_client_1 = require("./clients/reactions-client");
26
+ Object.defineProperty(exports, "ReactionsClient", { enumerable: true, get: function () { return reactions_client_1.ReactionsClient; } });
27
+ var search_client_1 = require("./clients/search-client");
28
+ Object.defineProperty(exports, "SearchClient", { enumerable: true, get: function () { return search_client_1.SearchClient; } });
29
+ var twist_api_1 = require("./twist-api");
30
+ Object.defineProperty(exports, "TwistApi", { enumerable: true, get: function () { return twist_api_1.TwistApi; } });
31
+ __exportStar(require("./types/index"), exports);
32
+ __exportStar(require("./utils/index"), exports);
@@ -0,0 +1,5 @@
1
+ import { HttpMethod, HttpResponse } from './types/http';
2
+ export declare function paramsSerializer(params: Record<string, unknown>): string;
3
+ export declare function request<T>(httpMethod: HttpMethod, baseUri: string, relativePath: string, apiToken?: string, payload?: Record<string, unknown>, requestId?: string): Promise<HttpResponse<T>>;
4
+ export declare function isSuccess(response: HttpResponse): boolean;
5
+ //# sourceMappingURL=rest-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest-client.d.ts","sourceRoot":"","sources":["../src/rest-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAA;AAItE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAexE;AAkGD,wBAAsB,OAAO,CAAC,CAAC,EAC3B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAoB1B;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEzD"}