UNPKG

@jd-data-limited/easy-fm

Version:

easy-fm is a Node.js module that allows you to interact with a [FileMaker database stored](https://www.claris.com/filemaker/) on a [FileMaker server](https://www.claris.com/filemaker/server/). This module interacts with your server using the [FileMaker

98 lines (97 loc) 2.38 kB
export declare enum ApiFieldTypes { NORMAL = "normal", CALCULATION = "calculation", SUMMARY = "summary" } export declare enum ApiFieldDisplayTypes { EDIT_TEXT = "editText", POPUP_LIST = "popupList", CHECKBOX = "checkBox", RADIO_BUTTONS = "radioButtons", SELECTION_LIST = "selectionList", CALENDAR = "calendar", SECURE_TEXT = "secureText" } export declare enum ApiFieldResultTypes { TEXT = "text", NUMBER = "number", DATE = "date", TIME = "time", TIMESTAMP = "timeStamp", CONTAINER = "container" } export interface ApiMessage { code: string; message: string; } export interface ApiResults<T = unknown> { response?: null | T & { scriptError?: string; }; messages: ApiMessage[]; httpStatus: number; } export interface ApiLayout { name: string; isFolder?: boolean; folderLayoutNames?: ApiLayout[]; } export interface ApiLayoutMetadata { fieldMetaData: ApiFieldMetadata[]; portalMetaData: Record<string, ApiFieldMetadata[]>; valueLists: ApiValueList[]; } export interface ApiFieldMetadata { name: string; type: ApiFieldTypes; displayType: ApiFieldDisplayTypes; result: ApiFieldResultTypes; global: boolean; autoEnter: boolean; fourDigitYear: boolean; maxRepeat: number; maxCharacters: number; notEmpty: boolean; numeric: boolean; repetitions: number; timeOfDay: boolean; valueList: string; } export interface ApiValueList { name: string; type: string; values: Array<{ value: string; displayName: string; }>; } export interface ApiScriptResult { scriptError: string; scriptResult?: string; } export interface ApiRecordResponseObj { data: ApiRowDataDef[]; dataInfo: ApiResultSetObj; } export type ApiFieldData = Record<string, string | number>; export type ApiPortalData = Record<string, ApiFieldData[]>; export interface ApiResultSetObj { database: string; layout: string; table: string; totalRecordCount: number; foundCount: number; returnedCount: number; } export interface ApiRowDataDef { fieldData: ApiFieldData; portalData: ApiPortalData; modId: string; recordId: string; portalDataInfo?: Array<{ database: string; table: string; foundCount: number; returnedCount: number; }>; }