kintone-as-code
Version:
A CLI tool for managing kintone applications as code with type-safe TypeScript schemas
70 lines • 1.89 kB
TypeScript
import type { AnyFieldProperties, FieldType } from 'kintone-effect-schema';
export interface AppFieldsConfig {
properties: Record<string, AnyFieldProperties>;
}
export interface AppSchema {
appId: number | string;
name: string;
description?: string;
fieldsConfig: AppFieldsConfig;
}
export interface PasswordAuth {
baseUrl: string;
username: string;
password: string;
}
export interface ApiTokenAuth {
baseUrl: string;
apiToken: string;
}
export type AuthConfig = PasswordAuth | ApiTokenAuth;
export interface EnvironmentConfig {
auth: AuthConfig;
}
export interface Config {
default: string;
environments: Record<string, EnvironmentConfig>;
}
export declare function defineAppSchema(schema: AppSchema): AppSchema;
export declare function getAppId(envVarName: string): string;
export type Mutable<T> = {
-readonly [P in keyof T]: Mutable<T[P]>;
};
export type DefaultValueType = string | readonly string[] | readonly {
code: string;
type: string;
}[];
export interface FieldUpdatePayload {
type: FieldType;
code: string;
label?: string;
noLabel?: boolean;
required?: boolean;
defaultValue?: DefaultValueType;
minLength?: string;
maxLength?: string;
minValue?: string;
maxValue?: string;
align?: 'HORIZONTAL' | 'VERTICAL';
options?: Record<string, {
label: string;
index: string;
}>;
unique?: boolean;
expression?: string;
hideExpression?: boolean;
digit?: boolean;
displayScale?: string;
unit?: string;
unitPosition?: 'BEFORE' | 'AFTER';
entities?: Array<{
code: string;
type: string;
}>;
defaultNowValue?: boolean;
protocol?: 'WEB' | 'CALL' | 'MAIL';
thumbnailSize?: '50' | '150' | '250' | '500';
openGroup?: boolean;
fields?: Record<string, any>;
}
//# sourceMappingURL=types.d.ts.map