vk-io
Version:
Modern VK API SDK for Node.js
64 lines (63 loc) • 1.94 kB
TypeScript
import { Context, ContextFactoryOptions, ContextDefaultState } from './context';
import { Attachmentable } from '../shared/attachmentable';
import { IPhotoAttachmentPayload } from '../attachments';
import { kSerializeData } from '../../utils/constants';
export type GroupUpdateContextType = 'group_update';
export type GroupUpdateContextSubType = 'group_change_photo' | 'group_officers_edit' | 'group_change_settings';
export interface IGroupUpdateContextPayload {
user_id: number;
admin_id: number;
level_old?: number;
level_new?: number;
changes?: Record<string, {
old_value: string;
new_value: string;
}>;
photo?: IPhotoAttachmentPayload;
}
export type GroupUpdateContextOptions<S> = ContextFactoryOptions<IGroupUpdateContextPayload, S>;
declare class GroupUpdateContext<S = ContextDefaultState> extends Context<IGroupUpdateContextPayload, S, GroupUpdateContextType, GroupUpdateContextSubType> {
constructor(options: GroupUpdateContextOptions<S>);
/**
* Checks is change photo
*/
get isChangePhoto(): boolean;
/**
* Checks is change officers
*/
get isChangeOfficers(): boolean;
/**
* Checks is change settings
*/
get isChangeSettings(): boolean;
/**
* Returns the identifier admin
*/
get adminId(): number | undefined;
/**
* Returns the identifier user
*/
get userId(): number;
/**
* Returns the old level permission
*/
get oldLevel(): number | undefined;
/**
* Returns the new level permission
*/
get newLevel(): number | undefined;
/**
* Returns the changes settings
*/
get changes(): Record<string, {
old_value: string;
new_value: string;
}> | undefined;
/**
* Returns the custom data
*/
[kSerializeData](): object;
}
interface GroupUpdateContext extends Attachmentable {
}
export { GroupUpdateContext };