phorge-ts 0.3.0 → 1.0.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 (47) hide show
  1. package/.env.example +2 -0
  2. package/README.md +134 -0
  3. package/dist/client.d.ts +14 -14
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.e2e.test.d.ts +2 -0
  6. package/dist/client.e2e.test.d.ts.map +1 -0
  7. package/dist/client.e2e.test.js +103 -0
  8. package/dist/client.e2e.test.js.map +1 -0
  9. package/dist/client.js +28 -38
  10. package/dist/client.js.map +1 -1
  11. package/dist/client.test.js +14 -14
  12. package/dist/client.test.js.map +1 -1
  13. package/dist/dev.d.ts +2 -0
  14. package/dist/dev.d.ts.map +1 -0
  15. package/{src/test.ts → dist/dev.js} +7 -2
  16. package/dist/dev.js.map +1 -0
  17. package/dist/models/maniphest.d.ts +40 -47
  18. package/dist/models/maniphest.d.ts.map +1 -1
  19. package/dist/models/maniphest.js +60 -61
  20. package/dist/models/maniphest.js.map +1 -1
  21. package/dist/models/project.d.ts +25 -25
  22. package/dist/models/project.d.ts.map +1 -1
  23. package/dist/models/project.js +37 -37
  24. package/dist/models/project.js.map +1 -1
  25. package/dist/models/transaction.d.ts +4 -4
  26. package/dist/models/transaction.d.ts.map +1 -1
  27. package/dist/models/transaction.js +2 -2
  28. package/dist/models/transaction.js.map +1 -1
  29. package/dist/models/user.d.ts +4 -4
  30. package/dist/models/user.d.ts.map +1 -1
  31. package/dist/models/user.js +2 -2
  32. package/dist/models/user.js.map +1 -1
  33. package/dist/test.js +5 -1
  34. package/dist/test.js.map +1 -1
  35. package/dist/utils.d.ts +3 -3
  36. package/dist/utils.d.ts.map +1 -1
  37. package/dist/utils.js +3 -10
  38. package/dist/utils.js.map +1 -1
  39. package/package.json +5 -3
  40. package/src/client.e2e.test.ts +122 -0
  41. package/src/client.test.ts +17 -17
  42. package/src/client.ts +37 -47
  43. package/src/models/maniphest.ts +68 -72
  44. package/src/models/project.ts +44 -44
  45. package/src/models/transaction.ts +4 -4
  46. package/src/models/user.ts +4 -4
  47. package/src/utils.ts +4 -11
