plane/app/types/users.d.ts
sriram veeraghanta 1538b99a28 removing trubo
2023-04-21 19:30:36 -04:00

110 lines
2.3 KiB
TypeScript

import { IIssue, IIssueLite, IWorkspace, NestedKeyOf, Properties } from "./";
export interface IUser {
id: readonly string;
last_login: readonly Date;
avatar: string;
username: string;
mobile_number: string;
email: string;
first_name: string;
last_name: string;
date_joined: readonly Date;
created_at: readonly Date;
updated_at: readonly Date;
last_location: readonly string;
created_location: readonly string;
is_email_verified: boolean;
is_onboarded: boolean;
token: string;
role: string;
my_issues_prop?: {
properties: Properties;
groupBy: NestedKeyOf<IIssue> | null;
};
[...rest: string]: any;
}
export interface ICurrentUserResponse {
assigned_issues: number;
user: IUser;
workspace_invites: number;
}
export interface IUserLite {
readonly id: string;
first_name: string;
last_name: string;
email: string;
avatar: string;
created_at: Date;
is_bot: boolean;
}
export interface IUserActivity {
created_date: string;
activity_count: number;
}
export interface IUserStateDistribution {
state_group: string;
state_count: number;
}
export interface IUserWorkspaceDashboard {
assigned_issues_count: number;
completed_issues_count: number;
issue_activities: IUserActivity[];
issues_due_week_count: number;
overdue_issues: IIssueLite[];
completed_issues: {
week_in_month: number;
completed_count: number;
}[];
pending_issues_count: number;
state_distribution: IUserStateDistribution[];
upcoming_issues: IIssueLite[];
}
export interface IUserDetailedActivity {
actor: string;
actor_detail: IUserLite;
attachments: any[];
comment: string;
created_at: string;
created_by: string | null;
field: string;
id: string;
issue: string;
issue_comment: string | null;
new_identifier: string | null;
new_value: string | null;
old_identifier: string | null;
old_value: string | null;
project: string;
updated_at: string;
updated_by: string | null;
verb: string;
workspace: string;
}
export interface IUserActivityResponse {
count: number;
extra_stats: null;
next_cursor: string;
next_page_results: boolean;
prev_cursor: string;
prev_page_results: boolean;
results: IUserDetailedActivity[];
total_pages: number;
}
export type UserAuth = {
isMember: boolean;
isOwner: boolean;
isViewer: boolean;
isGuest: boolean;
};