UNPKG

@sysdoc/sharepoint-utils

Version:

Sysdoc's core Sharepoint utilities

37 lines (36 loc) 1.56 kB
/*! * Copyright Sysdoc @ 2019 */ /// <reference types="sharepoint" /> import { Dictionary, ILogger } from "@sysdoc/utilities"; import { ExecutorFn } from "../util/executor"; import { IPnPField } from "./IPnPField"; import { ISPFieldsFilterStrategy } from "./ISPFieldsFilterStrategy"; import { ISPListItem } from "./ISPListItem"; import { ISPListItemSerializer } from "./ISPListItemSerializer"; export interface ISPBasicListProviderConfig { listTitle: string; webUrl?: string; fields?: Dictionary<string>; logger: ILogger; fieldsFilterStrategy?: ISPFieldsFilterStrategy; } export declare class SPBasicListProvider<T extends ISPListItem> implements ISPListItemSerializer<T> { _ready: Promise<any>; listTitle: string; logger: ILogger; webUrl: string; fields: Dictionary<string>; schema: Dictionary<IPnPField>; filterStrategy: ISPFieldsFilterStrategy; constructor(cfg: ISPBasicListProviderConfig); itemToJson(item: SP.ListItem<any>): Partial<T>; jsonToItem(json: T, item: SP.ListItem<any>): SP.ListItem<any>; update(obj: T, exec?: ExecutorFn): Promise<Partial<T>>; create(obj: T, exec?: ExecutorFn, folderUrl?: string): Promise<Partial<T>>; save(obj: T, exec?: ExecutorFn): Promise<Partial<T>>; getByQuery(query: SP.CamlQuery, exec?: ExecutorFn): Promise<Partial<T>[]>; getAll(exec?: ExecutorFn): Promise<Partial<T>[]>; get(key: number, exec?: ExecutorFn): Promise<Partial<T>>; delete(key: number, exec?: ExecutorFn): Promise<void>; }