Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@makeplane/plane-node-sdk",
"version": "0.2.11",
"version": "0.2.12",
"description": "Node SDK for Plane",
"author": "Plane <engineering@plane.so>",
"repository": {
Expand Down
8 changes: 4 additions & 4 deletions src/api/Projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { BaseResource } from "./BaseResource";
import { Configuration } from "../Configuration";
import { Project, CreateProject, UpdateProject, ListProjectsParams } from "../models/Project";
import { PaginatedResponse } from "../models/common";
import { User } from "../models/User";
import { ProjectMember } from "../models/Member";
import { ProjectFeatures, UpdateProjectFeatures } from "../models/ProjectFeatures";

/**
Expand Down Expand Up @@ -54,10 +54,10 @@ export class Projects extends BaseResource {
}

/**
* Get project members
* Get project members with their role information.
*/
async getMembers(workspaceSlug: string, projectId: string): Promise<User[]> {
return this.get<User[]>(`/workspaces/${workspaceSlug}/projects/${projectId}/members/`);
async getMembers(workspaceSlug: string, projectId: string): Promise<ProjectMember[]> {
return this.get<ProjectMember[]>(`/workspaces/${workspaceSlug}/projects/${projectId}/members/`);
}

/**
Expand Down
13 changes: 13 additions & 0 deletions src/api/WorkItemTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,17 @@ export class WorkItemTypes extends BaseResource {
async list(workspaceSlug: string, projectId: string, params?: ListWorkItemTypesParams): Promise<WorkItemType[]> {
return this.get<WorkItemType[]>(`/workspaces/${workspaceSlug}/projects/${projectId}/work-item-types/`, params);
}

/**
* Import workspace-level work item types into a project.
*
* @param workItemTypeIds - IDs of the workspace work item types to import.
* @returns The resulting project-level work item types after import.
*/
async importToProject(workspaceSlug: string, projectId: string, workItemTypeIds: string[]): Promise<WorkItemType[]> {
return this.post<WorkItemType[]>(
`/workspaces/${workspaceSlug}/projects/${projectId}/work-item-types/import-work-item-types/`,
{ work_item_type_ids: workItemTypeIds }
);
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
}
8 changes: 4 additions & 4 deletions src/api/Workspace.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { BaseResource } from "./BaseResource";
import { Configuration } from "../Configuration";
import { User } from "../models/User";
import { WorkspaceMember } from "../models/Member";
import { UpdateWorkspaceFeatures, WorkspaceFeatures } from "../models/WorkspaceFeatures";

/**
Expand All @@ -13,10 +13,10 @@ export class Workspace extends BaseResource {
}

/**
* Get workspace members
* Get workspace members with their role information.
*/
async getMembers(workspaceSlug: string): Promise<User[]> {
return this.get<User[]>(`/workspaces/${workspaceSlug}/members/`);
async getMembers(workspaceSlug: string): Promise<WorkspaceMember[]> {
return this.get<WorkspaceMember[]>(`/workspaces/${workspaceSlug}/members/`);
}

/**
Expand Down
23 changes: 23 additions & 0 deletions src/models/Member.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { User } from "./User";

/**
* A project member — a User with an additional role and role_slug field.
*
* Returned by Projects.getMembers(). The role field is the numeric role value
* (e.g. 20 = Member, 15 = Viewer, 10 = Guest, 5 = Viewer), role_slug is the
* human-readable equivalent (e.g. "member", "viewer").
*/
export interface ProjectMember extends User {
role: number | null;
role_slug: string | null;
}

/**
* A workspace member — a User with an additional role and role_slug field.
*
* Returned by Workspace.getMembers().
*/
export interface WorkspaceMember extends User {
role: number | null;
role_slug: string | null;
}
1 change: 1 addition & 0 deletions src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export * from "./InitiativeLabel";
export * from "./Intake";
export * from "./Label";
export * from "./Link";
export * from "./Member";
export * from "./Milestone";
export * from "./Module";
export * from "./OAuth";
Expand Down
Loading