60 lines
1.1 KiB
TypeScript
Executable File
60 lines
1.1 KiB
TypeScript
Executable File
export interface Group {
|
|
id: number;
|
|
name: string;
|
|
description?: string;
|
|
roles: {
|
|
id?: number;
|
|
name: string;
|
|
members: { id: string | number; name: string }[];
|
|
documents?: {
|
|
id: number;
|
|
name: string;
|
|
description?: string;
|
|
visibility: string;
|
|
createdAt: string | null;
|
|
deadline: string | null;
|
|
signatures: DocumentSignature[];
|
|
status?: string;
|
|
files?: Array<{ name: string; url: string }>;
|
|
}[];
|
|
}[];
|
|
}
|
|
|
|
export interface Message {
|
|
id: number;
|
|
sender: string;
|
|
text?: string;
|
|
time: string;
|
|
type: 'text' | 'file';
|
|
fileName?: string;
|
|
fileData?: string;
|
|
}
|
|
|
|
export interface MemberMessages {
|
|
memberId: string;
|
|
messages: Message[];
|
|
}
|
|
|
|
export interface DocumentSignature {
|
|
signed: boolean;
|
|
member: {
|
|
name: string;
|
|
};
|
|
signedAt?: string;
|
|
}
|
|
|
|
export interface RequestParams {
|
|
processId: number;
|
|
processName: string;
|
|
roleId: number;
|
|
roleName: string;
|
|
documentId: number;
|
|
documentName: string;
|
|
}
|
|
|
|
export interface Notification {
|
|
memberId: string;
|
|
text: string;
|
|
time: string;
|
|
}
|