UNPKG

vk-io

Version:

Modern VK API SDK for Node.js

64 lines (63 loc) 1.94 kB
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 };