package/.env.example ADDED
@@ -0,0 +1,2 @@
1
+ PHORGE_URI=https://phorge.example.com
2
+ PHORGE_TOKEN=api-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
package/README.md ADDED
@@ -0,0 +1,134 @@
1
+ # Phorge-TS
2
+
3
+ A strictly typed TypeScript client for the Phorge (and Phabricator) Conduit API. This library uses [Zod](https://github.com/colinhacks/zod) to validate API responses, ensuring runtime type safety.
4
+
5
+ ## Features
6
+
7
+ - **Strict Typing**: All API responses are validated against Zod schemas.
8
+ - **Promise-based**: Fully async/await compatible.
9
+ - **Modular**: separate models for Projects, Maniphest (Tasks), Users, and Transactions.
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ npm install phorge-ts
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ### Initialization
20
+
21
+ Import the `Client` and initialize it with your Phorge instance URI and API token.
22
+
23
+ ```typescript
24
+ import { Client } from 'phorge-ts';
25
+
26
+ const client = new Client('https://phorge.example.com', 'api-token-...');
27
+ ```
28
+
29
+ ### Searching for Tasks (Maniphest)
30
+
31
+ ```typescript
32
+ import { Client } from 'phorge-ts';
33
+
34
+ const client = new Client('https://phorge.example.com', 'api-token-...');
35
+
36
+ async function getOpenTasks() {
37
+ try {
38
+ const tasks = await client.searchManiphest({
39
+ constraints: {
40
+ statuses: ['open'],
41
+ },
42
+ limit: 10,
43
+ });
44
+
45
+ for (const task of tasks) {
46
+ console.log(`#${task.id}: ${task.fields.name}`);
47
+ }
48
+ } catch (error) {
49
+ console.error('Failed to search tasks:', error);
50
+ }
51
+ }
52
+
53
+ getOpenTasks();
54
+ ```
55
+
56
+ ### Creating a Task
57
+
58
+ ```typescript
59
+ import { Client } from 'phorge-ts';
60
+
61
+ const client = new Client('https://phorge.example.com', 'api-token-...');
62
+
63
+ async function createNewTask() {
64
+ try {
65
+ const newTask = await client.createManiphest([
66
+ { type: 'title', value: 'New Task Title' },
67
+ { type: 'description', value: 'Description of the new task.' },
68
+ { type: 'priority', value: 80 }, // High priority
69
+ ]);
70
+
71
+ console.log(`Created task with PHID: ${newTask.phid}`);
72
+ } catch (error) {
73
+ console.error('Failed to create task:', error);
74
+ }
75
+ }
76
+
77
+ createNewTask();
78
+ ```
79
+
80
+ ### Working with Projects
81
+
82
+ ```typescript
83
+ import { Client } from 'phorge-ts';
84
+
85
+ const client = new Client('https://phorge.example.com', 'api-token-...');
86
+
87
+ async function searchProjects() {
88
+ const projects = await client.searchProject({
89
+ queryKey: 'active',
90
+ });
91
+ console.log(projects);
92
+ }
93
+ ```
94
+
95
+ ## Available APIs
96
+
97
+ The client currently supports the following methods:
98
+
99
+ - **Maniphest (Tasks)**
100
+ - `searchManiphest(options?)`
101
+ - `createManiphest(transactions)`
102
+ - `updateManiphest(phid, transactions)`
103
+ - `searchManiphestPriority()`
104
+ - `searchManiphestStatus()`
105
+ - **Project**
106
+ - `searchProject(options?)`
107
+ - `createProject(transactions)`
108
+ - `updateProject(phid, transactions)`
109
+ - **User**
110
+ - `searchUser(options?)`
111
+ - **Transaction**
112
+ - `searchTransaction(options?)`
113
+
114
+ ## Development
115
+
116
+ ### Build
117
+
118
+ To compile the TypeScript code:
119
+
120
+ ```bash
121
+ npm run build
122
+ ```
123
+
124
+ ### Test
125
+
126
+ To run the tests using Vitest:
127
+
128
+ ```bash
129
+ npm run test
130
+ ```
131
+
132
+ ## License
133
+
134
+ Apache-2.0
package/dist/client.d.ts CHANGED
@@ -1,23 +1,23 @@
1
- import { TaskSearchOptions, SearchTaskResult, SearchManiphestStatusResult, ManiphestPriority } from "./models/maniphest.js";
1
+ import { ManiphestSearchOptions, ManiphestTask, ManiphestStatus, ManiphestPriority } from "./models/maniphest.js";
2
2
  import { CreateObjectResult, type PHID } from "./models/phorge.js";
3
- import { SearchProjectResult, ProjectSearchOptions, ProjectEditTransaction } from "./models/project.js";
4
- import { SearchTransactionResult, TransactionSearchOptions } from "./models/transaction.js";
5
- import { SearchUserResult, UserSearchOptions } from "./models/user.js";
6
- import type { TaskTransaction } from "./models/maniphest.js";
3
+ import { Project, ProjectSearchOptions, ProjectUpdateTransaction } from "./models/project.js";
4
+ import { Transaction, TransactionSearchOptions } from "./models/transaction.js";
5
+ import { User, UserSearchOptions } from "./models/user.js";
6
+ import type { ManiphestUpdateTransaction } from "./models/maniphest.js";
7
7
  export declare class Client {
8
8
  private uri;
9
9
  private token;
10
10
  constructor(uri: string, token: string);
11
11
  private call;
12
- searchProject(options?: ProjectSearchOptions): Promise<SearchProjectResult[]>;
13
- editProject(phid: PHID<"PROJ">, transactions: ProjectEditTransaction[]): Promise<CreateObjectResult>;
14
- createProject(transactions: ProjectEditTransaction[]): Promise<CreateObjectResult>;
12
+ searchProject(options?: ProjectSearchOptions): Promise<Project[]>;
13
+ updateProject(phid: PHID<"PROJ">, transactions: ProjectUpdateTransaction[]): Promise<CreateObjectResult>;
14
+ createProject(transactions: ProjectUpdateTransaction[]): Promise<CreateObjectResult>;
15
15
  searchManiphestPriority(): Promise<ManiphestPriority[]>;
16
- searchTask(options?: TaskSearchOptions): Promise<SearchTaskResult[]>;
17
- createTask(transactions: TaskTransaction[]): Promise<CreateObjectResult>;
18
- updateTask(phid: PHID<"TASK">, transactions: TaskTransaction[]): Promise<CreateObjectResult>;
19
- searchUser(options?: UserSearchOptions): Promise<SearchUserResult>;
20
- searchTransaction(options?: TransactionSearchOptions): Promise<SearchTransactionResult>;
21
- searchManiphestStatus(): Promise<SearchManiphestStatusResult>;
16
+ searchManiphest(options?: ManiphestSearchOptions): Promise<ManiphestTask[]>;
17
+ createManiphest(transactions: ManiphestUpdateTransaction[]): Promise<CreateObjectResult>;
18
+ updateManiphest(phid: PHID<"TASK">, transactions: ManiphestUpdateTransaction[]): Promise<CreateObjectResult>;
19
+ searchUser(options?: UserSearchOptions): Promise<User[]>;
20
+ searchTransaction(options?: TransactionSearchOptions): Promise<Transaction[]>;
21
+ searchManiphestStatus(): Promise<ManiphestStatus[]>;
22
22
  }
23
23
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAmB,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7I,OAAO,EAAe,kBAAkB,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIvE,OAAO,KAAK,EAAsB,eAAe,EAAsF,MAAM,uBAAuB,CAAC;AAKrK,qBAAa,MAAM;IACH,OAAO,CAAC,GAAG;IAAU,OAAO,CAAC,KAAK;gBAA1B,GAAG,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM;YAExC,IAAI;IAYZ,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA8C7E,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAapG,aAAa,CAAC,YAAY,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYlF,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAavD,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA+CpE,UAAU,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAaxE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc5F,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyClE,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkCvF,qBAAqB,IAAI,OAAO,CAAC,2BAA2B,CAAC;CAYtE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAe,kBAAkB,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI3D,OAAO,KAAK,EAA2B,0BAA0B,EAA2F,MAAM,uBAAuB,CAAC;AAK1L,qBAAa,MAAM;IACH,OAAO,CAAC,GAAG;IAAU,OAAO,CAAC,KAAK;gBAA1B,GAAG,EAAE,MAAM,EAAU,KAAK,EAAE,MAAM;YAExC,IAAI;IAYZ,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0CjE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAcxG,aAAa,CAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAapF,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAavD,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2C3E,eAAe,CAAC,YAAY,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAcxF,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAe5G,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAqCxD,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgC7E,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAY5D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.e2e.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.e2e.test.d.ts","sourceRoot":"","sources":["../src/client.e2e.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,103 @@
1
+ import { describe, test, expect } from "vitest";
2
+ import { Client } from "./client.js";
3
+ import * as dotenv from "dotenv";
4
+ import crypto from "node:crypto";
5
+ dotenv.config();
6
+ const uri = process.env.PHORGE_URI;
7
+ const token = process.env.PHORGE_TOKEN;
8
+ describe("Client E2E", () => {
9
+ if (!uri || !token) {
10
+ test.skip("PHORGE_URI and PHORGE_TOKEN must be set for E2E tests", () => { });
11
+ return;
12
+ }
13
+ const client = new Client(uri, token);
14
+ const hash = crypto.randomBytes(4).toString("hex");
15
+ const projectName = `Test Project ${hash}`;
16
+ const taskTitle = `Test Task ${hash}`;
17
+ let projectPHID;
18
+ let taskPHID;
19
+ test("should create a project", async () => {
20
+ const result = await client.createProject([
21
+ { type: "name", value: projectName },
22
+ { type: "description", value: "E2E Test Project" }
23
+ ]);
24
+ expect(result.phid).toBeDefined();
25
+ projectPHID = result.phid;
26
+ const projects = await client.searchProject({
27
+ constraints: { phids: [projectPHID] }
28
+ });
29
+ expect(projects.length).toBe(1);
30
+ expect(projects[0].fields.name).toBe(projectName);
31
+ });
32
+ test("should update a project", async () => {
33
+ const updatedName = `${projectName} Updated`;
34
+ await client.updateProject(projectPHID, [
35
+ { type: "name", value: updatedName }
36
+ ]);
37
+ const projects = await client.searchProject({
38
+ constraints: { phids: [projectPHID] }
39
+ });
40
+ expect(projects[0].fields.name).toBe(updatedName);
41
+ });
42
+ test("should create a task", async () => {
43
+ const result = await client.createManiphest([
44
+ { type: "title", value: taskTitle },
45
+ { type: "description", value: "E2E Test Task" },
46
+ { type: "projects.add", value: [projectPHID] }
47
+ ]);
48
+ expect(result.phid).toBeDefined();
49
+ taskPHID = result.phid;
50
+ const tasks = await client.searchManiphest({
51
+ constraints: { phids: [taskPHID] },
52
+ attachments: { projects: true }
53
+ });
54
+ expect(tasks.length).toBe(1);
55
+ expect(tasks[0].fields.name).toBe(taskTitle);
56
+ expect(tasks[0].attachments.projects.projectPHIDs).toContain(projectPHID);
57
+ });
58
+ test("should update a task", async () => {
59
+ const updatedTitle = `${taskTitle} Updated`;
60
+ await client.updateManiphest(taskPHID, [
61
+ { type: "title", value: updatedTitle }
62
+ ]);
63
+ const tasks = await client.searchManiphest({
64
+ constraints: { phids: [taskPHID] }
65
+ });
66
+ expect(tasks[0].fields.name).toBe(updatedTitle);
67
+ });
68
+ test("should search users", async () => {
69
+ const users = await client.searchUser({ limit: 5 });
70
+ expect(users.length).toBeGreaterThan(0);
71
+ });
72
+ test("should search transactions", async () => {
73
+ const transactions = await client.searchTransaction({
74
+ objectIdentifier: taskPHID,
75
+ limit: 5
76
+ });
77
+ expect(transactions.length).toBeGreaterThan(0);
78
+ });
79
+ test("should search maniphest priorities", async () => {
80
+ const priorities = await client.searchManiphestPriority();
81
+ expect(priorities.length).toBeGreaterThan(0);
82
+ expect(priorities[0]).toHaveProperty("name");
83
+ expect(priorities[0]).toHaveProperty("value");
84
+ });
85
+ test("should search maniphest statuses", async () => {
86
+ const statuses = await client.searchManiphestStatus();
87
+ expect(statuses.length).toBeGreaterThan(0);
88
+ expect(statuses[0]).toHaveProperty("name");
89
+ expect(statuses[0]).toHaveProperty("value");
90
+ });
91
+ test("cleanup: close task", async () => {
92
+ if (!taskPHID)
93
+ return;
94
+ await client.updateManiphest(taskPHID, [
95
+ { type: "status", value: "closed" }
96
+ ]);
97
+ const tasks = await client.searchManiphest({
98
+ constraints: { phids: [taskPHID] }
99
+ });
100
+ expect(tasks[0].fields.status.value).toBe("closed");
101
+ });
102
+ });
103
+ //# sourceMappingURL=client.e2e.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.e2e.test.js","sourceRoot":"","sources":["../src/client.e2e.test.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,9 +1,9 @@
1
- import { TaskSearchOptions, SearchTaskResult, ManiphestStatus, SearchManiphestStatusResult, ManiphestPriority } from "./models/maniphest.js";
1
+ import { ManiphestSearchOptions, ManiphestTask, ManiphestStatus, ManiphestPriority } from "./models/maniphest.js";
2
2
  import { PhorgeError, CreateObjectResult } from "./models/phorge.js";
3
- import { SearchProjectResult, ProjectSearchOptions, ProjectEditTransaction } from "./models/project.js";
4
- import { SearchTransactionResult, TransactionSearchOptions } from "./models/transaction.js";
5
- import { SearchUserResult, UserSearchOptions } from "./models/user.js";
6
- import { AttachmentsObjectToParams, ConstraintObjectToParams, EditTransactionObjectToParams } from "./utils.js";
3
+ import { Project, ProjectSearchOptions, ProjectUpdateTransaction } from "./models/project.js";
4
+ import { Transaction, TransactionSearchOptions } from "./models/transaction.js";
5
+ import { User, UserSearchOptions } from "./models/user.js";
6
+ import { AttachmentsObjectToParams, ConstraintObjectToParams, UpdateTransactionObjectToParams } from "./utils.js";
7
7
  export class Client {
8
8
  uri;
9
9
  token;
@@ -28,14 +28,10 @@ export class Client {
28
28
  params.append("queryKey", options.queryKey);
29
29
  }
30
30
  if (options.constraints !== undefined) {
31
- for (const [key, value] of ConstraintObjectToParams(options.constraints)) {
32
- params.append(key, value);
33
- }
31
+ ConstraintObjectToParams(options.constraints, params);
34
32
  }
35
33
  if (options.attachments !== undefined && options.attachments !== null) {
36
- for (const [key, value] of AttachmentsObjectToParams(options.attachments)) {
37
- params.append(key, value);
38
- }
34
+ AttachmentsObjectToParams(options.attachments, params);
39
35
  }
40
36
  if (options.order !== undefined) {
41
37
  params.append("order", options.order);
@@ -59,8 +55,9 @@ export class Client {
59
55
  return resp.result.data;
60
56
  }
61
57
  }
62
- async editProject(phid, transactions) {
63
- let params = EditTransactionObjectToParams(transactions);
58
+ async updateProject(phid, transactions) {
59
+ let params = new URLSearchParams();
60
+ UpdateTransactionObjectToParams(transactions, params);
64
61
  params.append("objectIdentifier", phid);
65
62
  params.append("api.token", this.token);
66
63
  const resp = await this.call("project.edit", params);
@@ -72,7 +69,8 @@ export class Client {
72
69
  }
73
70
  }
74
71
  async createProject(transactions) {
75
- let params = EditTransactionObjectToParams(transactions);
72
+ let params = new URLSearchParams();
73
+ UpdateTransactionObjectToParams(transactions, params);
76
74
  params.append("api.token", this.token);
77
75
  const resp = await this.call("project.edit", params);
78
76
  if (resp.error_code !== null) {
@@ -90,24 +88,20 @@ export class Client {
90
88
  throw new PhorgeError(resp.error_code, resp.error_info);
91
89
  }
92
90
  else {
93
- return ManiphestPriority.array().parse(resp.result.data);
91
+ return resp.result.data;
94
92
  }
95
93
  }
96
- async searchTask(options) {
94
+ async searchManiphest(options) {
97
95
  let params = new URLSearchParams();
98
96
  if (options !== undefined) {
99
97
  if (options.queryKey) {
100
98
  params.append("queryKey", options.queryKey);
101
99
  }
102
100
  if (options.constraints !== undefined) {
103
- for (const [key, value] of ConstraintObjectToParams(options.constraints)) {
104
- params.append(key, value);
105
- }
101
+ ConstraintObjectToParams(options.constraints, params);
106
102
  }
107
103
  if (options.attachments !== undefined) {
108
- for (const [key, value] of AttachmentsObjectToParams(options.attachments)) {
109
- params.append(key, value);
110
- }
104
+ AttachmentsObjectToParams(options.attachments, params);
111
105
  }
112
106
  if (options.order !== undefined) {
113
107
  params.append("order", options.order);
@@ -131,8 +125,9 @@ export class Client {
131
125
  return resp.result.data;
132
126
  }
133
127
  }
134
- async createTask(transactions) {
135
- let params = EditTransactionObjectToParams(transactions);
128
+ async createManiphest(transactions) {
129
+ let params = new URLSearchParams();
130
+ UpdateTransactionObjectToParams(transactions, params);
136
131
  params.append("api.token", this.token);
137
132
  const resp = await this.call("maniphest.edit", params);
138
133
  if (resp.error_code !== null) {
@@ -142,8 +137,9 @@ export class Client {
142
137
  return resp.result.object;
143
138
  }
144
139
  }
145
- async updateTask(phid, transactions) {
146
- let params = EditTransactionObjectToParams(transactions);
140
+ async updateManiphest(phid, transactions) {
141
+ let params = new URLSearchParams();
142
+ UpdateTransactionObjectToParams(transactions, params);
147
143
  params.append("objectIdentifier", phid);
148
144
  params.append("api.token", this.token);
149
145
  const resp = await this.call("maniphest.edit", params);
@@ -162,14 +158,10 @@ export class Client {
162
158
  params.append("queryKey", options.queryKey);
163
159
  }
164
160
  if (options.constraints !== undefined) {
165
- for (const [key, value] of ConstraintObjectToParams(options.constraints)) {
166
- params.append(key, value);
167
- }
161
+ ConstraintObjectToParams(options.constraints, params);
168
162
  }
169
163
  if (options.attachments) {
170
- for (const [key, value] of AttachmentsObjectToParams(options.attachments)) {
171
- params.append(key, value);
172
- }
164
+ AttachmentsObjectToParams(options.attachments, params);
173
165
  }
174
166
  if (options.order) {
175
167
  // TODO: Implement order type
@@ -190,7 +182,7 @@ export class Client {
190
182
  throw new PhorgeError(resp.error_code, resp.error_info);
191
183
  }
192
184
  else {
193
- return SearchUserResult.parse(resp.result.data);
185
+ return resp.result.data;
194
186
  }
195
187
  }
196
188
  async searchTransaction(options) {
@@ -204,9 +196,7 @@ export class Client {
204
196
  params.append("objectType", options.objectType);
205
197
  }
206
198
  if (options.constraints !== undefined) {
207
- for (const [key, value] of ConstraintObjectToParams(options.constraints)) {
208
- params.append(key, value);
209
- }
199
+ ConstraintObjectToParams(options.constraints, params);
210
200
  }
211
201
  if (options.before) {
212
202
  params.append("before", options.before.toString());
@@ -223,7 +213,7 @@ export class Client {
223
213
  throw new PhorgeError(resp.error_code, resp.error_info);
224
214
  }
225
215
  else {
226
- return SearchTransactionResult.parse(resp.result.data);
216
+ return resp.result.data;
227
217
  }
228
218
  }
229
219
  async searchManiphestStatus() {
@@ -234,7 +224,7 @@ export class Client {
234
224
  throw new PhorgeError(resp.error_code, resp.error_info);
235
225
  }
236
226
  else {
237
- return SearchManiphestStatusResult.parse(resp.result.data);
227
+ return resp.result.data;
238
228
  }
239
229
  }
240
230
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC7I,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAa,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAQhH,MAAM,OAAO,MAAM;IACK;IAAqB;IAAzC,YAAoB,GAAW,EAAU,KAAa;QAAlC,QAAG,GAAH,GAAG,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAQ;IAAI,CAAC;IAEnD,KAAK,CAAC,IAAI,CAAI,GAAW,EAAE,MAAuB;QACtD,IAAI,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,EAAE,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACL,cAAc,EAAE,mCAAmC;aACtD;SACJ,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA8B;QAC9C,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACpE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YACzC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,CAAC;QACL,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwB,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAkB,EAAE,YAAsC;QACxE,IAAI,MAAM,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwB,cAAc,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAsC;QACtD,IAAI,MAAM,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwB,cAAc,EAAE,MAAM,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB;QACzB,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAkC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAEnG,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,iBAAiB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA2B;QACxC,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YACzC,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,CAAC;YAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,CAAC;QACL,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqB,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAE7E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAA+B;QAC5C,IAAI,MAAM,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqB,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAkB,EAAE,YAA+B;QAChE,IAAI,MAAM,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAA;QACxD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqB,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA2B;QACxC,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACxE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,6BAA6B;YACjC,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqB,aAAa,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAkC;QACtD,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC7B,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA4B,oBAAoB,EAAE,MAAM,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB;QACvB,IAAI,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAgC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAE/F,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,OAAO,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { afterEach, describe, expect, test, vi } from "vitest";
2
2
  import createFetchMock from "vitest-fetch-mock";
3
3
  import { Client } from "./client.js";
4
4
  import { PhorgeError } from "./models/phorge.js";
5
- import { SearchProjectResult } from "./models/project.js";
6
- import { SearchTaskResult, ManiphestPriority, ManiphestStatus } from "./models/maniphest.js";
5
+ import { Project } from "./models/project.js";
6
+ import { ManiphestTask, ManiphestPriority, ManiphestStatus } from "./models/maniphest.js";
7
7
  const fetchMocker = createFetchMock(vi);
8
8
  fetchMocker.enableMocks();
9
9
  afterEach(() => {
@@ -123,19 +123,19 @@ describe("Client", () => {
123
123
  await expect(client.createProject([{ type: "name", value: "New Project" }])).rejects.toThrow(PhorgeError);
124
124
  });
125
125
  });
126
- describe("editProject", () => {
126
+ describe("updateProject", () => {
127
127
  test("should return an updated project object on success", async () => {
128
128
  const mockResponse = { id: "1", phid: "PHID-PROJ-123" };
129
129
  fetchMocker.mockResponseOnce(JSON.stringify({ result: { object: mockResponse }, error_code: null, error_info: null }));
130
- const updatedProject = await client.editProject("PHID-PROJ-123", [{ type: "name", value: "Updated Project" }]);
130
+ const updatedProject = await client.updateProject("PHID-PROJ-123", [{ type: "name", value: "Updated Project" }]);
131
131
  expect(updatedProject).toEqual(mockResponse);
132
132
  });
133
133
  test("should throw a PhorgeError on failure", async () => {
134
134
  fetchMocker.mockResponseOnce(JSON.stringify({ error_code: "ERR_INVALID", error_info: "Invalid data" }));
135
- await expect(client.editProject("PHID-PROJ-123", [{ type: "name", value: "Updated Project" }])).rejects.toThrow(PhorgeError);
135
+ await expect(client.updateProject("PHID-PROJ-123", [{ type: "name", value: "Updated Project" }])).rejects.toThrow(PhorgeError);
136
136
  });
137
137
  });
138
- describe("searchTask", () => {
138
+ describe("searchManiphest", () => {
139
139
  test("should return a list of tasks on success", async () => {
140
140
  const mockResponse = [
141
141
  {
@@ -191,24 +191,24 @@ describe("Client", () => {
191
191
  }
192
192
  ];
193
193
  fetchMocker.mockResponseOnce(JSON.stringify({ result: { data: mockResponse }, error_code: null, error_info: null }));
194
- const tasks = await client.searchTask();
194
+ const tasks = await client.searchManiphest();
195
195
  expect(tasks).toEqual(mockResponse);
196
196
  });
197
197
  test("should throw a PhorgeError on failure", async () => {
198
198
  fetchMocker.mockResponseOnce(JSON.stringify({ error_code: "ERR_NOT_FOUND", error_info: "Task not found" }));
199
- await expect(client.searchTask()).rejects.toThrow(PhorgeError);
199
+ await expect(client.searchManiphest()).rejects.toThrow(PhorgeError);
200
200
  });
201
201
  });
202
- describe("createTask", () => {
202
+ describe("createManiphest", () => {
203
203
  test("should return a new task object on success", async () => {
204
204
  const mockResponse = { id: "2", phid: "PHID-TASK-456" };
205
205
  fetchMocker.mockResponseOnce(JSON.stringify({ result: { object: mockResponse }, error_code: null, error_info: null }));
206
- const newTask = await client.createTask([{ type: "title", value: "New Task" }]);
206
+ const newTask = await client.createManiphest([{ type: "title", value: "New Task" }]);
207
207
  expect(newTask).toEqual(mockResponse);
208
208
  });
209
209
  test("should throw a PhorgeError on failure", async () => {
210
210
  fetchMocker.mockResponseOnce(JSON.stringify({ error_code: "ERR_INVALID", error_info: "Invalid data" }));
211
- await expect(client.createTask([{ type: "title", value: "New Task" }])).rejects.toThrow(PhorgeError);
211
+ await expect(client.createManiphest([{ type: "title", value: "New Task" }])).rejects.toThrow(PhorgeError);
212
212
  });
213
213
  });
214
214
  describe("searchManiphestPriority", () => {
@@ -242,16 +242,16 @@ describe("Client", () => {
242
242
  await expect(client.searchManiphestPriority()).rejects.toThrow(PhorgeError);
243
243
  });
244
244
  });
245
- describe("updateTask", () => {
245
+ describe("updateManiphest", () => {
246
246
  test("should return an updated task object on success", async () => {
247
247
  const mockResponse = { id: "1", phid: "PHID-TASK-123" };
248
248
  fetchMocker.mockResponseOnce(JSON.stringify({ result: { object: mockResponse }, error_code: null, error_info: null }));
249
- const updatedTask = await client.updateTask("PHID-TASK-123", [{ type: "title", value: "Updated Task" }]);
249
+ const updatedTask = await client.updateManiphest("PHID-TASK-123", [{ type: "title", value: "Updated Task" }]);
250
250
  expect(updatedTask).toEqual(mockResponse);
251
251
  });
252
252
  test("should throw a PhorgeError on failure", async () => {
253
253
  fetchMocker.mockResponseOnce(JSON.stringify({ error_code: "ERR_INVALID", error_info: "Invalid data" }));
254
- await expect(client.updateTask("PHID-TASK-122", [{ type: "title", value: "Updated Task" }])).rejects.toThrow(PhorgeError);
254
+ await expect(client.updateManiphest("PHID-TASK-122", [{ type: "title", value: "Updated Task" }])).rejects.toThrow(PhorgeError);
255
255
  });
256
256
  });
257
257
  describe("searchUser", () => {