Rocket.Chat.ReactNative/app/definitions/rest/v1/im.ts

59 lines
1.3 KiB
TypeScript
Raw Normal View History

import type { IMessage, IMessageFromServer } from '../../IMessage';
import type { IServerRoom, RoomID, RoomType } from '../../IRoom';
import type { IUser } from '../../IUser';
export type ImEndpoints = {
'im.create': {
POST: (
params: (
| {
username: Exclude<IUser['username'], undefined>;
}
| {
usernames: string;
}
) & {
excludeSelf?: boolean;
}
) => {
room: {
t: RoomType;
rid: RoomID;
_id: RoomID;
usernames: IServerRoom['usernames'];
};
};
};
'im.files': {
GET: (params: { roomId: IServerRoom['_id']; count: number; sort: string | { uploadedAt: number }; query: string }) => {
files: IMessage[];
total: number;
};
};
'im.members': {
GET: (params: { roomId: IServerRoom['_id']; offset?: number; count?: number; filter?: string; status?: string[] }) => {
count: number;
offset: number;
members: IUser[];
total: number;
};
};
'im.history': {
GET: (params: { roomId: string; count: number; latest?: string }) => {
messages: IMessageFromServer[];
};
};
'im.close': {
POST: (params: { roomId: string }) => {};
};
'im.kick': {
POST: (params: { roomId: string; userId: string }) => {};
};
'im.delete': {
POST: (params: { roomId: string }) => {};
};
'im.leave': {
POST: (params: { roomId: string }) => {};
};
};