@selfcommunity/types
Version:
Types to integrate a community created with SelfCommunity.
172 lines (171 loc) • 3.19 kB
TypeScript
/**
* Interface SCPrivateMessageThreadType.
* Thread Private Message Schema.
*/
import { SCUserType } from './user';
import { SCGroupType } from './group';
export interface SCPrivateMessageThreadType {
/**
* Id of the message
*/
id: number;
/**
* Sender User
*/
sender: SCUserType;
/**
* Group obj
*/
group: SCGroupType;
/**
*Receiver User
*/
receiver: SCUserType;
/**
* Message content
*/
message: string;
/**
* Send date time
*/
created_at: Date | string;
/**
* Message status: created, deleted or hidden message
*/
status: string;
/**
* file
*/
file?: SCPrivateMessageFileType;
}
/**
* Interface SCPrivateMessageSnippetType.
* Snippet Private Message Schema.
*/
export interface SCPrivateMessageSnippetType {
/**
* Id of the message
*/
id: number;
/**
* Headline
*/
headline: string;
/**
* Message
*/
message: string;
/**
* Sender User
*/
sender: SCUserType;
/**
*Receiver User
*/
receiver: SCUserType;
/**
*Group item
*/
group?: SCGroupType;
/**
* Send date time
*/
created_at: Date | string;
/**
* Last interaction date time
*/
last_message_at: Date;
/**
* Message status: created, deleted or hidden message
*/
thread_status: SCPrivateMessageStatusType;
}
/**
* Private Message status:
* created, deleted or hidden message
*/
export declare enum SCPrivateMessageStatusType {
CREATED = "created",
DELETED = "deleted",
HIDDEN = "hidden",
NEW = "new"
}
/**
* Private Message type:
* it can be user or group type
*/
export declare enum SCPrivateMessageType {
GROUP = "group",
USER = "user",
NEW = "new"
}
export interface SCPrivateMessageFileType {
/**
* The file id
*/
uuid?: string;
/**
* File name
*/
filename?: string;
/**
* File size
*/
filesize?: number;
/**
* The type of the file
*/
mimetype?: SCMessageFileType;
/**
* The duration (in seconds) of the file
*/
duration?: number;
/**
* File Url
*/
url?: string;
/**
* File thumbnail
*/
thumbnail?: string;
/**
* File Url(response)
*/
file_url?: string;
/**
* The file id(response)
*/
file_uuid?: string;
}
/**
* Private Message status:
* created, deleted or hidden message
*/
export declare enum SCMessageFileType {
DOCUMENT = "application/",
IMAGE = "image/",
VIDEO = "video/",
PDF = "application/pdf",
AUDIO = "audio/"
}
/**
* SCPrivateMessageUploadMediaType interface
*/
export interface SCPrivateMessageUploadMediaType {
file_url: string;
file_uuid: string;
}
/**
* SCPrivateMessageUploadThumbnailType interface
*/
export interface SCPrivateMessageUploadThumbnailType {
file_url: string;
file_uuid: string;
parent_file_uuid: string;
}
/**
* SCPrivateMessageUploadMediaChunkType interface
*/
export interface SCPrivateMessageUploadMediaChunkType {
file_uuid: string;
}