nodevk-ts
Version:
Simple Node.js module that allows you to interact with the VKontakte API.
52 lines (51 loc) • 1.56 kB
TypeScript
import { AttachmentPhoto, IMethodParams } from "../app.js";
import { RequestDataFile } from "../request.js";
import API from "./api.js";
export interface MessageUplodaServer {
upload_url: string;
album_id: number;
user_id: number;
}
interface SaveMessagesPhotoInfo extends IMethodParams {
photo: string;
server: string;
hash: string;
}
export interface CropInfo {
x: number;
y: number;
x2: number;
y2: number;
}
export interface CropPhotoInfo {
photo: AttachmentPhoto;
crop: CropInfo;
rect: CropInfo;
}
export interface PhotoSize {
height: number;
url: string;
type: 's' | 'm' | 'x' | 'o' | 'p' | 'q' | 'r';
width: number;
}
export interface PhotoObject {
album_id: number;
date: number;
id: number;
owner_id: number;
has_tags: boolean;
access_key?: string;
sizes: PhotoSize[];
text?: string;
}
export declare type File = RequestDataFile | string;
export declare type FileObject = File | Promise<File>;
export default class PhotosAPI extends API {
private api_name;
getMessagesUploadServer(peer_id: number): Promise<MessageUplodaServer>;
saveMessagesPhoto(info: SaveMessagesPhotoInfo): Promise<PhotoObject[]>;
uploadPhoto(server: MessageUplodaServer, photo: RequestDataFile): Promise<SaveMessagesPhotoInfo>;
uploadMessagePhoto(peer_id: number, photo: FileObject): Promise<PhotoObject>;
uploadMessagePhotos(peer_id: number, photo: FileObject[]): Promise<PhotoObject[]>;
}
export {};