forked from github/plane
1e152c666c
* chore: moved app & space from apps to root * chore: modified workspace configuration * chore: modified dockerfiles for space and web * chore: modified icons for space * feat: updated files for new svg icons supported by next-images * chore: added /spaces base path for next * chore: added compose config for space * chore: updated husky configuration * chore: updated workflows for new configuration * chore: changed app name to web * fix: resolved build errors with web * chore: reset file tracing root for both projects * chore: added nginx config for deploy * fix: eslint and tsconfig settings for space app * husky setup fixes based on new dir * eslint fixes * prettier formatting --------- Co-authored-by: Henit Chobisa <chobisa.henit@gmail.com>
80 lines
1.6 KiB
TypeScript
80 lines
1.6 KiB
TypeScript
import type { IUserLite } from "./users";
|
|
|
|
export interface PaginatedUserNotification {
|
|
next_cursor: string;
|
|
prev_cursor: string;
|
|
next_page_results: boolean;
|
|
prev_page_results: boolean;
|
|
count: number;
|
|
total_pages: number;
|
|
extra_stats: null;
|
|
results: IUserNotification[];
|
|
}
|
|
|
|
export interface IUserNotification {
|
|
id: string;
|
|
created_at: Date;
|
|
updated_at: Date;
|
|
data: Data;
|
|
entity_identifier: string;
|
|
entity_name: string;
|
|
title: string;
|
|
message: null;
|
|
message_html: string;
|
|
message_stripped: null;
|
|
sender: string;
|
|
read_at: Date | null;
|
|
archived_at: Date | null;
|
|
snoozed_till: Date | null;
|
|
created_by: null;
|
|
updated_by: null;
|
|
workspace: string;
|
|
project: string;
|
|
triggered_by: string;
|
|
triggered_by_details: IUserLite;
|
|
receiver: string;
|
|
}
|
|
|
|
export interface Data {
|
|
issue: IIssueLite;
|
|
issue_activity: {
|
|
actor: string;
|
|
field: string;
|
|
id: string;
|
|
issue_comment: string | null;
|
|
new_value: string;
|
|
old_value: string;
|
|
verb: "created" | "updated";
|
|
};
|
|
}
|
|
|
|
export interface IIssueLite {
|
|
id: string;
|
|
name: string;
|
|
identifier: string;
|
|
state_name: string;
|
|
sequence_id: number;
|
|
state_group: string;
|
|
}
|
|
|
|
export type NotificationType = "created" | "assigned" | "watching" | null;
|
|
|
|
export interface INotificationParams {
|
|
snoozed?: boolean;
|
|
type?: NotificationType;
|
|
archived?: boolean;
|
|
read?: boolean;
|
|
}
|
|
|
|
export type NotificationCount = {
|
|
created_issues: number;
|
|
my_issues: number;
|
|
watching_issues: number;
|
|
};
|
|
|
|
export interface IMarkAllAsReadPayload {
|
|
archived?: boolean;
|
|
snoozed?: boolean;
|
|
type?: NotificationType;
|
|
}
|