SYMBOL INDEX (9517 symbols across 1621 files) FILE: apps/nestjs-backend/src/app.module.ts constant CONDITIONAL_MODULE_TIMEOUT (line 60) | const CONDITIONAL_MODULE_TIMEOUT = isTestOrCI ? 60000 : 5000; class AppModule (line 143) | class AppModule { method register (line 144) | static register(customModuleMetadata: ModuleMetadata) { FILE: apps/nestjs-backend/src/bootstrap.ts function setUpAppMiddleware (line 19) | async function setUpAppMiddleware(app: INestApplication, configService: ... function bootstrap (line 42) | async function bootstrap() { function getAvailablePort (line 86) | async function getAvailablePort(dPort: number | string): Promise { FILE: apps/nestjs-backend/src/cache/cache.module.ts type CacheModuleOptions (line 5) | interface CacheModuleOptions { class CacheModule (line 16) | class CacheModule extends CacheModuleClass { method register (line 17) | static register(options: typeof OPTIONS_TYPE): DynamicModule { FILE: apps/nestjs-backend/src/cache/cache.service.ts class CacheService (line 9) | class CacheService { method constructor (line 11) | constructor(private readonly cacheManager: Keyv) {} method getKeyv (line 14) | getKeyv(): Keyv { method getRedisClient (line 22) | private getRedisClient(): Redis | undefined { method setnx (line 40) | async setnx( method incr (line 69) | async incr(key: TKey, ttlSeconds?: number): Prom... method warnNotSetTTL (line 90) | private warnNotSetTTL(key: string, ttl?: number) { method get (line 96) | async get(key: TKey): Promise( method setDetail (line 116) | async setDetail( method del (line 126) | async del(key: TKey): Promise { method getMany (line 130) | async getMany(keys: TKey[]): Promise(key: TKey, ttl: number | string): P... FILE: apps/nestjs-backend/src/cache/types.ts type ICacheStore (line 9) | interface ICacheStore { type IAttachmentSignatureCache (line 52) | interface IAttachmentSignatureCache { type IAttachmentUploadCache (line 58) | interface IAttachmentUploadCache { type IAttachmentLocalTokenCache (line 64) | interface IAttachmentLocalTokenCache { type IAttachmentPreviewCache (line 70) | interface IAttachmentPreviewCache { type IOauth2State (line 75) | interface IOauth2State { type IResetPasswordEmailCache (line 79) | interface IResetPasswordEmailCache { type IOAuthCodeState (line 83) | interface IOAuthCodeState { type IOAuthTxnStore (line 96) | interface IOAuthTxnStore { type OperationName (line 107) | enum OperationName { type IUndoRedoOperationBase (line 122) | interface IUndoRedoOperationBase { type IUpdateRecordsOperation (line 130) | interface IUpdateRecordsOperation extends IUndoRedoOperationBase { type IUpdateRecordsOrderOperation (line 148) | interface IUpdateRecordsOrderOperation extends IUndoRedoOperationBase { type ICreateRecordsOperation (line 165) | interface ICreateRecordsOperation extends IUndoRedoOperationBase { type IDeleteRecordsOperation (line 175) | interface IDeleteRecordsOperation extends Omit; FILE: apps/nestjs-backend/src/configs/base.config.ts type IBaseConfig (line 23) | type IBaseConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/bootstrap.config.ts type INextJsConfig (line 24) | type INextJsConfig = ConfigType; type ISecurityWebConfig (line 25) | type ISecurityWebConfig = ConfigType; type IApiDocConfig (line 26) | type IApiDocConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/cache.config.ts type ICacheConfig (line 18) | type ICacheConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/config.module.ts class ConfigModule (line 32) | class ConfigModule { method register (line 33) | static register(): DynamicModule { FILE: apps/nestjs-backend/src/configs/config.spec.ts type IMockConfigService (line 6) | type IMockConfigService = Partial; FILE: apps/nestjs-backend/src/configs/logger.config.ts type ILoggerConfig (line 13) | type ILoggerConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/mail.config.ts type IMailConfig (line 40) | type IMailConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/oauth.config.ts type IOAuthConfig (line 18) | type IOAuthConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/storage.ts type IStorageConfig (line 50) | type IStorageConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/threshold.config.ts type IThresholdConfig (line 58) | type IThresholdConfig = ConfigType; FILE: apps/nestjs-backend/src/configs/trash.config.ts type ITrashConfig (line 26) | type ITrashConfig = ReturnType; FILE: apps/nestjs-backend/src/const.ts constant X_REQUEST_ID (line 1) | const X_REQUEST_ID = 'X-Request-Id'; constant AUTH_SESSION_COOKIE_NAME (line 2) | const AUTH_SESSION_COOKIE_NAME = 'auth_session'; FILE: apps/nestjs-backend/src/custom.exception.ts class CustomHttpException (line 7) | class CustomHttpException extends HttpException { method constructor (line 11) | constructor( class TemplateAppTokenNotAllowedException (line 53) | class TemplateAppTokenNotAllowedException extends HttpException { method constructor (line 54) | constructor() { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/aggregation-function.abstract.ts method constructor (line 11) | constructor( method dbTableName (line 26) | get dbTableName() { method tableAlias (line 30) | get tableAlias() { method compiler (line 34) | compiler(builderClient: Knex.QueryBuilder, aggFunc: StatisticsFunc, alia... method count (line 95) | count(): string { method empty (line 99) | empty(): string { method filled (line 103) | filled(): string { method unique (line 107) | unique(): string { method max (line 111) | max(): string { method min (line 115) | min(): string { method sum (line 119) | sum(): string { method average (line 123) | average(): string { method checked (line 127) | checked(): string { method unChecked (line 131) | unChecked(): string { method earliestDate (line 145) | earliestDate(): string { method latestDate (line 149) | latestDate(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/aggregation-function.interface.ts type IAggregationFunctionHandler (line 1) | type IAggregationFunctionHandler = () => string; type IAggregationFunctionInterface (line 3) | interface IAggregationFunctionInterface { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/aggregation-query.abstract.ts method constructor (line 12) | constructor( method dbTableName (line 21) | get dbTableName() { method tableAlias (line 25) | get tableAlias() { method appendBuilder (line 29) | appendBuilder(): Knex.QueryBuilder { method validAggregationField (line 90) | private validAggregationField( method getAggregationAdapter (line 112) | private getAggregationAdapter(field: FieldCore): AbstractAggregationFunc... FILE: apps/nestjs-backend/src/db-provider/aggregation-query/aggregation-query.interface.ts type IAggregationQueryInterface (line 3) | interface IAggregationQueryInterface { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/postgres/aggregation-function.postgres.ts class AggregationFunctionPostgres (line 5) | class AggregationFunctionPostgres extends AbstractAggregationFunction { method unique (line 6) | unique(): string { method percentUnique (line 18) | percentUnique(): string { method dateRangeOfDays (line 34) | dateRangeOfDays(): string { method dateRangeOfMonths (line 38) | dateRangeOfMonths(): string { method totalAttachmentSize (line 42) | totalAttachmentSize(): string { method percentEmpty (line 52) | percentEmpty(): string { method percentFilled (line 58) | percentFilled(): string { method checked (line 64) | checked(): string { method unChecked (line 70) | unChecked(): string { method percentChecked (line 78) | percentChecked(): string { method percentUnChecked (line 86) | percentUnChecked(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/postgres/aggregation-query.postgres.ts class AggregationQueryPostgres (line 7) | class AggregationQueryPostgres extends AbstractAggregationQuery { method coreAggregation (line 8) | private coreAggregation(field: FieldCore): AggregationFunctionPostgres { method booleanAggregation (line 16) | booleanAggregation(field: FieldCore): AggregationFunctionPostgres { method numberAggregation (line 20) | numberAggregation(field: FieldCore): AggregationFunctionPostgres { method dateTimeAggregation (line 24) | dateTimeAggregation(field: FieldCore): AggregationFunctionPostgres { method stringAggregation (line 28) | stringAggregation(field: FieldCore): AggregationFunctionPostgres { method jsonAggregation (line 32) | jsonAggregation(field: FieldCore): AggregationFunctionPostgres { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/postgres/multiple-value/multiple-value-aggregation.adapter.ts class MultipleValueAggregationAdapter (line 3) | class MultipleValueAggregationAdapter extends AggregationFunctionPostgres { method toNumericSafe (line 4) | private toNumericSafe(columnExpression: string): string { method unique (line 10) | unique(): string { method max (line 19) | max(): string { method min (line 28) | min(): string { method sum (line 37) | sum(): string { method average (line 46) | average(): string { method percentUnique (line 55) | percentUnique(): string { method dateRangeOfDays (line 64) | dateRangeOfDays(): string { method dateRangeOfMonths (line 73) | dateRangeOfMonths(): string { method checked (line 82) | checked(): string { method unChecked (line 88) | unChecked(): string { method percentChecked (line 96) | percentChecked(): string { method percentUnChecked (line 104) | percentUnChecked(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/postgres/single-value/single-value-aggregation.adapter.ts class SingleValueAggregationAdapter (line 3) | class SingleValueAggregationAdapter extends AggregationFunctionPostgres { method dateRangeOfDays (line 4) | dateRangeOfDays(): string { method dateRangeOfMonths (line 10) | dateRangeOfMonths(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/sqlite/aggregation-function.sqlite.ts class AggregationFunctionSqlite (line 5) | class AggregationFunctionSqlite extends AbstractAggregationFunction { method unique (line 6) | unique(): string { method percentUnique (line 18) | percentUnique(): string { method dateRangeOfDays (line 35) | dateRangeOfDays(): string { method dateRangeOfMonths (line 39) | dateRangeOfMonths(): string { method totalAttachmentSize (line 43) | totalAttachmentSize(): string { method percentEmpty (line 53) | percentEmpty(): string { method percentFilled (line 59) | percentFilled(): string { method checked (line 65) | checked(): string { method unChecked (line 69) | unChecked(): string { method percentChecked (line 77) | percentChecked(): string { method percentUnChecked (line 85) | percentUnChecked(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/sqlite/aggregation-query.sqlite.ts class AggregationQuerySqlite (line 7) | class AggregationQuerySqlite extends AbstractAggregationQuery { method coreAggregation (line 8) | private coreAggregation(field: FieldCore): AggregationFunctionSqlite { method booleanAggregation (line 16) | booleanAggregation(field: FieldCore): AggregationFunctionSqlite { method numberAggregation (line 20) | numberAggregation(field: FieldCore): AggregationFunctionSqlite { method dateTimeAggregation (line 24) | dateTimeAggregation(field: FieldCore): AggregationFunctionSqlite { method stringAggregation (line 28) | stringAggregation(field: FieldCore): AggregationFunctionSqlite { method jsonAggregation (line 32) | jsonAggregation(field: FieldCore): AggregationFunctionSqlite { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/sqlite/multiple-value/multiple-value-aggregation.adapter.ts class MultipleValueAggregationAdapter (line 3) | class MultipleValueAggregationAdapter extends AggregationFunctionSqlite { method unique (line 4) | unique(): string { method max (line 13) | max(): string { method min (line 22) | min(): string { method sum (line 31) | sum(): string { method average (line 40) | average(): string { method percentUnique (line 49) | percentUnique(): string { method dateRangeOfDays (line 58) | dateRangeOfDays(): string { method dateRangeOfMonths (line 67) | dateRangeOfMonths(): string { method checked (line 76) | checked(): string { method unChecked (line 84) | unChecked(): string { method percentChecked (line 92) | percentChecked(): string { method percentUnChecked (line 100) | percentUnChecked(): string { FILE: apps/nestjs-backend/src/db-provider/aggregation-query/sqlite/single-value/single-value-aggregation.adapter.ts class SingleValueAggregationAdapter (line 3) | class SingleValueAggregationAdapter extends AggregationFunctionSqlite { method dateRangeOfDays (line 4) | dateRangeOfDays(): string { method dateRangeOfMonths (line 12) | dateRangeOfMonths(): string { FILE: apps/nestjs-backend/src/db-provider/base-query/abstract.ts method constructor (line 4) | constructor(protected readonly knex: Knex) {} FILE: apps/nestjs-backend/src/db-provider/base-query/base-query.postgres.ts class BaseQueryPostgres (line 4) | class BaseQueryPostgres extends BaseQueryAbstract { method constructor (line 5) | constructor(protected readonly knex: Knex) { method jsonSelect (line 9) | jsonSelect( FILE: apps/nestjs-backend/src/db-provider/base-query/base-query.sqlite.ts class BaseQuerySqlite (line 4) | class BaseQuerySqlite extends BaseQueryAbstract { method constructor (line 5) | constructor(protected readonly knex: Knex) { method jsonSelect (line 9) | jsonSelect( FILE: apps/nestjs-backend/src/db-provider/create-database-column-query/create-database-column-field-visitor.interface.ts type ICreateDatabaseColumnContext (line 9) | interface ICreateDatabaseColumnContext { FILE: apps/nestjs-backend/src/db-provider/create-database-column-query/create-database-column-field-visitor.postgres.ts class CreatePostgresDatabaseColumnFieldVisitor (line 44) | class CreatePostgresDatabaseColumnFieldVisitor implements IFieldVisitor<... method constructor (line 47) | constructor(private readonly context: ICreateDatabaseColumnContext) {} method getSql (line 49) | getSql(): string[] { method getSchemaType (line 53) | private getSchemaType(dbFieldType: DbFieldType): SchemaType { method createStandardColumn (line 75) | private createStandardColumn(field: FieldCore): void { method createFormulaColumns (line 88) | private createFormulaColumns(field: FormulaFieldCore): void { method getPostgresColumnType (line 147) | private getPostgresColumnType(dbFieldType: DbFieldType): string { method visitNumberField (line 169) | visitNumberField(field: NumberFieldCore): void { method visitSingleLineTextField (line 173) | visitSingleLineTextField(field: SingleLineTextFieldCore): void { method visitLongTextField (line 177) | visitLongTextField(field: LongTextFieldCore): void { method visitAttachmentField (line 181) | visitAttachmentField(field: AttachmentFieldCore): void { method visitCheckboxField (line 185) | visitCheckboxField(field: CheckboxFieldCore): void { method visitDateField (line 189) | visitDateField(field: DateFieldCore): void { method visitRatingField (line 193) | visitRatingField(field: RatingFieldCore): void { method visitAutoNumberField (line 197) | visitAutoNumberField(_field: AutoNumberFieldCore): void { method visitLinkField (line 207) | visitLinkField(field: LinkFieldCore): void { method isSymmetricField (line 236) | private isSymmetricField(_field: LinkFieldCore): boolean { method createForeignKeyForLinkField (line 244) | private createForeignKeyForLinkField(field: LinkFieldCore): void { method visitRollupField (line 362) | visitRollupField(field: RollupFieldCore): void { method visitConditionalRollupField (line 367) | visitConditionalRollupField(field: ConditionalRollupFieldCore): void { method visitSingleSelectField (line 372) | visitSingleSelectField(field: SingleSelectFieldCore): void { method visitMultipleSelectField (line 376) | visitMultipleSelectField(field: MultipleSelectFieldCore): void { method visitButtonField (line 380) | visitButtonField(field: ButtonFieldCore): void { method visitFormulaField (line 385) | visitFormulaField(field: FormulaFieldCore): void { method visitCreatedTimeField (line 389) | visitCreatedTimeField(field: CreatedTimeFieldCore): void { method visitLastModifiedTimeField (line 403) | visitLastModifiedTimeField(field: LastModifiedTimeFieldCore): void { method visitUserField (line 428) | visitUserField(field: UserFieldCore): void { method visitCreatedByField (line 432) | visitCreatedByField(field: CreatedByFieldCore): void { method visitLastModifiedByField (line 444) | visitLastModifiedByField(field: LastModifiedByFieldCore): void { FILE: apps/nestjs-backend/src/db-provider/create-database-column-query/create-database-column-field-visitor.sqlite.ts class CreateSqliteDatabaseColumnFieldVisitor (line 44) | class CreateSqliteDatabaseColumnFieldVisitor implements IFieldVisitor( function createNumberField (line 59) | function createNumberField(id: string, dbFieldName: string): NumberField... function createNumberArrayField (line 69) | function createNumberArrayField(id: string, dbFieldName: string): Number... function createTextField (line 75) | function createTextField(id: string, dbFieldName: string): SingleLineTex... function createDateField (line 85) | function createDateField(id: string, dbFieldName: string): DateFieldCore { function createCheckboxField (line 101) | function createCheckboxField(id: string, dbFieldName: string): CheckboxF... function createUserField (line 111) | function createUserField( FILE: apps/nestjs-backend/src/db-provider/filter-query/cell-value-filter.abstract.ts class FieldReferenceCompatibilityException (line 54) | class FieldReferenceCompatibilityException extends BadRequestException { method constructor (line 57) | constructor(sourceField: string, referenceField: string) { method constructor (line 70) | constructor( method ensureLiteralValue (line 84) | protected ensureLiteralValue(value: IFilterValue, operator: IFilterOpera... method resolveFieldReference (line 92) | protected resolveFieldReference(value: IFieldReferenceValue): string { method getFieldReferenceMetadata (line 108) | protected getFieldReferenceMetadata(fieldId: string): FieldCore | undefi... method getComparableReferenceField (line 112) | protected getComparableReferenceField(value: IFieldReferenceValue): Fiel... method compiler (line 129) | compiler( method isOperatorHandler (line 168) | isOperatorHandler( method isExactlyOperatorHandler (line 186) | isExactlyOperatorHandler( method containsOperatorHandler (line 202) | containsOperatorHandler( method isGreaterOperatorHandler (line 221) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 239) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 257) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 275) | isLessEqualOperatorHandler( method isAnyOfOperatorHandler (line 293) | isAnyOfOperatorHandler( method hasAllOfOperatorHandler (line 316) | hasAllOfOperatorHandler( method isNotExactlyOperatorHandler (line 325) | isNotExactlyOperatorHandler( method isWithInOperatorHandler (line 334) | isWithInOperatorHandler( method isEmptyOperatorHandler (line 343) | isEmptyOperatorHandler( method isNotEmptyOperatorHandler (line 366) | isNotEmptyOperatorHandler( method createSqlPlaceholders (line 381) | protected createSqlPlaceholders(values: unknown[]): string { method getFilterDateTimeRange (line 385) | protected getFilterDateTimeRange( FILE: apps/nestjs-backend/src/db-provider/filter-query/cell-value-filter.interface.ts type ICellValueFilterHandler (line 5) | type ICellValueFilterHandler = ( type ICellValueFilterInterface (line 12) | interface ICellValueFilterInterface { FILE: apps/nestjs-backend/src/db-provider/filter-query/filter-query.abstract.ts method constructor (line 37) | constructor( method appendQueryBuilder (line 46) | appendQueryBuilder(): Knex.QueryBuilder { method parseFilters (line 52) | private parseFilters( method parseFilter (line 77) | private parseFilter( method getFilterAdapter (line 156) | private getFilterAdapter(field: FieldCore): AbstractCellValueFilter { method preProcessRemoveNullAndReplaceMe (line 174) | private preProcessRemoveNullAndReplaceMe(filter?: IFilter) { method processFilterItem (line 191) | private processFilterItem(filterItem: IFilterItem, replaceUserId?: strin... method replaceMeTagInValue (line 201) | private replaceMeTagInValue( method shouldKeepFilterItem (line 220) | private shouldKeepFilterItem(value: unknown, field: FieldCore, operator:... FILE: apps/nestjs-backend/src/db-provider/filter-query/filter-query.interface.ts type IFilterQueryInterface (line 3) | interface IFilterQueryInterface { FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/cell-value-filter.postgres.ts class CellValueFilterPostgres (line 13) | class CellValueFilterPostgres extends AbstractCellValueFilter { method isNotOperatorHandler (line 14) | isNotOperatorHandler( method doesNotContainOperatorHandler (line 31) | doesNotContainOperatorHandler( method isNoneOfOperatorHandler (line 42) | isNoneOfOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/multiple-value/multiple-boolean-cell-value-filter.adapter.ts class MultipleBooleanCellValueFilterAdapter (line 7) | class MultipleBooleanCellValueFilterAdapter extends CellValueFilterPostg... method isOperatorHandler (line 8) | isOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/multiple-value/multiple-datetime-cell-value-filter.adapter.ts class MultipleDatetimeCellValueFilterAdapter (line 6) | class MultipleDatetimeCellValueFilterAdapter extends CellValueFilterPost... method isOperatorHandler (line 7) | isOperatorHandler( method isNotOperatorHandler (line 25) | isNotOperatorHandler( method isGreaterOperatorHandler (line 44) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 62) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 80) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 98) | isLessEqualOperatorHandler( method isWithInOperatorHandler (line 116) | isWithInOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/multiple-value/multiple-json-cell-value-filter.adapter.ts class MultipleJsonCellValueFilterAdapter (line 15) | class MultipleJsonCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 16) | isOperatorHandler( method isNotOperatorHandler (line 57) | isNotOperatorHandler( method isExactlyOperatorHandler (line 100) | isExactlyOperatorHandler( method isAnyOfOperatorHandler (line 132) | isAnyOfOperatorHandler( method isNoneOfOperatorHandler (line 159) | isNoneOfOperatorHandler( method hasAllOfOperatorHandler (line 191) | hasAllOfOperatorHandler( method isNotExactlyOperatorHandler (line 217) | isNotExactlyOperatorHandler( method containsOperatorHandler (line 250) | containsOperatorHandler( method doesNotContainOperatorHandler (line 270) | doesNotContainOperatorHandler( method buildReferenceJsonArray (line 290) | private buildReferenceJsonArray(value: IFieldReferenceValue): string { method buildJsonArrayExpression (line 296) | private buildJsonArrayExpression(columnExpression: string, field?: Fie... method buildTextArrayExpression (line 304) | private buildTextArrayExpression(jsonArrayExpression: string): string { method getJsonPath (line 308) | private getJsonPath(field: FieldCore): string { FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/multiple-value/multiple-number-cell-value-filter.adapter.ts class MultipleNumberCellValueFilterAdapter (line 13) | class MultipleNumberCellValueFilterAdapter extends CellValueFilterPostgr... method isOperatorHandler (line 14) | isOperatorHandler( method isNotOperatorHandler (line 34) | isNotOperatorHandler( method isGreaterOperatorHandler (line 57) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 83) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 109) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 135) | isLessEqualOperatorHandler( method isAnyOfOperatorHandler (line 161) | isAnyOfOperatorHandler( method isNoneOfOperatorHandler (line 183) | isNoneOfOperatorHandler( method hasAllOfOperatorHandler (line 207) | hasAllOfOperatorHandler( method isExactlyOperatorHandler (line 229) | isExactlyOperatorHandler( method isNotExactlyOperatorHandler (line 253) | isNotExactlyOperatorHandler( method buildJsonArrayExpression (line 277) | private buildJsonArrayExpression(columnExpression: string, field: Fiel... method buildReferenceJsonArray (line 284) | private buildReferenceJsonArray(value: IFieldReferenceValue): string { method buildTextArrayExpression (line 290) | private buildTextArrayExpression(jsonArrayExpression: string): string { method buildComparisonSql (line 294) | private buildComparisonSql( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/multiple-value/multiple-string-cell-value-filter.adapter.ts class MultipleStringCellValueFilterAdapter (line 7) | class MultipleStringCellValueFilterAdapter extends CellValueFilterPostgr... method isOperatorHandler (line 8) | isOperatorHandler( method isNotOperatorHandler (line 19) | isNotOperatorHandler( method containsOperatorHandler (line 31) | containsOperatorHandler( method doesNotContainOperatorHandler (line 45) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/single-value/boolean-cell-value-filter.adapter.ts class BooleanCellValueFilterAdapter (line 6) | class BooleanCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 7) | isOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/single-value/datetime-cell-value-filter.adapter.ts class DatetimeCellValueFilterAdapter (line 15) | class DatetimeCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 16) | isOperatorHandler( method isNotOperatorHandler (line 40) | isNotOperatorHandler( method isGreaterOperatorHandler (line 67) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 88) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 109) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 130) | isLessEqualOperatorHandler( method isWithInOperatorHandler (line 151) | isWithInOperatorHandler( method extractFormatting (line 174) | private extractFormatting(): IDatetimeFormatting | undefined { method determineDateUnit (line 179) | private determineDateUnit(formatting?: IDatetimeFormatting): 'day' | '... method wrapWithTimeZone (line 192) | private wrapWithTimeZone(expr: string, formatting?: IDatetimeFormattin... method applyFieldReferenceEquality (line 197) | private applyFieldReferenceEquality( method applyFieldReferenceComparison (line 217) | private applyFieldReferenceComparison( method buildTruncatedExpression (line 239) | private buildTruncatedExpression( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/single-value/json-cell-value-filter.adapter.ts class JsonCellValueFilterAdapter (line 17) | class JsonCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 18) | isOperatorHandler( method isNotOperatorHandler (line 61) | isNotOperatorHandler( method isAnyOfOperatorHandler (line 105) | isAnyOfOperatorHandler( method isNoneOfOperatorHandler (line 134) | isNoneOfOperatorHandler( method containsOperatorHandler (line 167) | containsOperatorHandler( method doesNotContainOperatorHandler (line 187) | doesNotContainOperatorHandler( method buildReferenceJsonArray (line 207) | private buildReferenceJsonArray(value: IFieldReferenceValue): string { method buildJsonArrayExpression (line 213) | private buildJsonArrayExpression(columnExpression: string, field?: Fie... method buildTextArrayExpression (line 221) | private buildTextArrayExpression(jsonArrayExpression: string): string { method getJsonPath (line 225) | private getJsonPath(field: FieldCore): string { FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/single-value/number-cell-value-filter.adapter.ts class NumberCellValueFilterAdapter (line 6) | class NumberCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 7) | isOperatorHandler( method isNotOperatorHandler (line 16) | isNotOperatorHandler( method isGreaterOperatorHandler (line 25) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 34) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 43) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 52) | isLessEqualOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/cell-value-filter/single-value/string-cell-value-filter.adapter.ts class StringCellValueFilterAdapter (line 13) | class StringCellValueFilterAdapter extends CellValueFilterPostgres { method isOperatorHandler (line 14) | isOperatorHandler( method isNotOperatorHandler (line 30) | isNotOperatorHandler( method containsOperatorHandler (line 47) | containsOperatorHandler( method doesNotContainOperatorHandler (line 59) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/postgres/filter-query.postgres.ts class FilterQueryPostgres (line 20) | class FilterQueryPostgres extends AbstractFilterQuery { method constructor (line 21) | constructor( method booleanFilter (line 31) | booleanFilter(field: FieldCore, context?: IRecordQueryFilterContext): ... method numberFilter (line 39) | numberFilter(field: FieldCore, context?: IRecordQueryFilterContext): C... method dateTimeFilter (line 47) | dateTimeFilter(field: FieldCore, context?: IRecordQueryFilterContext):... method stringFilter (line 55) | stringFilter(field: FieldCore, context?: IRecordQueryFilterContext): C... method jsonFilter (line 63) | jsonFilter(field: FieldCore, context?: IRecordQueryFilterContext): Cel... FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/cell-value-filter.sqlite.ts class CellValueFilterSqlite (line 16) | class CellValueFilterSqlite extends AbstractCellValueFilter { method isNotOperatorHandler (line 17) | isNotOperatorHandler( method doesNotContainOperatorHandler (line 35) | doesNotContainOperatorHandler( method isNoneOfOperatorHandler (line 49) | isNoneOfOperatorHandler( method getJsonQueryColumn (line 63) | protected getJsonQueryColumn(field: FieldCore, operator: IFilterOperat... FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/multiple-value/multiple-boolean-cell-value-filter.adapter.ts class MultipleBooleanCellValueFilterAdapter (line 7) | class MultipleBooleanCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 8) | isOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/multiple-value/multiple-datetime-cell-value-filter.adapter.ts class MultipleDatetimeCellValueFilterAdapter (line 6) | class MultipleDatetimeCellValueFilterAdapter extends CellValueFilterSqli... method isOperatorHandler (line 7) | isOperatorHandler( method isNotOperatorHandler (line 28) | isNotOperatorHandler( method isGreaterOperatorHandler (line 49) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 70) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 91) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 112) | isLessEqualOperatorHandler( method isWithInOperatorHandler (line 133) | isWithInOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/multiple-value/multiple-json-cell-value-filter.adapter.ts class MultipleJsonCellValueFilterAdapter (line 6) | class MultipleJsonCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 7) | isOperatorHandler( method isNotOperatorHandler (line 18) | isNotOperatorHandler( method isExactlyOperatorHandler (line 29) | isExactlyOperatorHandler( method isAnyOfOperatorHandler (line 52) | isAnyOfOperatorHandler( method isNoneOfOperatorHandler (line 67) | isNoneOfOperatorHandler( method hasAllOfOperatorHandler (line 82) | hasAllOfOperatorHandler( method isNotExactlyOperatorHandler (line 97) | isNotExactlyOperatorHandler( method containsOperatorHandler (line 116) | containsOperatorHandler( method doesNotContainOperatorHandler (line 130) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/multiple-value/multiple-number-cell-value-filter.adapter.ts class MultipleNumberCellValueFilterAdapter (line 5) | class MultipleNumberCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 6) | isOperatorHandler( method isNotOperatorHandler (line 20) | isNotOperatorHandler( method isGreaterOperatorHandler (line 34) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 48) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 62) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 76) | isLessEqualOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/multiple-value/multiple-string-cell-value-filter.adapter.ts class MultipleStringCellValueFilterAdapter (line 5) | class MultipleStringCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 6) | isOperatorHandler( method isNotOperatorHandler (line 21) | isNotOperatorHandler( method containsOperatorHandler (line 36) | containsOperatorHandler( method doesNotContainOperatorHandler (line 51) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/single-value/boolean-cell-value-filter.adapter.ts class BooleanCellValueFilterAdapter (line 6) | class BooleanCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 7) | isOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/single-value/datetime-cell-value-filter.adapter.ts class DatetimeCellValueFilterAdapter (line 13) | class DatetimeCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 14) | isOperatorHandler( method isNotOperatorHandler (line 34) | isNotOperatorHandler( method isGreaterOperatorHandler (line 57) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 77) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 97) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 117) | isLessEqualOperatorHandler( method isWithInOperatorHandler (line 137) | isWithInOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/single-value/json-cell-value-filter.adapter.ts class JsonCellValueFilterAdapter (line 13) | class JsonCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 14) | isOperatorHandler( method isNotOperatorHandler (line 51) | isNotOperatorHandler( method isAnyOfOperatorHandler (line 88) | isAnyOfOperatorHandler( method isNoneOfOperatorHandler (line 99) | isNoneOfOperatorHandler( method containsOperatorHandler (line 110) | containsOperatorHandler( method doesNotContainOperatorHandler (line 120) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/single-value/number-cell-value-filter.adapter.ts class NumberCellValueFilterAdapter (line 6) | class NumberCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 7) | isOperatorHandler( method isNotOperatorHandler (line 16) | isNotOperatorHandler( method isGreaterOperatorHandler (line 25) | isGreaterOperatorHandler( method isGreaterEqualOperatorHandler (line 34) | isGreaterEqualOperatorHandler( method isLessOperatorHandler (line 43) | isLessOperatorHandler( method isLessEqualOperatorHandler (line 52) | isLessEqualOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/cell-value-filter/single-value/string-cell-value-filter.adapter.ts class StringCellValueFilterAdapter (line 12) | class StringCellValueFilterAdapter extends CellValueFilterSqlite { method isOperatorHandler (line 13) | isOperatorHandler( method isNotOperatorHandler (line 29) | isNotOperatorHandler( method containsOperatorHandler (line 46) | containsOperatorHandler( method doesNotContainOperatorHandler (line 56) | doesNotContainOperatorHandler( FILE: apps/nestjs-backend/src/db-provider/filter-query/sqlite/filter-query.sqlite.ts class FilterQuerySqlite (line 21) | class FilterQuerySqlite extends AbstractFilterQuery { method constructor (line 22) | constructor( method booleanFilter (line 32) | booleanFilter(field: FieldCore, context?: IRecordQueryFilterContext): ... method numberFilter (line 40) | numberFilter(field: FieldCore, context?: IRecordQueryFilterContext): C... method dateTimeFilter (line 48) | dateTimeFilter(field: FieldCore, context?: IRecordQueryFilterContext):... method stringFilter (line 56) | stringFilter(field: FieldCore, context?: IRecordQueryFilterContext): C... method jsonFilter (line 64) | jsonFilter(field: FieldCore, context?: IRecordQueryFilterContext): Abs... FILE: apps/nestjs-backend/src/db-provider/generated-column-query/generated-column-query.abstract.ts method setContext (line 18) | setContext(context: IFormulaConversionContext): void { method setCallMetadata (line 22) | setCallMetadata(metadata?: IFormulaParamMetadata[]): void { method isGeneratedColumnContext (line 27) | protected get isGeneratedColumnContext(): boolean { method add (line 127) | add(left: string, right: string): string { method subtract (line 131) | subtract(left: string, right: string): string { method multiply (line 135) | multiply(left: string, right: string): string { method divide (line 139) | divide(left: string, right: string): string { method modulo (line 143) | modulo(left: string, right: string): string { method equal (line 148) | equal(left: string, right: string): string { method notEqual (line 152) | notEqual(left: string, right: string): string { method greaterThan (line 156) | greaterThan(left: string, right: string): string { method lessThan (line 160) | lessThan(left: string, right: string): string { method greaterThanOrEqual (line 164) | greaterThanOrEqual(left: string, right: string): string { method lessThanOrEqual (line 168) | lessThanOrEqual(left: string, right: string): string { method logicalAnd (line 173) | logicalAnd(left: string, right: string): string { method logicalOr (line 177) | logicalOr(left: string, right: string): string { method bitwiseAnd (line 181) | bitwiseAnd(left: string, right: string): string { method unaryMinus (line 186) | unaryMinus(value: string): string { method stringLiteral (line 194) | stringLiteral(value: string): string { method numberLiteral (line 198) | numberLiteral(value: number): string { method booleanLiteral (line 202) | booleanLiteral(value: boolean): string { method nullLiteral (line 206) | nullLiteral(): string { method castToNumber (line 211) | castToNumber(value: string): string { method castToString (line 215) | castToString(value: string): string { method castToBoolean (line 219) | castToBoolean(value: string): string { method castToDate (line 223) | castToDate(value: string): string { method isNull (line 228) | isNull(value: string): string { method coalesce (line 232) | coalesce(params: string[]): string { method parentheses (line 237) | parentheses(expression: string): string { method escapeIdentifier (line 242) | protected escapeIdentifier(identifier: string): string { method joinParams (line 247) | protected joinParams(params: string[], separator = ', '): string { FILE: apps/nestjs-backend/src/db-provider/generated-column-query/index.ts function createGeneratedColumnQuerySupportValidator (line 6) | function createGeneratedColumnQuerySupportValidator(driver: DriverClient) { FILE: apps/nestjs-backend/src/db-provider/generated-column-query/postgres/generated-column-query-support-validator.postgres.ts class GeneratedColumnQuerySupportValidatorPostgres (line 11) | class GeneratedColumnQuerySupportValidatorPostgres method setContext (line 16) | setContext(context: IFormulaConversionContext): void { method setCallMetadata (line 20) | setCallMetadata(): void { method sum (line 25) | sum(_params: string[]): boolean { method average (line 30) | average(_params: string[]): boolean { method max (line 35) | max(_params: string[]): boolean { method min (line 39) | min(_params: string[]): boolean { method round (line 43) | round(_value: string, _precision?: string): boolean { method roundUp (line 47) | roundUp(_value: string, _precision?: string): boolean { method roundDown (line 51) | roundDown(_value: string, _precision?: string): boolean { method ceiling (line 55) | ceiling(_value: string): boolean { method floor (line 59) | floor(_value: string): boolean { method even (line 63) | even(_value: string): boolean { method odd (line 67) | odd(_value: string): boolean { method int (line 71) | int(_value: string): boolean { method abs (line 75) | abs(_value: string): boolean { method sqrt (line 79) | sqrt(_value: string): boolean { method power (line 83) | power(_base: string, _exponent: string): boolean { method exp (line 87) | exp(_value: string): boolean { method log (line 91) | log(_value: string, _base?: string): boolean { method mod (line 95) | mod(_dividend: string, _divisor: string): boolean { method value (line 99) | value(_text: string): boolean { method concatenate (line 104) | concatenate(_params: string[]): boolean { method stringConcat (line 108) | stringConcat(_left: string, _right: string): boolean { method find (line 112) | find(_searchText: string, _withinText: string, _startNum?: string): bo... method search (line 117) | search(_searchText: string, _withinText: string, _startNum?: string): ... method mid (line 122) | mid(_text: string, _startNum: string, _numChars: string): boolean { method left (line 126) | left(_text: string, _numChars: string): boolean { method right (line 130) | right(_text: string, _numChars: string): boolean { method replace (line 134) | replace(_oldText: string, _startNum: string, _numChars: string, _newTe... method regexpReplace (line 138) | regexpReplace(_text: string, _pattern: string, _replacement: string): ... method substitute (line 143) | substitute(_text: string, _oldText: string, _newText: string, _instanc... method lower (line 148) | lower(_text: string): boolean { method upper (line 154) | upper(_text: string): boolean { method rept (line 160) | rept(_text: string, _numTimes: string): boolean { method trim (line 164) | trim(_text: string): boolean { method len (line 168) | len(_text: string): boolean { method t (line 172) | t(_value: string): boolean { method encodeUrlComponent (line 177) | encodeUrlComponent(_text: string): boolean { method now (line 183) | now(): boolean { method today (line 188) | today(): boolean { method dateAdd (line 193) | dateAdd(_date: string, _count: string, _unit: string): boolean { method datestr (line 199) | datestr(_date: string): boolean { method datetimeDiff (line 204) | datetimeDiff(_startDate: string, _endDate: string, _unit: string): boo... method datetimeFormat (line 209) | datetimeFormat(_date: string, _format: string): boolean { method datetimeParse (line 214) | datetimeParse(_dateString: string, _format?: string): boolean { method day (line 219) | day(_date: string): boolean { method fromNow (line 224) | fromNow(_date: string): boolean { method hour (line 229) | hour(_date: string): boolean { method isAfter (line 234) | isAfter(_date1: string, _date2: string): boolean { method isBefore (line 239) | isBefore(_date1: string, _date2: string): boolean { method isSame (line 244) | isSame(_date1: string, _date2: string, _unit?: string): boolean { method lastModifiedTime (line 249) | lastModifiedTime(): boolean { method minute (line 253) | minute(_date: string): boolean { method month (line 258) | month(_date: string): boolean { method second (line 263) | second(_date: string): boolean { method timestr (line 268) | timestr(_date: string): boolean { method toNow (line 273) | toNow(_date: string): boolean { method weekNum (line 278) | weekNum(_date: string): boolean { method weekday (line 283) | weekday(_date: string): boolean { method workday (line 288) | workday(_startDate: string, _days: string): boolean { method workdayDiff (line 293) | workdayDiff(_startDate: string, _endDate: string): boolean { method year (line 298) | year(_date: string): boolean { method createdTime (line 303) | createdTime(): boolean { method if (line 311) | if(_condition: string, _valueIfTrue: string, _valueIfFalse: string): b... method and (line 315) | and(_params: string[]): boolean { method or (line 319) | or(_params: string[]): boolean { method not (line 323) | not(_value: string): boolean { method xor (line 327) | xor(_params: string[]): boolean { method blank (line 331) | blank(): boolean { method error (line 335) | error(_message: string): boolean { method isError (line 340) | isError(_value: string): boolean { method switch (line 345) | switch( method count (line 354) | count(_params: string[]): boolean { method countA (line 358) | countA(_params: string[]): boolean { method countAll (line 362) | countAll(_value: string): boolean { method arrayJoin (line 366) | arrayJoin(_array: string, _separator?: string): boolean { method arrayUnique (line 371) | arrayUnique(_arrays: string[]): boolean { method arrayFlatten (line 376) | arrayFlatten(_arrays: string[]): boolean { method arrayCompact (line 381) | arrayCompact(_arrays: string[]): boolean { method recordId (line 387) | recordId(): boolean { method autoNumber (line 391) | autoNumber(): boolean { method textAll (line 395) | textAll(_value: string): boolean { method add (line 401) | add(_left: string, _right: string): boolean { method subtract (line 405) | subtract(_left: string, _right: string): boolean { method multiply (line 409) | multiply(_left: string, _right: string): boolean { method divide (line 413) | divide(_left: string, _right: string): boolean { method modulo (line 417) | modulo(_left: string, _right: string): boolean { method equal (line 422) | equal(_left: string, _right: string): boolean { method notEqual (line 426) | notEqual(_left: string, _right: string): boolean { method greaterThan (line 430) | greaterThan(_left: string, _right: string): boolean { method lessThan (line 434) | lessThan(_left: string, _right: string): boolean { method greaterThanOrEqual (line 438) | greaterThanOrEqual(_left: string, _right: string): boolean { method lessThanOrEqual (line 442) | lessThanOrEqual(_left: string, _right: string): boolean { method logicalAnd (line 447) | logicalAnd(_left: string, _right: string): boolean { method logicalOr (line 451) | logicalOr(_left: string, _right: string): boolean { method bitwiseAnd (line 455) | bitwiseAnd(_left: string, _right: string): boolean { method unaryMinus (line 460) | unaryMinus(_value: string): boolean { method fieldReference (line 465) | fieldReference(_fieldId: string, _columnName: string): boolean { method stringLiteral (line 470) | stringLiteral(_value: string): boolean { method numberLiteral (line 474) | numberLiteral(_value: number): boolean { method booleanLiteral (line 478) | booleanLiteral(_value: boolean): boolean { method nullLiteral (line 482) | nullLiteral(): boolean { method castToNumber (line 487) | castToNumber(_value: string): boolean { method castToString (line 491) | castToString(_value: string): boolean { method castToBoolean (line 495) | castToBoolean(_value: string): boolean { method castToDate (line 499) | castToDate(_value: string): boolean { method isNull (line 504) | isNull(_value: string): boolean { method coalesce (line 508) | coalesce(_params: string[]): boolean { method parentheses (line 513) | parentheses(_expression: string): boolean { FILE: apps/nestjs-backend/src/db-provider/generated-column-query/postgres/generated-column-query.postgres.ts class GeneratedColumnQueryPostgres (line 27) | class GeneratedColumnQueryPostgres extends GeneratedColumnQueryAbstract { method isEmptyStringLiteral (line 28) | private isEmptyStringLiteral(value: string): boolean { method isNullLiteral (line 32) | private isNullLiteral(value: string): boolean { method shouldCoalesceNumericComparison (line 36) | private shouldCoalesceNumericComparison(value: string, metadataIndex?:... method normalizeNumericComparisonOperand (line 44) | private normalizeNumericComparisonOperand(value: string, metadataIndex... method hasWrappingParentheses (line 51) | private hasWrappingParentheses(expr: string): boolean { method stripOuterParentheses (line 73) | private stripOuterParentheses(expr: string): string { method getParamInfo (line 81) | private getParamInfo(index?: number) { method isNumericLiteral (line 85) | private isNumericLiteral(expr: string): boolean { method toNumericSafe (line 110) | private toNumericSafe(expr: string, metadataIndex?: number): string { method looseNumericCoercion (line 154) | private looseNumericCoercion(expr: string): string { method numericFromJson (line 176) | private numericFromJson(expr: string): string { method numericFromText (line 188) | private numericFromText(expr: string): string { method collapseNumeric (line 199) | private collapseNumeric(expr: string, metadataIndex?: number): string { method normalizeBlankComparable (line 204) | private normalizeBlankComparable(value: string, metadataIndex?: number... method ensureTextCollation (line 209) | private ensureTextCollation(expr: string): string { method buildBlankAwareComparison (line 213) | private buildBlankAwareComparison( method isTextLikeExpression (line 253) | private isTextLikeExpression(value: string, metadataIndex?: number): b... method isNumericLikeExpression (line 279) | private isNumericLikeExpression(value: string, metadataIndex?: number)... method getExpressionFieldType (line 308) | private getExpressionFieldType(value: string): DbFieldType | undefined { method buildJsonScalarCoercion (line 323) | private buildJsonScalarCoercion(jsonExpr: string): string { method coerceJsonExpressionToText (line 348) | private coerceJsonExpressionToText(wrapped: string): string { method coerceNonJsonExpressionToText (line 363) | private coerceNonJsonExpressionToText(wrapped: string): string { method coerceToTextComparable (line 373) | private coerceToTextComparable(value: string, metadataIndex?: number):... method isHardTextExpression (line 442) | private isHardTextExpression(value: string): boolean { method isDateLikeOperand (line 453) | private isDateLikeOperand(metadataIndex?: number): boolean { method buildDayInterval (line 474) | private buildDayInterval(expr: string, metadataIndex?: number): string { method countANonNullExpression (line 479) | private countANonNullExpression(value: string, metadataIndex?: number)... method add (line 488) | override add(left: string, right: string): string { method subtract (line 505) | override subtract(left: string, right: string): string { method multiply (line 525) | override multiply(left: string, right: string): string { method unaryMinus (line 531) | override unaryMinus(value: string): string { method divide (line 536) | override divide(left: string, right: string): string { method modulo (line 542) | override modulo(left: string, right: string): string { method isBooleanLikeExpression (line 548) | private isBooleanLikeExpression(value: string, metadataIndex?: number)... method normalizeBooleanCondition (line 562) | private normalizeBooleanCondition(condition: string, metadataIndex = 0... method sum (line 596) | sum(params: string[]): string { method average (line 602) | average(params: string[]): string { method max (line 608) | max(params: string[]): string { method min (line 612) | min(params: string[]): string { method round (line 616) | round(value: string, precision?: string): string { method roundUp (line 625) | roundUp(value: string, precision?: string): string { method roundDown (line 635) | roundDown(value: string, precision?: string): string { method ceiling (line 645) | ceiling(value: string): string { method floor (line 649) | floor(value: string): string { method even (line 653) | even(value: string): string { method odd (line 659) | odd(value: string): string { method int (line 665) | int(value: string): string { method abs (line 669) | abs(value: string): string { method sqrt (line 673) | sqrt(value: string): string { method power (line 677) | power(base: string, exponent: string): string { method exp (line 683) | exp(value: string): string { method log (line 687) | log(value: string, base?: string): string { method mod (line 697) | mod(dividend: string, divisor: string): string { method value (line 703) | value(text: string): string { method concatenate (line 708) | concatenate(params: string[]): string { method stringConcat (line 718) | stringConcat(left: string, right: string): string { method equal (line 722) | equal(left: string, right: string): string { method notEqual (line 726) | notEqual(left: string, right: string): string { method greaterThan (line 730) | greaterThan(left: string, right: string): string { method lessThan (line 736) | lessThan(left: string, right: string): string { method greaterThanOrEqual (line 742) | greaterThanOrEqual(left: string, right: string): string { method lessThanOrEqual (line 748) | lessThanOrEqual(left: string, right: string): string { method bitwiseAnd (line 755) | bitwiseAnd(left: string, right: string): string { method find (line 770) | find(searchText: string, withinText: string, startNum?: string): string { method search (line 780) | search(searchText: string, withinText: string, startNum?: string): str... method mid (line 791) | mid(text: string, startNum: string, numChars: string): string { method left (line 795) | left(text: string, numChars: string): string { method right (line 799) | right(text: string, numChars: string): string { method replace (line 803) | replace(oldText: string, startNum: string, numChars: string, newText: ... method regexpReplace (line 809) | regexpReplace(text: string, pattern: string, replacement: string): str... method substitute (line 816) | substitute(text: string, oldText: string, newText: string, instanceNum... method lower (line 828) | lower(text: string): string { method upper (line 833) | upper(text: string): string { method rept (line 838) | rept(text: string, numTimes: string): string { method trim (line 843) | trim(text: string): string { method len (line 848) | len(text: string): string { method t (line 854) | t(value: string): string { method encodeUrlComponent (line 858) | encodeUrlComponent(text: string): string { method now (line 864) | now(): string { method today (line 873) | today(): string { method normalizeIntervalUnit (line 882) | private normalizeIntervalUnit( method normalizeDiffUnit (line 943) | private normalizeDiffUnit( method normalizeTruncateUnit (line 986) | private normalizeTruncateUnit( method dateAdd (line 1031) | dateAdd(date: string, count: string, unit: string): string { method datestr (line 1042) | datestr(date: string): string { method buildMonthDiff (line 1046) | private buildMonthDiff(startDate: string, endDate: string): string { method datetimeDiff (line 1065) | datetimeDiff(startDate: string, endDate: string, unit: string): string { method datetimeFormat (line 1095) | datetimeFormat(date: string, format: string): string { method datetimeParse (line 1099) | datetimeParse(dateString: string, format?: string): string { method day (line 1119) | day(date: string): string { method buildNowDiffByUnit (line 1123) | private buildNowDiffByUnit(nowExpr: string, dateExpr: string, unit: st... method fromNow (line 1151) | fromNow(date: string, unit = 'day'): string { method hour (line 1161) | hour(date: string): string { method isAfter (line 1165) | isAfter(date1: string, date2: string): string { method isBefore (line 1169) | isBefore(date1: string, date2: string): string { method isSame (line 1173) | isSame(date1: string, date2: string, unit?: string): string { method lastModifiedTime (line 1190) | lastModifiedTime(): string { method minute (line 1195) | minute(date: string): string { method month (line 1199) | month(date: string): string { method second (line 1203) | second(date: string): string { method timestr (line 1207) | timestr(date: string): string { method toNow (line 1211) | toNow(date: string, unit = 'day'): string { method weekNum (line 1215) | weekNum(date: string): string { method weekday (line 1219) | weekday(date: string, _startDayOfWeek?: string): string { method workday (line 1223) | workday(startDate: string, days: string, _holidayStr?: string): string { method workdayDiff (line 1231) | workdayDiff(startDate: string, endDate: string): string { method year (line 1239) | year(date: string): string { method createdTime (line 1243) | createdTime(): string { method if (line 1249) | if(condition: string, valueIfTrue: string, valueIfFalse: string): stri... method and (line 1296) | and(params: string[]): string { method or (line 1300) | or(params: string[]): string { method not (line 1304) | not(value: string): string { method xor (line 1308) | xor(params: string[]): string { method blank (line 1321) | blank(): string { method error (line 1325) | error(_message: string): string { method isError (line 1331) | isError(value: string): string { method switch (line 1337) | switch( method count (line 1371) | count(params: string[]): string { method countA (line 1376) | countA(params: string[]): string { method countAll (line 1382) | countAll(value: string): string { method normalizeJsonbArray (line 1396) | private normalizeJsonbArray(array: string): string { method buildJsonArrayUnion (line 1404) | private buildJsonArrayUnion( method arrayJoin (line 1425) | arrayJoin(array: string, separator?: string): string { method arrayUnique (line 1430) | arrayUnique(arrays: string[]): string { method arrayFlatten (line 1439) | arrayFlatten(arrays: string[]): string { method arrayCompact (line 1448) | arrayCompact(arrays: string[]): string { method recordId (line 1458) | recordId(): string { method autoNumber (line 1463) | autoNumber(): string { method textAll (line 1468) | textAll(value: string): string { method castToNumber (line 1474) | castToNumber(value: string): string { method castToString (line 1478) | castToString(value: string): string { method castToBoolean (line 1482) | castToBoolean(value: string): string { method castToDate (line 1486) | castToDate(value: string): string { method fieldReference (line 1491) | fieldReference(_fieldId: string, columnName: string): string { method escapeIdentifier (line 1497) | protected escapeIdentifier(identifier: string): string { method guardDefaultDatetimeParse (line 1501) | private guardDefaultDatetimeParse(valueExpr: string): string { method parseDatetimeParseWithoutFormat (line 1509) | private parseDatetimeParseWithoutFormat(valueExpr: string): string { method parseDatetimeParseWithFormat (line 1532) | private parseDatetimeParseWithFormat( method castToTimestamp (line 1552) | private castToTimestamp(date: string, metadataIndex?: number): string { method hasTrustedDatetimeInput (line 1590) | private hasTrustedDatetimeInput(index: number): boolean { FILE: apps/nestjs-backend/src/db-provider/generated-column-query/sqlite/generated-column-query-support-validator.sqlite.ts class GeneratedColumnQuerySupportValidatorSqlite (line 17) | class GeneratedColumnQuerySupportValidatorSqlite method setContext (line 22) | setContext(context: IFormulaConversionContext): void { method setCallMetadata (line 26) | setCallMetadata(): void { method sum (line 31) | sum(_params: string[]): boolean { method average (line 36) | average(_params: string[]): boolean { method max (line 41) | max(_params: string[]): boolean { method min (line 45) | min(_params: string[]): boolean { method round (line 49) | round(_value: string, _precision?: string): boolean { method roundUp (line 53) | roundUp(_value: string, _precision?: string): boolean { method roundDown (line 57) | roundDown(_value: string, _precision?: string): boolean { method ceiling (line 61) | ceiling(_value: string): boolean { method floor (line 66) | floor(_value: string): boolean { method even (line 70) | even(_value: string): boolean { method odd (line 74) | odd(_value: string): boolean { method int (line 78) | int(_value: string): boolean { method abs (line 82) | abs(_value: string): boolean { method sqrt (line 86) | sqrt(_value: string): boolean { method power (line 91) | power(_base: string, _exponent: string): boolean { method exp (line 96) | exp(_value: string): boolean { method log (line 101) | log(_value: string, _base?: string): boolean { method mod (line 106) | mod(_dividend: string, _divisor: string): boolean { method value (line 110) | value(_text: string): boolean { method concatenate (line 115) | concatenate(_params: string[]): boolean { method stringConcat (line 119) | stringConcat(_left: string, _right: string): boolean { method find (line 123) | find(_searchText: string, _withinText: string, _startNum?: string): bo... method search (line 128) | search(_searchText: string, _withinText: string, _startNum?: string): ... method mid (line 133) | mid(_text: string, _startNum: string, _numChars: string): boolean { method left (line 137) | left(_text: string, _numChars: string): boolean { method right (line 141) | right(_text: string, _numChars: string): boolean { method replace (line 145) | replace(_oldText: string, _startNum: string, _numChars: string, _newTe... method regexpReplace (line 149) | regexpReplace(_text: string, _pattern: string, _replacement: string): ... method substitute (line 154) | substitute(_text: string, _oldText: string, _newText: string, _instanc... method lower (line 158) | lower(_text: string): boolean { method upper (line 162) | upper(_text: string): boolean { method rept (line 166) | rept(_text: string, _numTimes: string): boolean { method trim (line 171) | trim(_text: string): boolean { method len (line 175) | len(_text: string): boolean { method t (line 179) | t(_value: string): boolean { method encodeUrlComponent (line 183) | encodeUrlComponent(_text: string): boolean { method now (line 189) | now(): boolean { method today (line 194) | today(): boolean { method dateAdd (line 199) | dateAdd(_date: string, _count: string, _unit: string): boolean { method datestr (line 204) | datestr(_date: string): boolean { method datetimeDiff (line 208) | datetimeDiff(_startDate: string, _endDate: string, _unit: string): boo... method datetimeFormat (line 212) | datetimeFormat(_date: string, _format: string): boolean { method datetimeParse (line 216) | datetimeParse(_dateString: string, _format?: string): boolean { method day (line 221) | day(_date: string): boolean { method fromNow (line 226) | fromNow(_date: string): boolean { method hour (line 231) | hour(_date: string): boolean { method isAfter (line 236) | isAfter(_date1: string, _date2: string): boolean { method isBefore (line 240) | isBefore(_date1: string, _date2: string): boolean { method isSame (line 244) | isSame(_date1: string, _date2: string, _unit?: string): boolean { method lastModifiedTime (line 248) | lastModifiedTime(): boolean { method minute (line 252) | minute(_date: string): boolean { method month (line 257) | month(_date: string): boolean { method second (line 262) | second(_date: string): boolean { method timestr (line 267) | timestr(_date: string): boolean { method toNow (line 271) | toNow(_date: string): boolean { method weekNum (line 276) | weekNum(_date: string): boolean { method weekday (line 280) | weekday(_date: string): boolean { method workday (line 285) | workday(_startDate: string, _days: string): boolean { method workdayDiff (line 290) | workdayDiff(_startDate: string, _endDate: string): boolean { method year (line 295) | year(_date: string): boolean { method createdTime (line 300) | createdTime(): boolean { method if (line 307) | if(_condition: string, _valueIfTrue: string, _valueIfFalse: string): b... method and (line 311) | and(_params: string[]): boolean { method or (line 315) | or(_params: string[]): boolean { method not (line 319) | not(_value: string): boolean { method xor (line 323) | xor(_params: string[]): boolean { method blank (line 327) | blank(): boolean { method error (line 331) | error(_message: string): boolean { method isError (line 336) | isError(_value: string): boolean { method switch (line 341) | switch( method count (line 350) | count(_params: string[]): boolean { method countA (line 354) | countA(_params: string[]): boolean { method countAll (line 358) | countAll(_value: string): boolean { method arrayJoin (line 362) | arrayJoin(_array: string, _separator?: string): boolean { method arrayUnique (line 367) | arrayUnique(_arrays: string[]): boolean { method arrayFlatten (line 372) | arrayFlatten(_arrays: string[]): boolean { method arrayCompact (line 377) | arrayCompact(_arrays: string[]): boolean { method recordId (line 383) | recordId(): boolean { method autoNumber (line 388) | autoNumber(): boolean { method textAll (line 392) | textAll(_value: string): boolean { method add (line 398) | add(_left: string, _right: string): boolean { method subtract (line 402) | subtract(_left: string, _right: string): boolean { method multiply (line 406) | multiply(_left: string, _right: string): boolean { method divide (line 410) | divide(_left: string, _right: string): boolean { method modulo (line 414) | modulo(_left: string, _right: string): boolean { method equal (line 419) | equal(_left: string, _right: string): boolean { method notEqual (line 423) | notEqual(_left: string, _right: string): boolean { method greaterThan (line 427) | greaterThan(_left: string, _right: string): boolean { method lessThan (line 431) | lessThan(_left: string, _right: string): boolean { method greaterThanOrEqual (line 435) | greaterThanOrEqual(_left: string, _right: string): boolean { method lessThanOrEqual (line 439) | lessThanOrEqual(_left: string, _right: string): boolean { method logicalAnd (line 444) | logicalAnd(_left: string, _right: string): boolean { method logicalOr (line 448) | logicalOr(_left: string, _right: string): boolean { method bitwiseAnd (line 452) | bitwiseAnd(_left: string, _right: string): boolean { method unaryMinus (line 457) | unaryMinus(_value: string): boolean { method fieldReference (line 462) | fieldReference(_fieldId: string, _columnName: string): boolean { method stringLiteral (line 467) | stringLiteral(_value: string): boolean { method numberLiteral (line 471) | numberLiteral(_value: number): boolean { method booleanLiteral (line 475) | booleanLiteral(_value: boolean): boolean { method nullLiteral (line 479) | nullLiteral(): boolean { method castToNumber (line 484) | castToNumber(_value: string): boolean { method castToString (line 488) | castToString(_value: string): boolean { method castToBoolean (line 492) | castToBoolean(_value: string): boolean { method castToDate (line 496) | castToDate(_value: string): boolean { method isNull (line 501) | isNull(_value: string): boolean { method coalesce (line 505) | coalesce(_params: string[]): boolean { method parentheses (line 510) | parentheses(_expression: string): boolean { FILE: apps/nestjs-backend/src/db-provider/generated-column-query/sqlite/generated-column-query.sqlite.ts class GeneratedColumnQuerySqlite (line 10) | class GeneratedColumnQuerySqlite extends GeneratedColumnQueryAbstract { method getParamInfo (line 11) | private getParamInfo(index?: number) { method isStringLiteral (line 15) | private isStringLiteral(value: string): boolean { method isEmptyStringLiteral (line 20) | private isEmptyStringLiteral(value: string): boolean { method normalizeBlankComparable (line 24) | private normalizeBlankComparable(value: string): string { method buildBlankAwareComparison (line 29) | private buildBlankAwareComparison(operator: '=' | '<>', left: string, ... method sum (line 53) | sum(params: string[]): string { method average (line 64) | average(params: string[]): string { method max (line 75) | max(params: string[]): string { method min (line 86) | min(params: string[]): string { method round (line 97) | round(value: string, precision?: string): string { method roundUp (line 104) | roundUp(value: string, precision?: string): string { method roundDown (line 122) | roundDown(value: string, precision?: string): string { method ceiling (line 140) | ceiling(value: string): string { method floor (line 144) | floor(value: string): string { method even (line 148) | even(value: string): string { method odd (line 152) | odd(value: string): string { method int (line 156) | int(value: string): string { method abs (line 160) | abs(value: string): string { method sqrt (line 164) | sqrt(value: string): string { method power (line 175) | power(base: string, exponent: string): string { method exp (line 195) | exp(value: string): string { method log (line 199) | log(value: string, base?: string): string { method mod (line 207) | mod(dividend: string, divisor: string): string { method value (line 211) | value(text: string): string { method concatenate (line 216) | concatenate(params: string[]): string { method stringConcat (line 224) | stringConcat(left: string, right: string): string { method equal (line 228) | equal(left: string, right: string): string { method notEqual (line 232) | notEqual(left: string, right: string): string { method find (line 236) | find(searchText: string, withinText: string, startNum?: string): string { method search (line 243) | search(searchText: string, withinText: string, startNum?: string): str... method mid (line 251) | mid(text: string, startNum: string, numChars: string): string { method left (line 255) | left(text: string, numChars: string): string { method right (line 259) | right(text: string, numChars: string): string { method replace (line 263) | replace(oldText: string, startNum: string, numChars: string, newText: ... method regexpReplace (line 267) | regexpReplace(text: string, pattern: string, replacement: string): str... method substitute (line 272) | substitute(text: string, oldText: string, newText: string, instanceNum... method lower (line 277) | lower(text: string): string { method upper (line 281) | upper(text: string): string { method rept (line 285) | rept(text: string, numTimes: string): string { method trim (line 290) | trim(text: string): string { method len (line 294) | len(text: string): string { method t (line 298) | t(value: string): string { method encodeUrlComponent (line 306) | encodeUrlComponent(text: string): string { method now (line 312) | now(): string { method today (line 325) | today(): string { method normalizeDateModifier (line 334) | private normalizeDateModifier(unitLiteral: string): { method normalizeDiffUnit (line 380) | private normalizeDiffUnit( method normalizeTruncateFormat (line 423) | private normalizeTruncateFormat(unitLiteral: string): string { method dateAdd (line 462) | dateAdd(date: string, count: string, unit: string): string { method datestr (line 468) | datestr(date: string): string { method buildMonthDiff (line 472) | private buildMonthDiff(startDate: string, endDate: string): string { method datetimeDiff (line 489) | datetimeDiff(startDate: string, endDate: string, unit: string): string { method datetimeFormat (line 516) | datetimeFormat(date: string, format: string): string { method datetimeParse (line 530) | datetimeParse(dateString: string, _format?: string): string { method day (line 535) | day(date: string): string { method buildNowDiffByUnit (line 539) | private buildNowDiffByUnit(nowExpr: string, dateExpr: string, unit: st... method fromNow (line 567) | fromNow(date: string, unit = 'day'): string { method hour (line 577) | hour(date: string): string { method isAfter (line 581) | isAfter(date1: string, date2: string): string { method isBefore (line 585) | isBefore(date1: string, date2: string): string { method isSame (line 589) | isSame(date1: string, date2: string, unit?: string): string { method lastModifiedTime (line 602) | lastModifiedTime(): string { method minute (line 606) | minute(date: string): string { method month (line 610) | month(date: string): string { method second (line 614) | second(date: string): string { method timestr (line 618) | timestr(date: string): string { method toNow (line 622) | toNow(date: string, unit = 'day'): string { method weekNum (line 626) | weekNum(date: string): string { method weekday (line 630) | weekday(date: string, _startDayOfWeek?: string): string { method workday (line 635) | workday(startDate: string, days: string, _holidayStr?: string): string { method workdayDiff (line 639) | workdayDiff(startDate: string, endDate: string): string { method year (line 643) | year(date: string): string { method createdTime (line 647) | createdTime(): string { method normalizeBooleanCondition (line 651) | private normalizeBooleanCondition(condition: string): string { method if (line 663) | if(condition: string, valueIfTrue: string, valueIfFalse: string): stri... method and (line 668) | and(params: string[]): string { method or (line 672) | or(params: string[]): string { method not (line 676) | not(value: string): string { method xor (line 680) | xor(params: string[]): string { method blank (line 692) | blank(): string { method error (line 696) | error(_message: string): string { method isError (line 702) | isError(value: string): string { method switch (line 707) | switch( method count (line 727) | count(params: string[]): string { method countA (line 732) | countA(params: string[]): string { method countAll (line 737) | countAll(value: string): string { method buildJsonArrayUnion (line 752) | private buildJsonArrayUnion( method arrayJoin (line 771) | arrayJoin(array: string, separator?: string): string { method arrayUnique (line 785) | arrayUnique(arrays: string[]): string { method arrayFlatten (line 801) | arrayFlatten(arrays: string[]): string { method arrayCompact (line 813) | arrayCompact(arrays: string[]): string { method recordId (line 829) | recordId(): string { method autoNumber (line 833) | autoNumber(): string { method textAll (line 837) | textAll(value: string): string { method fieldReference (line 846) | fieldReference(_fieldId: string, columnName: string): string { method castToNumber (line 853) | castToNumber(value: string): string { method castToString (line 857) | castToString(value: string): string { method castToBoolean (line 861) | castToBoolean(value: string): string { method castToDate (line 865) | castToDate(value: string): string { method escapeIdentifier (line 870) | protected escapeIdentifier(identifier: string): string { method modulo (line 875) | modulo(left: string, right: string): string { method booleanLiteral (line 880) | booleanLiteral(value: boolean): string { FILE: apps/nestjs-backend/src/db-provider/group-query/group-query.abstract.ts method constructor (line 11) | constructor( method appendGroupBuilder (line 20) | appendGroupBuilder(): Knex.QueryBuilder { method getTableColumnName (line 24) | protected getTableColumnName(field: FieldCore): string { method parseGroups (line 32) | private parseGroups( method getGroupAdapter (line 52) | private getGroupAdapter(field: FieldCore): Knex.QueryBuilder { FILE: apps/nestjs-backend/src/db-provider/group-query/group-query.interface.ts type IGroupQueryInterface (line 3) | interface IGroupQueryInterface { type IGroupQueryExtra (line 7) | interface IGroupQueryExtra { FILE: apps/nestjs-backend/src/db-provider/group-query/group-query.postgres.ts class GroupQueryPostgres (line 10) | class GroupQueryPostgres extends AbstractGroupQuery { method constructor (line 11) | constructor( method isDistinct (line 22) | private get isDistinct() { method string (line 27) | string(field: FieldCore): Knex.QueryBuilder { method number (line 38) | number(field: FieldCore): Knex.QueryBuilder { method resolveDateTruncUnit (line 56) | private resolveDateTruncUnit( method date (line 71) | date(field: FieldCore): Knex.QueryBuilder { method json (line 94) | json(field: FieldCore): Knex.QueryBuilder { method multipleDate (line 144) | multipleDate(field: FieldCore): Knex.QueryBuilder { method multipleNumber (line 175) | multipleNumber(field: FieldCore): Knex.QueryBuilder { FILE: apps/nestjs-backend/src/db-provider/group-query/group-query.sqlite.ts class GroupQuerySqlite (line 11) | class GroupQuerySqlite extends AbstractGroupQuery { method constructor (line 12) | constructor( method isDistinct (line 23) | private get isDistinct() { method string (line 28) | string(field: IFieldInstance): Knex.QueryBuilder { method number (line 41) | number(field: IFieldInstance): Knex.QueryBuilder { method date (line 54) | date(field: IFieldInstance): Knex.QueryBuilder { method json (line 75) | json(field: IFieldInstance): Knex.QueryBuilder { method multipleDate (line 109) | multipleDate(field: IFieldInstance): Knex.QueryBuilder { method multipleNumber (line 141) | multipleNumber(field: IFieldInstance): Knex.QueryBuilder { FILE: apps/nestjs-backend/src/db-provider/integrity-query/abstract.ts method constructor (line 4) | constructor(protected readonly knex: Knex) {} FILE: apps/nestjs-backend/src/db-provider/integrity-query/integrity-query.postgres.ts class IntegrityQueryPostgres (line 4) | class IntegrityQueryPostgres extends IntegrityQueryAbstract { method constructor (line 5) | constructor(protected readonly knex: Knex) { method checkLinks (line 9) | checkLinks({ method fixLinks (line 93) | fixLinks({ method updateJsonField (line 184) | updateJsonField({ FILE: apps/nestjs-backend/src/db-provider/integrity-query/integrity-query.sqlite.ts class IntegrityQuerySqlite (line 4) | class IntegrityQuerySqlite extends IntegrityQueryAbstract { method constructor (line 5) | constructor(protected readonly knex: Knex) { method checkLinks (line 9) | checkLinks({ method fixLinks (line 111) | fixLinks({ method updateJsonField (line 204) | updateJsonField({ FILE: apps/nestjs-backend/src/db-provider/postgres.provider.ts class PostgresProvider (line 70) | class PostgresProvider implements IDbProvider { method constructor (line 72) | constructor(private readonly knex: Knex) {} method createSchema (line 76) | createSchema(schemaName: string) { method dropSchema (line 83) | dropSchema(schemaName: string): string { method generateDbTableName (line 87) | generateDbTableName(baseId: string, name: string) { method getForeignKeysInfo (line 91) | getForeignKeysInfo(dbTableName: string) { method renameTableName (line 117) | renameTableName(oldTableName: string, newTableName: string) { method dropTable (line 124) | dropTable(tableName: string): string { method checkColumnExist (line 128) | async checkColumnExist( method checkTableExist (line 144) | checkTableExist(tableName: string): string { method renameColumn (line 154) | renameColumn(tableName: string, oldName: string, newName: string): str... method dropColumn (line 163) | dropColumn( method dropColumnAndIndex (line 182) | dropColumnAndIndex(tableName: string, columnName: string, _indexName: ... method columnInfo (line 192) | columnInfo(tableName: string): string { method updateJsonColumn (line 206) | updateJsonColumn( method updateJsonArrayColumn (line 230) | updateJsonArrayColumn( method modifyColumnSchema (line 258) | modifyColumnSchema( method createColumnSchema (line 327) | createColumnSchema( method splitTableName (line 368) | splitTableName(tableName: string): string[] { method joinDbTableName (line 372) | joinDbTableName(schemaName: string, dbTableName: string) { method duplicateTable (line 376) | duplicateTable( method alterAutoNumber (line 394) | alterAutoNumber(tableName: string): string[] { method batchInsertSql (line 416) | batchInsertSql(tableName: string, insertData: ReadonlyArray):... method executeUpdateRecordsSqlList (line 420) | executeUpdateRecordsSqlList(params: { method updateFromSelectSql (line 453) | updateFromSelectSql(params: { method lockRecordsSql (line 524) | lockRecordsSql(params: { method aggregationQuery (line 545) | aggregationQuery( method filterQuery (line 562) | filterQuery( method sortQuery (line 572) | sortQuery( method groupQuery (line 582) | groupQuery( method searchQuery (line 599) | searchQuery( method searchCountQuery (line 616) | searchCountQuery( method searchIndexQuery (line 633) | searchIndexQuery( method searchIndex (line 657) | searchIndex() { method duplicateTableQuery (line 661) | duplicateTableQuery(queryBuilder: Knex.QueryBuilder) { method duplicateAttachmentTableQuery (line 665) | duplicateAttachmentTableQuery(queryBuilder: Knex.QueryBuilder) { method shareFilterCollaboratorsQuery (line 669) | shareFilterCollaboratorsQuery( method baseQuery (line 685) | baseQuery(): BaseQueryAbstract { method integrityQuery (line 689) | integrityQuery(): IntegrityQueryAbstract { method calendarDailyCollectionQuery (line 693) | calendarDailyCollectionQuery( method lookupOptionsQuery (line 758) | lookupOptionsQuery(optionsKey: keyof ILookupLinkOptionsVo, value: stri... method optionsQuery (line 772) | optionsQuery(type: FieldType, optionsKey: string, value: string): stri... method searchBuilder (line 801) | searchBuilder(qb: Knex.QueryBuilder, search: [string, string][]): Knex... method getTableIndexes (line 809) | getTableIndexes(dbTableName: string): string { method generatedColumnQuery (line 842) | generatedColumnQuery(): IGeneratedColumnQueryInterface { method convertFormulaToGeneratedColumn (line 846) | convertFormulaToGeneratedColumn( method selectQuery (line 870) | selectQuery(): ISelectQueryInterface { method convertFormulaToSelectQuery (line 874) | convertFormulaToSelectQuery( method generateDatabaseViewName (line 897) | generateDatabaseViewName(tableId: string): string { method createDatabaseView (line 901) | createDatabaseView( method recreateDatabaseView (line 918) | recreateDatabaseView(table: TableDomain, qb: Knex.QueryBuilder): strin... method dropDatabaseView (line 940) | dropDatabaseView(tableId: string): string[] { method refreshDatabaseView (line 949) | refreshDatabaseView(tableId: string, options?: { concurrently?: boolea... method createMaterializedView (line 963) | createMaterializedView(table: TableDomain, qb: Knex.QueryBuilder): str... method dropMaterializedView (line 968) | dropMaterializedView(tableId: string): string { FILE: apps/nestjs-backend/src/db-provider/search-query/abstract.ts method appendQueryBuilder (line 8) | static appendQueryBuilder( method buildSearchCountQuery (line 29) | static buildSearchCountQuery( method constructor (line 72) | constructor( method normalizeSelection (line 111) | private normalizeSelection(selection: unknown): string | undefined { method quoteIdentifier (line 127) | private quoteIdentifier(identifier: string): string { FILE: apps/nestjs-backend/src/db-provider/search-query/get-offset.ts function getOffset (line 4) | function getOffset(timeZone: string) { FILE: apps/nestjs-backend/src/db-provider/search-query/search-index-builder.postgres.ts type IPgIndex (line 8) | interface IPgIndex { class FieldFormatter (line 18) | class FieldFormatter { method getSearchableExpression (line 19) | static getSearchableExpression(field: IFieldInstance, isArray = false)... method getIndexExpression (line 69) | static getIndexExpression(field: IFieldInstance): string | null { class IndexBuilderPostgres (line 74) | class IndexBuilderPostgres extends IndexBuilderAbstract { method getIndexPrefix (line 78) | private getIndexPrefix() { method getIndexName (line 82) | private getIndexName(table: string, field: Pick; class FieldFormatter (line 10) | class FieldFormatter { method getSearchableExpression (line 11) | static getSearchableExpression(field: IFieldInstance, isArray = false)... method getIndexExpression (line 59) | static getIndexExpression(field: IFieldInstance): string { constant NO_OPERATION_SQL (line 65) | const NO_OPERATION_SQL = '/* no operation */'; class IndexBuilderSqlite (line 67) | class IndexBuilderSqlite extends IndexBuilderAbstract { method getIndexName (line 68) | private getIndexName(table: string, dbFieldName: string): string { method createSingleIndexSql (line 72) | createSingleIndexSql(dbTableName: string, field: IFieldInstance): stri... method getDropIndexSql (line 76) | getDropIndexSql(dbTableName: string): string { method getCreateIndexSql (line 83) | getCreateIndexSql(dbTableName: string, searchFields: IFieldInstance[])... method getExistTableIndexSql (line 87) | getExistTableIndexSql(dbTableName: string): string { method getDeleteSingleIndexSql (line 96) | getDeleteSingleIndexSql(dbTableName: string, field: IFieldInstance): s... method getUpdateSingleIndexNameSql (line 100) | getUpdateSingleIndexNameSql( method getIndexInfoSql (line 108) | getIndexInfoSql(dbTableName: string): string { method getAbnormalIndex (line 112) | getAbnormalIndex(dbTableName: string, fields: IFieldInstance[], existi... FILE: apps/nestjs-backend/src/db-provider/search-query/search-query.postgres.ts class SearchQueryPostgres (line 15) | class SearchQueryPostgres extends SearchQueryAbstract { method constructor (line 17) | constructor( method appendBuilder (line 28) | appendBuilder() { method getSql (line 35) | getSql(): string | null { method getQuery (line 40) | getQuery() { method getSearchQueryWithIndex (line 51) | protected getSearchQueryWithIndex() { method getSingleCellTypeQuery (line 67) | protected getSingleCellTypeQuery() { method getMultipleCellTypeQuery (line 89) | protected getMultipleCellTypeQuery() { method text (line 111) | protected text() { method number (line 127) | protected number() { method date (line 138) | protected date() { method json (line 153) | protected json() { method multipleText (line 162) | protected multipleText() { method multipleNumber (line 181) | protected multipleNumber() { method multipleDate (line 200) | protected multipleDate() { method multipleJson (line 219) | protected multipleJson() { class SearchQueryPostgresBuilder (line 246) | class SearchQueryPostgresBuilder { method constructor (line 247) | constructor( method getSearchConditions (line 269) | private getSearchConditions() { method getCaseWhenSqlBy (line 292) | getCaseWhenSqlBy() { method getSearchIndexQuery (line 319) | getSearchIndexQuery() { FILE: apps/nestjs-backend/src/db-provider/search-query/search-query.sqlite.ts class SearchQuerySqlite (line 12) | class SearchQuerySqlite extends SearchQueryAbstract { method constructor (line 14) | constructor( method appendBuilder (line 25) | appendBuilder() { method getSql (line 32) | getSql(): string | null { method getQuery (line 36) | getQuery() { method getSearchQueryWithIndex (line 43) | protected getSearchQueryWithIndex() { method getMultipleCellTypeQuery (line 47) | protected getMultipleCellTypeQuery() { method getSingleCellTypeQuery (line 69) | protected getSingleCellTypeQuery() { method text (line 91) | protected text() { method json (line 101) | protected json() { method date (line 110) | protected date() { method number (line 121) | protected number() { method multipleText (line 132) | protected multipleText() { method multipleJson (line 151) | protected multipleJson() { method multipleNumber (line 169) | protected multipleNumber() { method multipleDate (line 188) | protected multipleDate() { class SearchQuerySqliteBuilder (line 208) | class SearchQuerySqliteBuilder { method constructor (line 209) | constructor( method getSearchConditions (line 230) | private getSearchConditions() { method getSearchIndexQuery (line 250) | getSearchIndexQuery() { FILE: apps/nestjs-backend/src/db-provider/search-query/types.ts type ISearchCellValueType (line 8) | type ISearchCellValueType = Exclude; type ISearchQueryConstructor (line 10) | type ISearchQueryConstructor = { FILE: apps/nestjs-backend/src/db-provider/select-query/postgres/select-query.postgres.ts class SelectQueryPostgres (line 29) | class SelectQueryPostgres extends SelectQueryAbstract { method tableAlias (line 30) | private get tableAlias(): string | undefined { method qualifySystemColumn (line 35) | private qualifySystemColumn(column: string): string { method hasWrappingParentheses (line 41) | private hasWrappingParentheses(expr: string): boolean { method stripOuterParentheses (line 63) | private stripOuterParentheses(expr: string): string { method getParamInfo (line 71) | private getParamInfo(index?: number) { method isNumericLiteral (line 75) | private isNumericLiteral(expr: string): boolean { method toNumericSafe (line 100) | private toNumericSafe( method looseNumericCoercion (line 153) | private looseNumericCoercion( method numericFromJson (line 187) | private numericFromJson(expr: string): string { method buildNumericArrayAggregation (line 199) | private buildNumericArrayAggregation(expr: string): { sum: string; cou... method buildNumericArrayExtremum (line 211) | private buildNumericArrayExtremum(expr: string, op: 'max' | 'min'): st... method collapseNumeric (line 220) | private collapseNumeric(expr: string, metadataIndex?: number): string { method isDateLikeOperand (line 225) | private isDateLikeOperand(metadataIndex?: number): boolean { method buildDayInterval (line 246) | private buildDayInterval(expr: string, metadataIndex?: number): string { method isEmptyStringLiteral (line 251) | private isEmptyStringLiteral(value: string): boolean { method isNullLiteral (line 255) | private isNullLiteral(value: string): boolean { method shouldCoalesceNumericComparison (line 259) | private shouldCoalesceNumericComparison(value: string, metadataIndex?:... method normalizeNumericComparisonOperand (line 267) | private normalizeNumericComparisonOperand(value: string, metadataIndex... method normalizeBlankComparable (line 275) | private normalizeBlankComparable(value: string, metadataIndex?: number... method ensureTextCollation (line 282) | private ensureTextCollation(expr: string): string { method isTextLikeExpression (line 286) | private isTextLikeExpression(value: string, metadataIndex?: number): b... method isNumericLikeExpression (line 312) | private isNumericLikeExpression(value: string, metadataIndex?: number)... method getExpressionFieldType (line 341) | private getExpressionFieldType(value: string): DbFieldType | undefined { method isHardTextExpression (line 368) | private isHardTextExpression(value: string): boolean { method coerceArrayLikeToText (line 379) | private coerceArrayLikeToText(expr: string, metadataIndex?: number): s... method buildJsonScalarCoercion (line 408) | private buildJsonScalarCoercion(jsonExpr: string): string { method coerceJsonExpressionToText (line 433) | private coerceJsonExpressionToText(wrapped: string, metadataIndex?: nu... method coerceNonJsonExpressionToText (line 442) | private coerceNonJsonExpressionToText(wrapped: string): string { method coerceToTextComparable (line 452) | private coerceToTextComparable(value: string, metadataIndex?: number):... method countANonNullExpression (line 518) | private countANonNullExpression(value: string, metadataIndex?: number)... method normalizeIntervalUnit (line 527) | private normalizeIntervalUnit( method normalizeDiffUnit (line 588) | private normalizeDiffUnit( method normalizeTruncateUnit (line 631) | private normalizeTruncateUnit( method buildBlankAwareComparison (line 676) | private buildBlankAwareComparison( method sanitizeTimestampInput (line 734) | private sanitizeTimestampInput(date: string): string { method isTrustedDatetime (line 740) | private isTrustedDatetime(expr: string, metadataIndex?: number): boole... method isTimestampish (line 755) | private isTimestampish(expr: string): boolean { method shouldTreatAsDatetime (line 765) | private shouldTreatAsDatetime(expr: string, metadataIndex?: number): b... method tzWrap (line 784) | private tzWrap(date: string, metadataIndex?: number): string { method buildTimezoneOffsetSql (line 803) | private buildTimezoneOffsetSql(localTimestampSql: string): string { method getDatePattern (line 815) | private getDatePattern(date: DateFormattingPreset | string): string { method getTimePattern (line 844) | private getTimePattern(time?: TimeFormatting): string | null { method buildDatetimeFormatting (line 855) | private buildDatetimeFormatting(formatting?: Partial', left: string, ... method coalesceNumeric (line 63) | private coalesceNumeric(expr: string): string { method sum (line 68) | sum(params: string[]): string { method average (line 79) | average(params: string[]): string { method max (line 87) | max(params: string[]): string { method min (line 91) | min(params: string[]): string { method round (line 95) | round(value: string, precision?: string): string { method roundUp (line 102) | roundUp(value: string, precision?: string): string { method roundDown (line 110) | roundDown(value: string, precision?: string): string { method ceiling (line 118) | ceiling(value: string): string { method floor (line 122) | floor(value: string): string { method even (line 126) | even(value: string): string { method odd (line 130) | odd(value: string): string { method int (line 134) | int(value: string): string { method abs (line 138) | abs(value: string): string { method sqrt (line 142) | sqrt(value: string): string { method power (line 146) | power(base: string, exponent: string): string { method exp (line 150) | exp(value: string): string { method log (line 154) | log(value: string, base?: string): string { method mod (line 163) | mod(dividend: string, divisor: string): string { method value (line 167) | value(text: string): string { method concatenate (line 172) | concatenate(params: string[]): string { method stringConcat (line 176) | stringConcat(left: string, right: string): string { method find (line 180) | find(searchText: string, withinText: string, startNum?: string): string { method search (line 187) | search(searchText: string, withinText: string, startNum?: string): str... method mid (line 195) | mid(text: string, startNum: string, numChars: string): string { method left (line 199) | left(text: string, numChars: string): string { method right (line 203) | right(text: string, numChars: string): string { method replace (line 207) | replace(oldText: string, startNum: string, numChars: string, newText: ... method regexpReplace (line 211) | regexpReplace(text: string, pattern: string, replacement: string): str... method substitute (line 216) | substitute(text: string, oldText: string, newText: string, instanceNum... method lower (line 221) | lower(text: string): string { method upper (line 225) | upper(text: string): string { method rept (line 229) | rept(text: string, numTimes: string): string { method trim (line 234) | trim(text: string): string { method len (line 238) | len(text: string): string { method t (line 242) | t(value: string): string { method encodeUrlComponent (line 247) | encodeUrlComponent(text: string): string { method now (line 253) | now(): string { method normalizeDateModifier (line 257) | private normalizeDateModifier(unitLiteral: string): { method normalizeDiffUnit (line 303) | private normalizeDiffUnit( method normalizeTruncateFormat (line 346) | private normalizeTruncateFormat(unitLiteral: string): string { method today (line 385) | today(): string { method dateAdd (line 389) | dateAdd(date: string, count: string, unit: string): string { method datestr (line 395) | datestr(date: string): string { method buildMonthDiff (line 399) | private buildMonthDiff(startDate: string, endDate: string): string { method datetimeDiff (line 416) | datetimeDiff(startDate: string, endDate: string, unit: string): string { method datetimeFormat (line 443) | datetimeFormat(date: string, format: string): string { method datetimeParse (line 447) | datetimeParse(dateString: string, _format?: string): string { method day (line 452) | day(date: string): string { method buildNowDiffByUnit (line 456) | private buildNowDiffByUnit(nowExpr: string, dateExpr: string, unit: st... method fromNow (line 483) | fromNow(date: string, unit = 'day'): string { method hour (line 487) | hour(date: string): string { method isAfter (line 491) | isAfter(date1: string, date2: string): string { method isBefore (line 495) | isBefore(date1: string, date2: string): string { method isSame (line 499) | isSame(date1: string, date2: string, unit?: string): string { method lastModifiedTime (line 512) | lastModifiedTime(): string { method minute (line 516) | minute(date: string): string { method month (line 520) | month(date: string): string { method second (line 524) | second(date: string): string { method timestr (line 528) | timestr(date: string): string { method toNow (line 532) | toNow(date: string, unit = 'day'): string { method weekNum (line 536) | weekNum(date: string): string { method weekday (line 540) | weekday(date: string, startDayOfWeek?: string): string { method workday (line 552) | workday(startDate: string, days: string, holidayStr?: string): string { method workdayDiff (line 614) | workdayDiff(startDate: string, endDate: string): string { method year (line 618) | year(date: string): string { method createdTime (line 622) | createdTime(): string { method truthinessScore (line 627) | private truthinessScore(value: string): string { method if (line 638) | if(condition: string, valueIfTrue: string, valueIfFalse: string): stri... method and (line 643) | and(params: string[]): string { method or (line 647) | or(params: string[]): string { method not (line 651) | not(value: string): string { method xor (line 655) | xor(params: string[]): string { method blank (line 662) | blank(): string { method error (line 667) | error(_message: string): string { method isError (line 672) | isError(_value: string): string { method switch (line 676) | switch( method count (line 693) | count(params: string[]): string { method countA (line 697) | countA(params: string[]): string { method countAll (line 701) | countAll(value: string): string { method buildJsonArrayUnion (line 721) | private buildJsonArrayUnion( method arrayJoin (line 740) | arrayJoin(array: string, separator?: string): string { method arrayUnique (line 746) | arrayUnique(arrays: string[]): string { method arrayFlatten (line 762) | arrayFlatten(arrays: string[]): string { method arrayCompact (line 774) | arrayCompact(arrays: string[]): string { method recordId (line 790) | recordId(): string { method autoNumber (line 794) | autoNumber(): string { method textAll (line 798) | textAll(value: string): string { method add (line 803) | add(left: string, right: string): string { method subtract (line 807) | subtract(left: string, right: string): string { method multiply (line 811) | multiply(left: string, right: string): string { method divide (line 815) | divide(left: string, right: string): string { method modulo (line 819) | modulo(left: string, right: string): string { method equal (line 824) | equal(left: string, right: string): string { method notEqual (line 828) | notEqual(left: string, right: string): string { method greaterThan (line 832) | greaterThan(left: string, right: string): string { method lessThan (line 836) | lessThan(left: string, right: string): string { method greaterThanOrEqual (line 840) | greaterThanOrEqual(left: string, right: string): string { method lessThanOrEqual (line 844) | lessThanOrEqual(left: string, right: string): string { method logicalAnd (line 849) | logicalAnd(left: string, right: string): string { method logicalOr (line 853) | logicalOr(left: string, right: string): string { method bitwiseAnd (line 857) | bitwiseAnd(left: string, right: string): string { method unaryMinus (line 862) | unaryMinus(value: string): string { method fieldReference (line 867) | fieldReference(_fieldId: string, columnName: string): string { method stringLiteral (line 872) | stringLiteral(value: string): string { method numberLiteral (line 876) | numberLiteral(value: number): string { method booleanLiteral (line 880) | booleanLiteral(value: boolean): string { method nullLiteral (line 884) | nullLiteral(): string { method castToNumber (line 889) | castToNumber(value: string): string { method castToString (line 893) | castToString(value: string): string { method castToBoolean (line 897) | castToBoolean(value: string): string { method castToDate (line 901) | castToDate(value: string): string { method isNull (line 906) | isNull(value: string): string { method coalesce (line 910) | coalesce(params: string[]): string { method parentheses (line 915) | parentheses(expression: string): string { FILE: apps/nestjs-backend/src/db-provider/sort-query/function/sort-function.abstract.ts method constructor (line 11) | constructor( method compiler (line 35) | compiler(builderClient: Knex.QueryBuilder, sortFunc: SortFunc) { method generateSQL (line 49) | generateSQL(sortFunc: SortFunc): string | undefined { method asc (line 63) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 71) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 79) | getAscSQL() { method getDescSQL (line 86) | getDescSQL() { method createSqlPlaceholders (line 93) | protected createSqlPlaceholders(values: unknown[]): string { method normalizeSelection (line 97) | private normalizeSelection(selection: unknown): string | undefined { method quoteIdentifier (line 113) | private quoteIdentifier(identifier: string): string { method isNullConstant (line 124) | private isNullConstant(selection?: string): boolean { FILE: apps/nestjs-backend/src/db-provider/sort-query/function/sort-function.interface.ts type ISortFunctionHandler (line 3) | type ISortFunctionHandler = (builderClient: Knex.QueryBuilder) => Knex.Q... type ISortFunctionInterface (line 5) | interface ISortFunctionInterface { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/multiple-value/multiple-datetime-sort.adapter.ts class MultipleDateTimeSortAdapter (line 6) | class MultipleDateTimeSortAdapter extends SortFunctionPostgres { method asc (line 7) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 44) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 81) | getAscSQL() { method getDescSQL (line 119) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/multiple-value/multiple-json-sort.adapter.ts class MultipleJsonSortAdapter (line 7) | class MultipleJsonSortAdapter extends SortFunctionPostgres { method firstChoiceIndexExpr (line 12) | private firstChoiceIndexExpr(optionSets: string[]) { method orderByMultiSelect (line 25) | private orderByMultiSelect( method asc (line 41) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 61) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 81) | getAscSQL() { method getDescSQL (line 107) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/multiple-value/multiple-number-sort.adapter.ts class MultipleNumberSortAdapter (line 5) | class MultipleNumberSortAdapter extends SortFunctionPostgres { method asc (line 6) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 28) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 50) | getAscSQL() { method getDescSQL (line 72) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/single-value/date-sort.adapter.ts class DateSortAdapter (line 6) | class DateSortAdapter extends SortFunctionPostgres { method asc (line 7) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 27) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 47) | getAscSQL() { method getDescSQL (line 67) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/single-value/json-sort.adapter.ts class JsonSortAdapter (line 5) | class JsonSortAdapter extends SortFunctionPostgres { method asc (line 6) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 20) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 34) | getAscSQL() { method getDescSQL (line 47) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/single-value/string-sort.adapter.ts class StringSortAdapter (line 6) | class StringSortAdapter extends SortFunctionPostgres { method asc (line 7) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 29) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 51) | getAscSQL() { method getDescSQL (line 72) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/sort-query.function.ts class SortFunctionPostgres (line 5) | class SortFunctionPostgres extends AbstractSortFunction { method asc (line 6) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 18) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 30) | getAscSQL() { method getDescSQL (line 43) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/postgres/sort-query.postgres.ts class SortQueryPostgres (line 12) | class SortQueryPostgres extends AbstractSortQuery { method booleanSort (line 13) | booleanSort(field: FieldCore, context?: IRecordQuerySortContext): Sort... method numberSort (line 17) | numberSort(field: FieldCore, context?: IRecordQuerySortContext): SortF... method dateTimeSort (line 25) | dateTimeSort(field: FieldCore, context?: IRecordQuerySortContext): Sor... method stringSort (line 33) | stringSort(field: FieldCore, context?: IRecordQuerySortContext): SortF... method jsonSort (line 41) | jsonSort(field: FieldCore, context?: IRecordQuerySortContext): SortFun... FILE: apps/nestjs-backend/src/db-provider/sort-query/sort-query.abstract.ts method constructor (line 13) | constructor( method appendSortBuilder (line 22) | appendSortBuilder(): Knex.QueryBuilder { method getRawSortSQLText (line 26) | getRawSortSQLText(): string { method genSortSQL (line 30) | private genSortSQL(sortObjs?: ISortItem[]) { method parseSorts (line 53) | private parseSorts(queryBuilder: Knex.QueryBuilder, sortObjs?: ISortItem... method getSortAdapter (line 70) | private getSortAdapter(field: FieldCore): AbstractSortFunction { FILE: apps/nestjs-backend/src/db-provider/sort-query/sort-query.interface.ts type ISortQueryInterface (line 3) | interface ISortQueryInterface { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/multiple-value/multiple-datetime-sort.adapter.ts class MultipleDateTimeSortAdapter (line 7) | class MultipleDateTimeSortAdapter extends SortFunctionSqlite { method asc (line 8) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 40) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 72) | getAscSQL() { method getDescSQL (line 107) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/multiple-value/multiple-json-sort.adapter.ts class MultipleJsonSortAdapter (line 4) | class MultipleJsonSortAdapter extends SortFunctionSqlite { method asc (line 5) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 18) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 31) | getAscSQL() { method getDescSQL (line 45) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/multiple-value/multiple-number-sort.adapter.ts class MultipleNumberSortAdapter (line 5) | class MultipleNumberSortAdapter extends SortFunctionSqlite { method asc (line 6) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 25) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 44) | getAscSQL() { method getDescSQL (line 63) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/single-value/date-sort.adapter.ts class DateSortAdapter (line 7) | class DateSortAdapter extends SortFunctionSqlite { method asc (line 8) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 29) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 50) | getAscSQL() { method getDescSQL (line 71) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/single-value/json-sort.adapter.ts class JsonSortAdapter (line 5) | class JsonSortAdapter extends SortFunctionSqlite { method asc (line 6) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 20) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 34) | getAscSQL() { method getDescSQL (line 47) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/single-value/string-sort.adapter.ts class StringSortAdapter (line 6) | class StringSortAdapter extends SortFunctionSqlite { method asc (line 7) | asc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method desc (line 26) | desc(builderClient: Knex.QueryBuilder): Knex.QueryBuilder { method getAscSQL (line 45) | getAscSQL() { method getDescSQL (line 63) | getDescSQL() { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/sort-query.function.ts class SortFunctionSqlite (line 3) | class SortFunctionSqlite extends AbstractSortFunction { method generateOrderByCase (line 4) | generateOrderByCase(keys: string[], columnName: string): string { FILE: apps/nestjs-backend/src/db-provider/sort-query/sqlite/sort-query.sqlite.ts class SortQuerySqlite (line 12) | class SortQuerySqlite extends AbstractSortQuery { method booleanSort (line 13) | booleanSort(field: FieldCore, context?: IRecordQuerySortContext): Sort... method numberSort (line 17) | numberSort(field: FieldCore, context?: IRecordQuerySortContext): SortF... method dateTimeSort (line 25) | dateTimeSort(field: FieldCore, context?: IRecordQuerySortContext): Sor... method stringSort (line 33) | stringSort(field: FieldCore, context?: IRecordQuerySortContext): SortF... method jsonSort (line 40) | jsonSort(field: FieldCore, context?: IRecordQuerySortContext): SortFun... FILE: apps/nestjs-backend/src/db-provider/sqlite.provider.ts class SqliteProvider (line 67) | class SqliteProvider implements IDbProvider { method constructor (line 70) | constructor(private readonly knex: Knex) {} method createSchema (line 74) | createSchema(_schemaName: string) { method dropSchema (line 78) | dropSchema(_schemaName: string) { method generateDbTableName (line 82) | generateDbTableName(baseId: string, name: string) { method getForeignKeysInfo (line 87) | getForeignKeysInfo(_tableName: string): string { method renameTableName (line 95) | renameTableName(oldTableName: string, newTableName: string) { method dropTable (line 99) | dropTable(tableName: string): string { method checkColumnExist (line 103) | async checkColumnExist( method checkTableExist (line 113) | checkTableExist(tableName: string): string { method renameColumn (line 125) | renameColumn(tableName: string, oldName: string, newName: string): str... method modifyColumnSchema (line 133) | modifyColumnSchema( method createColumnSchema (line 177) | createColumnSchema( method splitTableName (line 217) | splitTableName(tableName: string): string[] { method joinDbTableName (line 221) | joinDbTableName(schemaName: string, dbTableName: string) { method dropColumn (line 225) | dropColumn( method dropColumnAndIndex (line 243) | dropColumnAndIndex(tableName: string, columnName: string, indexName: s... method columnInfo (line 250) | columnInfo(tableName: string): string { method updateJsonColumn (line 254) | updateJsonColumn( method updateJsonArrayColumn (line 274) | updateJsonArrayColumn( method duplicateTable (line 306) | duplicateTable( method alterAutoNumber (line 322) | alterAutoNumber(_tableName: string): string[] { method batchInsertSql (line 326) | batchInsertSql(tableName: string, insertData: ReadonlyArray):... method executeUpdateRecordsSqlList (line 342) | executeUpdateRecordsSqlList(params: { method updateFromSelectSql (line 371) | updateFromSelectSql(params: { method aggregationQuery (line 417) | aggregationQuery( method filterQuery (line 434) | filterQuery( method sortQuery (line 444) | sortQuery( method groupQuery (line 454) | groupQuery( method searchQuery (line 471) | searchQuery( method searchCountQuery (line 488) | searchCountQuery( method searchIndexQuery (line 505) | searchIndexQuery( method searchIndex (line 529) | searchIndex() { method duplicateTableQuery (line 533) | duplicateTableQuery(queryBuilder: Knex.QueryBuilder) { method duplicateAttachmentTableQuery (line 537) | duplicateAttachmentTableQuery(queryBuilder: Knex.QueryBuilder) { method shareFilterCollaboratorsQuery (line 541) | shareFilterCollaboratorsQuery( method baseQuery (line 555) | baseQuery(): BaseQueryAbstract { method integrityQuery (line 559) | integrityQuery(): IntegrityQueryAbstract { method calendarDailyCollectionQuery (line 563) | calendarDailyCollectionQuery( method lookupOptionsQuery (line 626) | lookupOptionsQuery(optionsKey: keyof ILookupLinkOptionsVo, value: stri... method optionsQuery (line 640) | optionsQuery(type: FieldType, optionsKey: string, value: string): stri... method searchBuilder (line 669) | searchBuilder(qb: Knex.QueryBuilder, search: [string, string][]): Knex... method getTableIndexes (line 677) | getTableIndexes(dbTableName: string): string { method generatedColumnQuery (line 696) | generatedColumnQuery(): IGeneratedColumnQueryInterface { method convertFormulaToGeneratedColumn (line 699) | convertFormulaToGeneratedColumn( method selectQuery (line 723) | selectQuery(): ISelectQueryInterface { method convertFormulaToSelectQuery (line 727) | convertFormulaToSelectQuery( method generateDatabaseViewName (line 749) | generateDatabaseViewName(tableId: string): string { method createDatabaseView (line 753) | createDatabaseView(table: TableDomain, qb: Knex.QueryBuilder): string[] { method recreateDatabaseView (line 758) | recreateDatabaseView(table: TableDomain, qb: Knex.QueryBuilder): strin... method dropDatabaseView (line 766) | dropDatabaseView(tableId: string): string[] { method refreshDatabaseView (line 772) | refreshDatabaseView(_tableId: string): string | undefined { method createMaterializedView (line 776) | createMaterializedView(table: TableDomain, qb: Knex.QueryBuilder): str... method dropMaterializedView (line 781) | dropMaterializedView(tableId: string): string { FILE: apps/nestjs-backend/src/db-provider/utils/default-datetime-parse-pattern.ts constant DEFAULT_DATETIME_PARSE_PATTERN (line 6) | const DEFAULT_DATETIME_PARSE_PATTERN = (() => { FILE: apps/nestjs-backend/src/db-provider/utils/formula-param-metadata.util.ts type IResolvedFormulaParamInfo (line 5) | interface IResolvedFormulaParamInfo { constant EMPTY_INFO (line 16) | const EMPTY_INFO: IResolvedFormulaParamInfo = { function resolveFormulaParamInfo (line 27) | function resolveFormulaParamInfo( function isTrustedNumeric (line 68) | function isTrustedNumeric(info: IResolvedFormulaParamInfo): boolean { function isTextLikeParam (line 72) | function isTextLikeParam(info: IResolvedFormulaParamInfo): boolean { function isDatetimeLikeParam (line 88) | function isDatetimeLikeParam(info: IResolvedFormulaParamInfo): boolean { function isBooleanLikeParam (line 92) | function isBooleanLikeParam(info: IResolvedFormulaParamInfo): boolean { function isJsonLikeParam (line 104) | function isJsonLikeParam(info: IResolvedFormulaParamInfo): boolean { function inferTypeFromField (line 108) | function inferTypeFromField(field?: IFormulaParamMetadata['field']): For... function mapDbFieldType (line 136) | function mapDbFieldType(dbFieldType?: DbFieldType): FormulaParamType | u... FILE: apps/nestjs-backend/src/event-emitter/decorators/emit-controller-event.decorator.ts constant EMIT_EVENT_NAME (line 7) | const EMIT_EVENT_NAME = 'EMIT_EVENT_NAME'; function EmitControllerEvent (line 9) | function EmitControllerEvent(name: Events): MethodDecorator { FILE: apps/nestjs-backend/src/event-emitter/event-emitter.module.ts type EventEmitterModuleOptions (line 18) | interface EventEmitterModuleOptions { class EventEmitterModule (line 26) | class EventEmitterModule extends EventEmitterModuleClass { method register (line 27) | static register(options?: typeof OPTIONS_TYPE): DynamicModule { FILE: apps/nestjs-backend/src/event-emitter/event-emitter.service.ts type DocType (line 37) | type DocType = IdPrefix.Table | IdPrefix.Field | IdPrefix.View | IdPrefi... class EventEmitterService (line 40) | class EventEmitterService { method constructor (line 71) | constructor( method emit (line 76) | emit(event: string, data: T): boolean { method emitAsync (line 80) | emitAsync(event: string, data: T): Prom... method ops2Event (line 85) | async ops2Event(rawOpMaps?: IRawOpMap[]): Promise { method aggregateEventsByGroup (line 103) | private aggregateEventsByGroup(project: GroupedObservable { FILE: apps/nestjs-backend/src/event-emitter/event-job/fallback/fallback-queue.module.ts class FallbackQueueModule (line 8) | class FallbackQueueModule { method registerQueue (line 9) | static registerQueue(name: string): DynamicModule { FILE: apps/nestjs-backend/src/event-emitter/event-job/fallback/fallback-queue.service.ts constant PROCESSOR_METADATA (line 8) | const PROCESSOR_METADATA = 'bullmq:processor_metadata'; class FallbackQueueService (line 11) | class FallbackQueueService implements OnModuleInit { method constructor (line 13) | constructor( method onModuleInit (line 18) | async onModuleInit() { method collectionProcess (line 23) | collectionProcess() { method handleListener (line 55) | private async handleListener( FILE: apps/nestjs-backend/src/event-emitter/events/app/app.event.ts type IAppVo (line 6) | interface IAppVo { type IAppCreatePayload (line 11) | type IAppCreatePayload = { baseId: string; app: IAppVo }; type IAppDeletePayload (line 12) | type IAppDeletePayload = { baseId: string; appId: string; permanent?: bo... type IAppUpdatePayload (line 13) | type IAppUpdatePayload = { baseId: string; app: IAppVo }; class AppCreateEvent (line 15) | class AppCreateEvent extends CoreEvent { method constructor (line 18) | constructor(payload: IAppCreatePayload, context: IEventContext) { class AppDeleteEvent (line 23) | class AppDeleteEvent extends CoreEvent { method constructor (line 25) | constructor(payload: IAppDeletePayload, context: IEventContext) { class AppUpdateEvent (line 30) | class AppUpdateEvent extends CoreEvent { method constructor (line 33) | constructor(payload: IAppUpdatePayload, context: IEventContext) { class AppEventFactory (line 38) | class AppEventFactory { method create (line 39) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/base/base-node.event.ts type IBaseNodeCreatePayload (line 10) | type IBaseNodeCreatePayload = { baseId: string; node: IBaseNodeVo }; type IBaseNodeDeletePayload (line 11) | type IBaseNodeDeletePayload = { baseId: string; node: IDeleteBaseNodeVo }; type IBaseNodeUpdatePayload (line 12) | type IBaseNodeUpdatePayload = IBaseNodeCreatePayload; class BaseNodeEventFactory (line 15) | class BaseNodeEventFactory { method create (line 16) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/base/base.event.ts type IBaseCreatePayload (line 7) | type IBaseCreatePayload = { base: ICreateBaseVo }; type IBaseDeletePayload (line 8) | type IBaseDeletePayload = { baseId: string; permanent?: boolean }; type IBaseUpdatePayload (line 9) | type IBaseUpdatePayload = IBaseCreatePayload; type IBasePermissionUpdatePayload (line 10) | type IBasePermissionUpdatePayload = { baseId: string }; class BaseCreateEvent (line 12) | class BaseCreateEvent extends CoreEvent { method constructor (line 15) | constructor(base: ICreateBaseVo, context: IEventContext) { class BaseDeleteEvent (line 20) | class BaseDeleteEvent extends CoreEvent { method constructor (line 22) | constructor(payload: IBaseDeletePayload, context: IEventContext) { class BaseUpdateEvent (line 27) | class BaseUpdateEvent extends CoreEvent { method constructor (line 30) | constructor(base: ICreateBaseVo, context: IEventContext) { class BasePermissionUpdateEvent (line 35) | class BasePermissionUpdateEvent extends CoreEvent { method constructor (line 18) | constructor(payload: IBaseFolderCreatePayload, context: IEventContext) { class BaseFolderDeleteEvent (line 23) | class BaseFolderDeleteEvent extends CoreEvent { method constructor (line 25) | constructor(payload: IBaseFolderDeletePayload, context: IEventContext) { class BaseFolderUpdateEvent (line 30) | class BaseFolderUpdateEvent extends CoreEvent { method constructor (line 33) | constructor(payload: IBaseFolderUpdatePayload, context: IEventContext) { class BaseFolderEventFactory (line 38) | class BaseFolderEventFactory { method create (line 39) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/core-event.ts type IEventContext (line 7) | interface IEventContext { type IEventRawContext (line 24) | interface IEventRawContext { method constructor (line 36) | constructor( FILE: apps/nestjs-backend/src/event-emitter/events/dashboard/dashboard.event.ts type IDashboardCreatePayload (line 7) | type IDashboardCreatePayload = { baseId: string; dashboard: ICreateDashb... type IDashboardUpdatePayload (line 8) | type IDashboardUpdatePayload = { baseId: string; dashboard: ICreateDashb... type IDashboardDeletePayload (line 9) | type IDashboardDeletePayload = { baseId: string; dashboardId: string; pe... class DashboardCreateEvent (line 11) | class DashboardCreateEvent extends CoreEvent { method constructor (line 14) | constructor(payload: IDashboardCreatePayload, context: IEventContext) { class DashboardDeleteEvent (line 19) | class DashboardDeleteEvent extends CoreEvent { method constructor (line 21) | constructor(payload: IDashboardDeletePayload, context: IEventContext) { class DashboardUpdateEvent (line 26) | class DashboardUpdateEvent extends CoreEvent { method constructor (line 29) | constructor(payload: IDashboardUpdatePayload, context: IEventContext) { class DashboardEventFactory (line 34) | class DashboardEventFactory { method create (line 35) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/event.enum.ts type Events (line 2) | enum Events { FILE: apps/nestjs-backend/src/event-emitter/events/last-visit/last-visit.event.ts class LastVisitUpdateEvent (line 4) | class LastVisitUpdateEvent { method constructor (line 7) | constructor(public readonly payload: IUpdateUserLastVisitRo) {} FILE: apps/nestjs-backend/src/event-emitter/events/op-event.ts type IChangeValue (line 4) | interface IChangeValue { FILE: apps/nestjs-backend/src/event-emitter/events/space/collaborator.event.ts class CollaboratorCreateEvent (line 3) | class CollaboratorCreateEvent { method constructor (line 6) | constructor(public readonly spaceId: string) {} class CollaboratorDeleteEvent (line 9) | class CollaboratorDeleteEvent { method constructor (line 12) | constructor(public readonly spaceId: string) {} class CollaboratorUpdateEvent (line 15) | class CollaboratorUpdateEvent { method constructor (line 18) | constructor(public readonly spaceId: string) {} FILE: apps/nestjs-backend/src/event-emitter/events/space/space.event.ts type ISpaceCreatePayload (line 7) | type ISpaceCreatePayload = { space: ICreateSpaceVo }; type ISpaceDeletePayload (line 8) | type ISpaceDeletePayload = { spaceId: string; permanent?: boolean }; type ISpaceUpdatePayload (line 9) | type ISpaceUpdatePayload = ISpaceCreatePayload; class SpaceCreateEvent (line 11) | class SpaceCreateEvent extends CoreEvent { method constructor (line 14) | constructor(space: ICreateSpaceVo, context: IEventContext) { class SpaceDeleteEvent (line 19) | class SpaceDeleteEvent extends CoreEvent { method constructor (line 22) | constructor(payload: ISpaceDeletePayload, context: IEventContext) { class SpaceUpdateEvent (line 27) | class SpaceUpdateEvent extends CoreEvent { method constructor (line 30) | constructor(space: ICreateSpaceVo, context: IEventContext) { class SpaceEventFactory (line 35) | class SpaceEventFactory { method create (line 36) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/table/button.event.ts type IButtonClickEventPayload (line 6) | type IButtonClickEventPayload = { class ButtonClickEvent (line 12) | class ButtonClickEvent extends CoreEvent { method constructor (line 15) | constructor(payload: IButtonClickEventPayload, context: IEventContext) { class ButtonEventFactory (line 20) | class ButtonEventFactory { method create (line 21) | static create(name: string, payload: IButtonClickEventPayload, context... FILE: apps/nestjs-backend/src/event-emitter/events/table/field.event.ts type IChangeField (line 9) | type IChangeField = Record & { id: stri... type IFieldCreatePayload (line 11) | type IFieldCreatePayload = { tableId: string; field: IFieldVo | IFieldVo... type IFieldDeletePayload (line 12) | type IFieldDeletePayload = { tableId: string; fieldId: string | string[] }; type IFieldUpdatePayload (line 13) | type IFieldUpdatePayload = { class FieldCreateEvent (line 18) | class FieldCreateEvent extends OpEvent { method constructor (line 22) | constructor(tableId: string, field: IFieldVo | IFieldVo[], context: IE... class FieldDeleteEvent (line 27) | class FieldDeleteEvent extends OpEvent { method constructor (line 32) | constructor(tableId: string, fieldId: string | string[], context: IEve... class FieldUpdateEvent (line 37) | class FieldUpdateEvent extends OpEvent { method constructor (line 42) | constructor(tableId: string, field: IChangeField | IChangeField[], con... class FieldEventFactory (line 47) | class FieldEventFactory { method create (line 48) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/table/record.event.ts type IChangeRecord (line 9) | type IChangeRecord = Record, Record { method constructor (line 36) | constructor(tableId: string, record: IRecord | IRecord[], context: IEv... class RecordDeleteEvent (line 41) | class RecordDeleteEvent extends OpEvent { method constructor (line 45) | constructor(tableId: string, recordId: string | string[], context: IEv... class RecordUpdateEvent (line 50) | class RecordUpdateEvent extends OpEvent { method constructor (line 54) | constructor( class RecordEventFactory (line 64) | class RecordEventFactory { method create (line 65) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/table/table.event.ts type IChangeTable (line 9) | type IChangeTable = Record { method constructor (line 24) | constructor(payload: ITableCreatePayload, context: IEventContext) { class TableDeleteEvent (line 29) | class TableDeleteEvent extends OpEvent { method constructor (line 33) | constructor(payload: ITableDeletePayload, context: IEventContext) { class TableUpdateEvent (line 38) | class TableUpdateEvent extends OpEvent { method constructor (line 42) | constructor(payload: ITableUpdatePayload, context: IEventContext) { class TableEventFactory (line 47) | class TableEventFactory { method create (line 48) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/table/view.event.ts type IChangeView (line 9) | type IChangeView = Record< type IViewCreatePayload (line 26) | type IViewCreatePayload = { tableId: string; view: IViewVo | IViewVo[] }; type IViewDeletePayload (line 27) | type IViewDeletePayload = { tableId: string; viewId: string }; type IViewUpdatePayload (line 28) | type IViewUpdatePayload = { class ViewCreateEvent (line 33) | class ViewCreateEvent extends OpEvent { method constructor (line 37) | constructor(tableId: string, view: IViewVo | IViewVo[], context: IEven... class ViewDeleteEvent (line 42) | class ViewDeleteEvent extends OpEvent { method constructor (line 46) | constructor(tableId: string, viewId: string, context: IEventContext) { class ViewUpdateEvent (line 51) | class ViewUpdateEvent extends OpEvent { method constructor (line 55) | constructor(tableId: string, view: IChangeView, context: IEventContext) { class ViewEventFactory (line 60) | class ViewEventFactory { method create (line 61) | static create( FILE: apps/nestjs-backend/src/event-emitter/events/user/user.event.ts class UserSignUpEvent (line 3) | class UserSignUpEvent { method constructor (line 6) | constructor(public readonly userId: string) {} class UserEmailChangeEvent (line 9) | class UserEmailChangeEvent { method constructor (line 12) | constructor( FILE: apps/nestjs-backend/src/event-emitter/events/workflow/workflow.event.ts type IWorkflowVo (line 6) | interface IWorkflowVo { type IWorkflowCreatePayload (line 11) | type IWorkflowCreatePayload = { baseId: string; workflow: IWorkflowVo }; type IWorkflowDeletePayload (line 12) | type IWorkflowDeletePayload = { baseId: string; workflowId: string; perm... type IWorkflowUpdatePayload (line 13) | type IWorkflowUpdatePayload = IWorkflowCreatePayload; class WorkflowCreateEvent (line 15) | class WorkflowCreateEvent extends CoreEvent { method constructor (line 18) | constructor(payload: IWorkflowCreatePayload, context: IEventContext) { class WorkflowDeleteEvent (line 23) | class WorkflowDeleteEvent extends CoreEvent { method constructor (line 25) | constructor(payload: IWorkflowDeletePayload, context: IEventContext) { class WorkflowUpdateEvent (line 30) | class WorkflowUpdateEvent extends CoreEvent { method constructor (line 33) | constructor(payload: IWorkflowUpdatePayload, context: IEventContext) { class WorkflowEventFactory (line 38) | class WorkflowEventFactory { method create (line 39) | static create( FILE: apps/nestjs-backend/src/event-emitter/interceptor/event.Interceptor.ts class EventMiddleware (line 23) | class EventMiddleware implements NestInterceptor { method constructor (line 24) | constructor( method intercept (line 29) | intercept(context: ExecutionContext, next: CallHandler): Observable { method handleTableViewUpdate (line 84) | private async handleTableViewUpdate(event: ViewUpdateEvent): Promise { method hasRelevantFields (line 58) | private hasRelevantFields( method getRecordFields (line 66) | private getRecordFields(record: IRecord | IChangeRecord | (IRecord | I... method updateTableRecord (line 71) | private async updateTableRecord( method extractNotificationData (line 116) | private extractNotificationData( method fetchUserFields (line 150) | private async fetchUserFields(tableId: string) { FILE: apps/nestjs-backend/src/event-emitter/listeners/pin.listener.ts class PinListener (line 8) | class PinListener { method constructor (line 11) | constructor(private readonly prismaService: PrismaService) {} method spaceAndBaseDelete (line 15) | async spaceAndBaseDelete(listenerEvent: SpaceDeleteEvent | BaseDeleteE... FILE: apps/nestjs-backend/src/event-emitter/listeners/record-history.listener.ts constant SELECT_FIELD_TYPE_SET (line 18) | const SELECT_FIELD_TYPE_SET = new Set([FieldType.SingleSelect, FieldType... class RecordHistoryListener (line 21) | class RecordHistoryListener { method constructor (line 22) | constructor( method recordUpdateListener (line 31) | async recordUpdateListener(event: RecordUpdateEvent) { method minimizeFieldOptions (line 142) | private minimizeFieldOptions( FILE: apps/nestjs-backend/src/event-emitter/listeners/trash.listener.ts class TrashListener (line 15) | class TrashListener { method constructor (line 16) | constructor(private readonly prismaService: PrismaService) {} method onEvent (line 23) | async onEvent( FILE: apps/nestjs-backend/src/features/access-token/access-token.controller.ts class AccessTokenController (line 22) | class AccessTokenController { method constructor (line 23) | constructor(private readonly accessTokenService: AccessTokenService) {} method createAccessToken (line 26) | async createAccessToken( method updateAccessToken (line 33) | async updateAccessToken( method deleteAccessToken (line 41) | async deleteAccessToken(@Param('accessTokenId') accessTokenId: string) { method refreshAccessToken (line 47) | async refreshAccessToken( method getAccessTokens (line 55) | async getAccessTokens(): Promise { method getAccessToken (line 60) | async getAccessToken(@Param('accessTokenId') accessTokenId: string): P... FILE: apps/nestjs-backend/src/features/access-token/access-token.encryptor.ts type ITokenEncryptor (line 4) | interface ITokenEncryptor { FILE: apps/nestjs-backend/src/features/access-token/access-token.module.ts class AccessTokenModule (line 10) | class AccessTokenModule {} FILE: apps/nestjs-backend/src/features/access-token/access-token.service.ts class AccessTokenService (line 18) | class AccessTokenService { method constructor (line 19) | constructor( method transformAccessTokenEntity (line 26) | private transformAccessTokenEntity< method validate (line 61) | async validate(splitAccessTokenObj: { accessTokenId: string; sign: str... method listAccessToken (line 88) | async listAccessToken() { method createAccessToken (line 109) | async createAccessToken( method deleteAccessToken (line 150) | async deleteAccessToken(id: string) { method refreshAccessToken (line 157) | async refreshAccessToken(id: string, refreshAccessTokenRo?: RefreshAcc... method updateAccessToken (line 186) | async updateAccessToken(id: string, updateAccessToken: UpdateAccessTok... method getAccessToken (line 213) | async getAccessToken(accessTokenId: string) { FILE: apps/nestjs-backend/src/features/aggregation/aggregation.module.ts class AggregationModule (line 25) | class AggregationModule {} FILE: apps/nestjs-backend/src/features/aggregation/aggregation.service.interface.ts type IAggregationService (line 23) | interface IAggregationService { type IWithView (line 146) | interface IWithView { type ICustomFieldStats (line 156) | interface ICustomFieldStats { FILE: apps/nestjs-backend/src/features/aggregation/aggregation.service.symbol.ts constant AGGREGATION_SERVICE_SYMBOL (line 6) | const AGGREGATION_SERVICE_SYMBOL = Symbol('AGGREGATION_SERVICE'); FILE: apps/nestjs-backend/src/features/aggregation/aggregation.service.ts type IStatisticsData (line 56) | type IStatisticsData = { class AggregationService (line 67) | class AggregationService implements IAggregationService { method constructor (line 69) | constructor( method performAggregation (line 86) | async performAggregation(params: { method convertValueToNumberOrString (line 185) | private convertValueToNumberOrString(currentValue: unknown): number | ... method calculateDateRangeOfMonths (line 195) | private calculateDateRangeOfMonths(currentValue: string): number { method handleAggregation (line 199) | private async handleAggregation(params: { method performGroupedAggregation (line 292) | async performGroupedAggregation(params: { method resolveAggregationProjection (line 383) | private resolveAggregationProjection(params: { method performRowCount (line 441) | async performRowCount(tableId: string, queryRo: IQueryBaseRo): Promise... method getDbTableName (line 483) | private async getDbTableName(prisma: Prisma.TransactionClient, tableId... method handleRowCount (line 490) | private async handleRowCount(params: { method fetchStatisticsParams (line 581) | private async fetchStatisticsParams(params: { method findView (line 605) | private async findView(tableId: string, withView?: IWithView) { method filterFieldInstances (line 632) | private filterFieldInstances( method buildStatisticsData (line 645) | private buildStatisticsData( method getStatisticFields (line 677) | private getStatisticFields( method getFieldsData (line 724) | async getFieldsData(tableId: string, fieldIds?: string[], withName?: b... method getGroupPoints (line 748) | async getGroupPoints( method getSearchCount (line 770) | public async getSearchCount(tableId: string, queryRo: ISearchCountRo, ... method getRecordIndexBySearchOrder (line 823) | public async getRecordIndexBySearchOrder( method getRecordIndex (line 1012) | async getRecordIndex(tableId: string, queryRo: IRecordIndexRo): Promis... method getCalendarDailyCollection (line 1059) | public async getCalendarDailyCollection( FILE: apps/nestjs-backend/src/features/aggregation/open-api/aggregation-open-api.controller.ts class AggregationOpenApiController (line 44) | class AggregationOpenApiController { method constructor (line 45) | constructor( method getAggregationWithCache (line 52) | private async getAggregationWithCache( method getAggregation (line 103) | async getAggregation( method getRowCount (line 114) | async getRowCount( method getRecordIndex (line 125) | async getRecordIndex( method getSearchCount (line 136) | async getSearchCount( method getSearchIndex (line 147) | async getSearchIndex( method getGroupPoints (line 158) | async getGroupPoints( method getCalendarDailyCollection (line 169) | async getCalendarDailyCollection( method getTaskStatusCollection (line 181) | async getTaskStatusCollection( FILE: apps/nestjs-backend/src/features/aggregation/open-api/aggregation-open-api.module.ts class AggregationOpenApiModule (line 12) | class AggregationOpenApiModule {} FILE: apps/nestjs-backend/src/features/aggregation/open-api/aggregation-open-api.service.ts class AggregationOpenApiService (line 24) | class AggregationOpenApiService { method constructor (line 25) | constructor( method getAggregation (line 29) | async getAggregation(tableId: string, query?: IAggregationRo): Promise... method getRowCount (line 69) | async getRowCount(tableId: string, query: IQueryBaseRo = {}): Promise<... method getGroupPoints (line 76) | async getGroupPoints( method getCalendarDailyCollection (line 84) | async getCalendarDailyCollection( method getRecordIndex (line 91) | async getRecordIndex(tableId: string, query: IRecordIndexRo): Promise<... method validFieldStats (line 95) | private async validFieldStats( method getSearchCount (line 125) | public async getSearchCount(tableId: string, queryRo: ISearchCountRo, ... method getRecordIndexBySearchOrder (line 129) | public async getRecordIndexBySearchOrder( FILE: apps/nestjs-backend/src/features/ai/ai.controller.ts class AiController (line 10) | class AiController { method constructor (line 11) | constructor(private readonly aiService: AiService) {} method generateStream (line 15) | async generateStream( method getAIConfig (line 25) | async getAIConfig(@Param('baseId') baseId: string) { method getAIDisableAIActions (line 31) | async getAIDisableAIActions(@Param('baseId') baseId: string) { FILE: apps/nestjs-backend/src/features/ai/ai.module.ts class AiModule (line 12) | class AiModule {} FILE: apps/nestjs-backend/src/features/ai/ai.service.ts constant AI_GATEWAY_PROVIDER_NAME (line 35) | const AI_GATEWAY_PROVIDER_NAME = 'teable'; type ILanguageModelV2 (line 37) | type ILanguageModelV2 = Exclude; type IGatewayModelsCache (line 42) | interface IGatewayModelsCache { class AiService (line 48) | class AiService { method constructor (line 54) | constructor( method parseModelKey (line 61) | public parseModelKey(modelKey: string) { method isGatewayModel (line 70) | public isGatewayModel(modelKey: string): boolean { method buildGatewayModelKey (line 82) | public buildGatewayModelKey(modelId: string): string { method parseOwnerFromModelId (line 90) | private parseOwnerFromModelId(modelId: string): string | undefined { method getModelConfig (line 96) | async getModelConfig(modelKey: string, llmProviders: LLMProvider[] = [... method getModelInstance (line 161) | async getModelInstance( method getAIConfig (line 237) | async getAIConfig(baseId: string) { method getAIDisableAIActions (line 334) | async getAIDisableAIActions(baseId: string) { method getToolApiKeys (line 362) | async getToolApiKeys(baseId: string) { method getSimplifiedAIConfig (line 376) | async getSimplifiedAIConfig(baseId: string) { method getGenerationModelInstance (line 396) | private async getGenerationModelInstance(baseId: string, aiGenerateRo:... method generateStream (line 406) | async generateStream( method generateText (line 422) | async generateText(baseId: string, aiGenerateRo: IAiGenerateRo) { method getInstanceAIConfig (line 433) | async getInstanceAIConfig() { method findModelInProviders (line 443) | findModelInProviders(modelKey: string, llmProviders: LLMProvider[]): b... method findModelInGateway (line 460) | async findModelInGateway(modelKey: string): Promise { method checkInstanceAIModel (line 483) | async checkInstanceAIModel(modelKey: string): Promise { method getChatModelInstance (line 495) | async getChatModelInstance(baseId: string) { method getGatewayModelConfig (line 564) | async getGatewayModelConfig(modelId: string) { method getModelTags (line 599) | async getModelTags(modelKey: string, llmProviders: LLMProvider[]): Pro... method abilityToTags (line 646) | private abilityToTags(ability: IChatModelAbility): GatewayModelTag[] { method getGatewayModelPricing (line 660) | async getGatewayModelPricing(modelId: string) { method getGatewayApiModel (line 698) | private async getGatewayApiModel(modelId: string): Promise { method getAttachmentTransferMode (line 748) | async getAttachmentTransferMode(): Promise<'url' | 'base64'> { method findFirstVisionModel (line 762) | async findFirstVisionModel(llmProviders: LLMProvider[]): Promise< FILE: apps/nestjs-backend/src/features/ai/constant.ts constant TASK_MODEL_MAP (line 4) | const TASK_MODEL_MAP = { FILE: apps/nestjs-backend/src/features/ai/util.ts method pull (line 53) | async pull(controller) { FILE: apps/nestjs-backend/src/features/attachments/attachments-crop.module.ts class AttachmentsCropModule (line 14) | class AttachmentsCropModule {} FILE: apps/nestjs-backend/src/features/attachments/attachments-crop.processor.ts type IRecordImageJob (line 11) | interface IRecordImageJob { constant ATTACHMENTS_CROP_QUEUE (line 19) | const ATTACHMENTS_CROP_QUEUE = 'attachments-crop-queue'; class AttachmentsCropQueueProcessor (line 31) | class AttachmentsCropQueueProcessor extends WorkerHost { method constructor (line 34) | constructor( method process (line 43) | public async process(job: Job) { method handleCropImage (line 50) | private async handleCropImage(job: Job) { FILE: apps/nestjs-backend/src/features/attachments/attachments-storage.module.ts class AttachmentsStorageModule (line 10) | class AttachmentsStorageModule {} FILE: apps/nestjs-backend/src/features/attachments/attachments-storage.service.ts class AttachmentsStorageService (line 21) | class AttachmentsStorageService { method constructor (line 25) | constructor( method getPreviewUrl (line 35) | async getPreviewUrl( method getPreviewUrlByPath (line 78) | async getPreviewUrlByPath( method getTableThumbnailUrl (line 104) | async getTableThumbnailUrl(path: string, mimetype: string) { method cropTableImage (line 117) | async cropTableImage(bucket: string, path: string, height: number) { FILE: apps/nestjs-backend/src/features/attachments/attachments-table.module.ts class AttachmentsTableModule (line 10) | class AttachmentsTableModule {} FILE: apps/nestjs-backend/src/features/attachments/attachments-table.service.ts class AttachmentsTableService (line 9) | class AttachmentsTableService { method constructor (line 10) | constructor(private readonly prismaService: PrismaService) {} method createUniqueKey (line 12) | private createUniqueKey( method getAttachmentFields (line 21) | private async getAttachmentFields(tableId: string) { method createRecords (line 28) | async createRecords(userId: string, tableId: string, records: IRecord[... method updateRecords (line 58) | async updateRecords(userId: string, tableId: string, records: IChangeR... method delete (line 132) | async delete( method deleteRecords (line 149) | async deleteRecords(tableId: string, recordIds: string[]) { method deleteFields (line 155) | async deleteFields(tableId: string, fieldIds: string[]) { method deleteTable (line 161) | async deleteTable(tableId: string) { FILE: apps/nestjs-backend/src/features/attachments/attachments.controller.ts class AttachmentsController (line 26) | class AttachmentsController { method constructor (line 27) | constructor(private readonly attachmentsService: AttachmentsService) {} method uploadFilePut (line 30) | async uploadFilePut(@Req() req: Request, @Param('token') token: string) { method uploadFilePost (line 36) | async uploadFilePost(@Req() req: Request, @Param('token') token: strin... method read (line 42) | async read( method signature (line 75) | async signature( method notify (line 83) | async notify( FILE: apps/nestjs-backend/src/features/attachments/attachments.module.ts class AttachmentsModule (line 23) | class AttachmentsModule {} FILE: apps/nestjs-backend/src/features/attachments/attachments.service.ts class AttachmentsService (line 38) | class AttachmentsService { method constructor (line 41) | constructor( method upload (line 54) | async upload(req: Request, token: string) { method readLocalFile (line 77) | async readLocalFile(path: string, token?: string) { method localFileConditionalCaching (line 111) | localFileConditionalCaching(path: string, reqHeaders: IncomingHttpHead... method signature (line 134) | async signature(signatureRo: SignatureRo & { internal?: boolean }): Pr... method notify (line 168) | async notify(token: string, filename?: string): Promise { method notifyToAttachmentItem (line 234) | private async notifyToAttachmentItem(token: string, filename: string):... method uploadFile (line 243) | async uploadFile(file: Express.Multer.File): Promise { method uploadFromLocalFile (line 284) | async uploadFromLocalFile(filePath: string, filename: string): Promise... method uploadFromUrl (line 333) | async uploadFromUrl( method getFileInfo (line 385) | private async getFileInfo( method uploadFileContent (line 432) | private async uploadFileContent( method uploadStreamToStorage (line 454) | private async uploadStreamToStorage( method getFilenameFromUrl (line 473) | private getFilenameFromUrl(url: string): string { method downloadFile (line 479) | private async downloadFile( FILE: apps/nestjs-backend/src/features/attachments/constant.ts constant ATTACHMENT_SM_THUMBNAIL_HEIGHT (line 1) | const ATTACHMENT_SM_THUMBNAIL_HEIGHT = 56; constant ATTACHMENT_LG_THUMBNAIL_HEIGHT (line 2) | const ATTACHMENT_LG_THUMBNAIL_HEIGHT = 525; FILE: apps/nestjs-backend/src/features/attachments/guard/auth.guard.ts class DynamicAuthGuardFactory (line 9) | class DynamicAuthGuardFactory implements CanActivate { method constructor (line 10) | constructor( method canActivate (line 15) | canActivate(context: ExecutionContext) { FILE: apps/nestjs-backend/src/features/attachments/plugins/aliyun.ts class AliyunStorage (line 14) | class AliyunStorage extends S3Storage implements StorageAdapter { method constructor (line 17) | constructor(@StorageConfig() readonly config: IStorageConfig) { method replacePrivateBucketEndpoint (line 38) | private replacePrivateBucketEndpoint(url: string, bucket: string) { method getPreviewUrl (line 51) | async getPreviewUrl( FILE: apps/nestjs-backend/src/features/attachments/plugins/local.ts type ITokenEncryptor (line 24) | interface ITokenEncryptor { class LocalStorage (line 30) | class LocalStorage implements StorageAdapter { method constructor (line 37) | constructor( method getUploadUrl (line 50) | private getUploadUrl(token: string, internal?: boolean) { method deleteFile (line 55) | private deleteFile(filePath: string) { method getUrl (line 67) | private getUrl(bucket: string, path: string, params: ITokenEncryptor) { method parsePath (line 73) | parsePath(path: string) { method presigned (line 81) | async presigned(_bucket: string, dir: string, params: IPresignParams) { method validateToken (line 109) | async validateToken(token: string, file: ILocalFileUpload) { method saveTemporaryFile (line 151) | async saveTemporaryFile(req: Request) { method save (line 190) | async save(filePath: string, rename: string, isDelete: boolean = true) { method read (line 200) | read(path: string) { method getLastModifiedTime (line 204) | getLastModifiedTime(path: string) { method getFileMate (line 212) | async getFileMate(path: string) { method getObjectMeta (line 224) | async getObjectMeta(bucket: string, path: string, token: string): Prom... method getPreviewUrl (line 254) | async getPreviewUrl( method verifyReadToken (line 269) | verifyReadToken(token: string) { method uploadFileWidthPath (line 291) | async uploadFileWidthPath( method uploadFile (line 305) | async uploadFile( method uploadFileStream (line 335) | async uploadFileStream( method cropImage (line 344) | async cropImage( method downloadFile (line 372) | async downloadFile(bucket: string, path: string): Promise { method getPreviewUrl (line 292) | async getPreviewUrl( method uploadFileWidthPath (line 308) | uploadFileWidthPath( method uploadFile (line 338) | uploadFile( method uploadFileStream (line 347) | async uploadFileStream( method fileExists (line 398) | private async fileExists(bucket: string, path: string): Promise { method deleteDir (line 481) | async deleteDir(bucket: string, path: string, throwError: boolean = tr... FILE: apps/nestjs-backend/src/features/attachments/plugins/storage.module.ts class StorageModule (line 8) | class StorageModule {} FILE: apps/nestjs-backend/src/features/attachments/plugins/types.ts type IPresignParams (line 1) | interface IPresignParams { type IPresignRes (line 9) | interface IPresignRes { type IObjectMeta (line 17) | interface IObjectMeta { type ILocalFileUpload (line 26) | interface ILocalFileUpload { type IRespHeaders (line 32) | type IRespHeaders = { type ThumbnailSize (line 37) | enum ThumbnailSize { FILE: apps/nestjs-backend/src/features/auth/auth.controller.ts class AuthController (line 24) | class AuthController { method constructor (line 25) | constructor( method signout (line 35) | async signout(@Req() req: Express.Request, @Res({ passthrough: true })... method me (line 42) | async me(@Req() request: Express.Request) { method user (line 51) | async user(@Req() request: Express.Request) { method tempToken (line 56) | async tempToken(): Promise { method deleteUser (line 61) | async deleteUser( FILE: apps/nestjs-backend/src/features/auth/auth.module.ts constant CONDITIONAL_MODULE_TIMEOUT (line 25) | const CONDITIONAL_MODULE_TIMEOUT = process.env.CI ? 30000 : 5000; class AuthModule (line 67) | class AuthModule {} FILE: apps/nestjs-backend/src/features/auth/auth.service.ts class AuthService (line 14) | class AuthService { method constructor (line 15) | constructor( method getUserInfo (line 21) | async getUserInfo(user: IUserMeVo): Promise { method validateJwtToken (line 34) | async validateJwtToken(token: string) { method getTempToken (line 42) | async getTempToken() { method getTempInternalToken (line 53) | async getTempInternalToken( FILE: apps/nestjs-backend/src/features/auth/decorators/allow-anonymous.decorator.ts type AllowAnonymousType (line 3) | enum AllowAnonymousType { constant IS_ALLOW_ANONYMOUS (line 9) | const IS_ALLOW_ANONYMOUS = 'isAllowAnonymous'; FILE: apps/nestjs-backend/src/features/auth/decorators/base-node-permissions.decorator.ts constant BASE_NODE_PERMISSIONS_KEY (line 4) | const BASE_NODE_PERMISSIONS_KEY = 'baseNodePermissions'; FILE: apps/nestjs-backend/src/features/auth/decorators/disabled-permission.decorator.ts constant IS_DISABLED_PERMISSION (line 3) | const IS_DISABLED_PERMISSION = 'isDisabledPermission'; FILE: apps/nestjs-backend/src/features/auth/decorators/ensure-login.decorator.ts constant ENSURE_LOGIN (line 3) | const ENSURE_LOGIN = 'ensureLogin'; FILE: apps/nestjs-backend/src/features/auth/decorators/permissions.decorator.ts constant PERMISSIONS_KEY (line 4) | const PERMISSIONS_KEY = 'permissions'; FILE: apps/nestjs-backend/src/features/auth/decorators/public.decorator.ts constant IS_PUBLIC_KEY (line 3) | const IS_PUBLIC_KEY = 'isPublic'; FILE: apps/nestjs-backend/src/features/auth/decorators/resource_meta.decorator.ts type IResourceMeta (line 3) | type IResourceMeta = { constant RESOURCE_META (line 8) | const RESOURCE_META = 'resourceMeta'; FILE: apps/nestjs-backend/src/features/auth/decorators/token.decorator.ts constant IS_TOKEN_ACCESS (line 3) | const IS_TOKEN_ACCESS = 'isTokenAccess'; FILE: apps/nestjs-backend/src/features/auth/guard/auth.guard.ts class AuthGuard (line 18) | class AuthGuard extends PassportAuthGuard([ method constructor (line 24) | constructor( method validate (line 31) | async validate(context: ExecutionContext) { method canActivate (line 43) | async canActivate(context: ExecutionContext) { FILE: apps/nestjs-backend/src/features/auth/guard/base-node-permission.guard.ts class BaseNodePermissionGuard (line 22) | class BaseNodePermissionGuard extends PermissionGuard { method constructor (line 23) | constructor( method canActivate (line 32) | async canActivate(context: ExecutionContext) { method checkActivate (line 60) | async checkActivate( method getBaseId (line 113) | getBaseId(context: ExecutionContext): string | undefined { method getNodeId (line 119) | getNodeId(context: ExecutionContext): string | undefined { method getNodeResourceType (line 124) | getNodeResourceType(context: ExecutionContext): BaseNodeResourceType { method getNode (line 129) | async getNode(baseId: string, nodeId?: string) { method getPermissionContext (line 150) | private async getPermissionContext() { FILE: apps/nestjs-backend/src/features/auth/guard/github.guard.ts class GithubGuard (line 5) | class GithubGuard extends AuthGuard('github') {} FILE: apps/nestjs-backend/src/features/auth/guard/google.guard.ts class GoogleGuard (line 5) | class GoogleGuard extends AuthGuard('google') {} FILE: apps/nestjs-backend/src/features/auth/guard/local-auth.guard.ts class LocalAuthGuard (line 6) | class LocalAuthGuard extends AuthGuard('local') { method canActivate (line 7) | async canActivate(context: ExecutionContext): Promise { FILE: apps/nestjs-backend/src/features/auth/guard/oidc.guard.ts class OIDCGuard (line 5) | class OIDCGuard extends AuthGuard('openidconnect') {} FILE: apps/nestjs-backend/src/features/auth/guard/permission.guard.ts class PermissionGuard (line 22) | class PermissionGuard { method constructor (line 25) | constructor( method defaultResourceId (line 31) | protected defaultResourceId(context: ExecutionContext): string | undef... method getResourceId (line 37) | protected getResourceId(context: ExecutionContext): string | undefined { method permissionCreateSpace (line 54) | private async permissionCreateSpace() { method permissionBaseReadAll (line 63) | private async permissionBaseReadAll() { method permissionSpaceRead (line 72) | private async permissionSpaceRead() { method permissionUserIntegrations (line 81) | private async permissionUserIntegrations() { method templatePermissionCheck (line 90) | protected async templatePermissionCheck(context: ExecutionContext, tem... method baseSharePermissionCheck (line 132) | protected async baseSharePermissionCheck(context: ExecutionContext, sh... method ensureBaseShareAuth (line 168) | private async ensureBaseShareAuth(context: ExecutionContext, shareId: ... method resourcePermission (line 185) | private async resourcePermission(resourceId: string | undefined, permi... method instancePermissionChecker (line 207) | protected async instancePermissionChecker(action: Action) { method permissionCheck (line 237) | protected async permissionCheck(context: ExecutionContext) { method isAnonymous (line 281) | private isAnonymous() { method tryBaseSharePermissionCheck (line 289) | private async tryBaseSharePermissionCheck( method resolveResourcePermission (line 307) | private async resolveResourcePermission( method resolveAnonymousPermission (line 326) | private async resolveAnonymousPermission( method resolvePublicFallback (line 343) | private async resolvePublicFallback( method tryBaseShareFallback (line 364) | private async tryBaseShareFallback( method permissionCheckWithPublicFallback (line 390) | protected async permissionCheckWithPublicFallback( method canActivate (line 448) | async canActivate(context: ExecutionContext) { FILE: apps/nestjs-backend/src/features/auth/guard/social.guard.ts class SocialGuard (line 5) | class SocialGuard { method canActivate (line 6) | async canActivate(context: ExecutionContext): Promise { FILE: apps/nestjs-backend/src/features/auth/local-auth/local-auth.controller.ts class LocalAuthController (line 44) | class LocalAuthController { method constructor (line 45) | constructor( method signin (line 54) | async signin(@Req() req: Request): Promise { method signup (line 60) | async signup( method joinWaitlist (line 77) | async joinWaitlist( method inviteWaitlist (line 86) | async inviteWaitlist( method getWaitlist (line 94) | async getWaitlist(): Promise { method genWaitlistInviteCode (line 100) | async genWaitlistInviteCode( method sendSignupVerificationCode (line 118) | async sendSignupVerificationCode( method changePassword (line 134) | async changePassword( method sendResetPasswordEmail (line 146) | async sendResetPasswordEmail( method resetPassword (line 154) | async resetPassword( method addPassword (line 165) | async addPassword( method changeEmail (line 176) | async changeEmail( method sendChangeEmailCode (line 188) | async sendChangeEmailCode( FILE: apps/nestjs-backend/src/features/auth/local-auth/local-auth.module.ts class LocalAuthModule (line 36) | class LocalAuthModule {} FILE: apps/nestjs-backend/src/features/auth/local-auth/local-auth.service.ts class LocalAuthService (line 33) | class LocalAuthService { method constructor (line 36) | constructor( method encodePassword (line 53) | private async encodePassword(password: string) { method comparePassword (line 59) | private async comparePassword( method getUserByIdOrThrow (line 68) | private async getUserByIdOrThrow(userId: string) { method validateUserByEmail (line 80) | async validateUserByEmail(email: string, pass: string) { method validateUserByEmailWithTurnstile (line 113) | async validateUserByEmailWithTurnstile( method jwtSignupCode (line 126) | private jwtSignupCode(email: string, code: string) { method jwtVerifySignupCode (line 133) | private jwtVerifySignupCode(token: string) { method verifySignup (line 139) | private async verifySignup(body: ISignup) { method isRegisteredValidate (line 162) | private isRegisteredValidate(user: Awaited... method verify (line 29) | async verify( FILE: apps/nestjs-backend/src/features/auth/permission.module.ts class PermissionModule (line 23) | class PermissionModule {} FILE: apps/nestjs-backend/src/features/auth/permission.service.ts type IBaseNodeCacheItem (line 21) | interface IBaseNodeCacheItem { class PermissionService (line 31) | class PermissionService { method constructor (line 34) | constructor( method getDepartmentIds (line 42) | private getDepartmentIds() { method getSpaceCollaborators (line 47) | async getSpaceCollaborators(spaceId: string, principalId: string[]) { method getBaseCollaborators (line 52) | async getBaseCollaborators(baseId: string, principalId: string[]) { method getRoleBySpaceId (line 57) | async getRoleBySpaceId(spaceId: string, includeInactiveResource?: bool... method getRoleByBaseId (line 94) | async getRoleByBaseId(baseId: string) { method getOAuthAccessBy (line 105) | async getOAuthAccessBy(userId: string) { method getAccessToken (line 127) | async getAccessToken(accessTokenId: string) { method getUpperIdByTableId (line 164) | async getUpperIdByTableId( method getUpperIdByBaseId (line 190) | async getUpperIdByBaseId( method isBaseIdAllowedForResource (line 214) | private async isBaseIdAllowedForResource( method isTableIdAllowedForResource (line 224) | private async isTableIdAllowedForResource( method getPermissionsByAccessToken (line 234) | async getPermissionsByAccessToken( method getPermissionBySpaceId (line 324) | private async getPermissionBySpaceId(spaceId: string, includeInactiveR... method getPermissionByBaseId (line 341) | private async getPermissionByBaseId(baseId: string, includeInactiveRes... method getPermissionByTableId (line 378) | private async getPermissionByTableId(tableId: string, includeInactiveR... method getPermissionsByResourceId (line 383) | async getPermissionsByResourceId(resourceId: string, includeInactiveRe... method getPermissions (line 403) | async getPermissions( method validPermissions (line 424) | async validPermissions( method isAnonymous (line 456) | private isAnonymous() { method getTemplatePermissions (line 460) | async getTemplatePermissions(resourceId: string) { method validTemplatePermissions (line 518) | async validTemplatePermissions(resourceId: string, permissions: Action... method getTemplateIdByHeader (line 537) | getTemplateIdByHeader(templateHeader: string) { method generateTemplateHeader (line 545) | generateTemplateHeader(templateId: string) { method getBaseShareInfo (line 550) | async getBaseShareInfo(shareId: string) { method baseShareRequiresPassword (line 560) | async baseShareRequiresPassword(shareId: string) { method validateBaseSharePasswordToken (line 568) | async validateBaseSharePasswordToken(shareId: string, token: string) { method getBaseSharePermissions (line 589) | async getBaseSharePermissions(shareId: string, resourceId: string) { method checkResourceBelongsToShare (line 642) | private async checkResourceBelongsToShare( method checkTableBelongsToShare (line 668) | private async checkTableBelongsToShare( method isTableLinkedFromSharedNode (line 706) | private async isTableLinkedFromSharedNode( method checkViewBelongsToShare (line 757) | private async checkViewBelongsToShare( method checkFieldBelongsToShare (line 777) | private async checkFieldBelongsToShare( method checkAppBelongsToShare (line 797) | private async checkAppBelongsToShare( method getBaseNodesWithCache (line 825) | private async getBaseNodesWithCache(baseId: string) { method collectDescendantNodeIds (line 852) | private collectDescendantNodeIds( method isNodeAllowedByNodeId (line 873) | private async isNodeAllowedByNodeId( method isTableAllowedByNodeId (line 906) | private async isTableAllowedByNodeId( method validBaseSharePermissions (line 950) | async validBaseSharePermissions(shareId: string, resourceId: string, p... method getBaseShareIdByHeader (line 978) | getBaseShareIdByHeader(shareHeader: string): string | null { FILE: apps/nestjs-backend/src/features/auth/session/session-handle.module.ts class SessionHandleModule (line 9) | class SessionHandleModule {} FILE: apps/nestjs-backend/src/features/auth/session/session-handle.service.ts class SessionHandleService (line 10) | class SessionHandleService { method constructor (line 12) | constructor( method getSessionIdFromRequest (line 29) | async getSessionIdFromRequest(request: Request) { method getUserId (line 41) | async getUserId(sessionId: string) { FILE: apps/nestjs-backend/src/features/auth/session/session-store.service.ts constant SESSION_STORE_KEYS (line 10) | const SESSION_STORE_KEYS = ['passport', 'cookie'] as const; class SessionStoreService (line 13) | class SessionStoreService extends Store { method constructor (line 18) | constructor( method setCache (line 27) | private async setCache(sid: string, session: ISessionData) { method getCache (line 44) | private async getCache(sid: string) { method get (line 75) | async get( method set (line 87) | async set(sid: string, session: ISessionData, callback?: ((err?: unkno... method destroy (line 97) | async destroy(sid: string, callback?: ((err?: unknown) => void) | unde... method touch (line 106) | async touch( method clearByUserId (line 124) | async clearByUserId(userId: string) { FILE: apps/nestjs-backend/src/features/auth/session/session.module.ts class SessionModule (line 14) | class SessionModule implements NestModule { method constructor (line 15) | constructor(private readonly sessionHandleService: SessionHandleServic... method configure (line 17) | configure(consumer: MiddlewareConsumer) { FILE: apps/nestjs-backend/src/features/auth/session/session.serializer.ts class SessionSerializer (line 7) | class SessionSerializer extends PassportSerializer { method constructor (line 8) | constructor() { method serializeUser (line 12) | serializeUser(user: any, done: Function) { method deserializeUser (line 16) | async deserializeUser(payload: any, done: Function) { FILE: apps/nestjs-backend/src/features/auth/session/session.service.ts class SessionService (line 4) | class SessionService { method signout (line 5) | async signout(req: Express.Request) { FILE: apps/nestjs-backend/src/features/auth/social/controller.adapter.ts class ControllerAdapter (line 4) | class ControllerAdapter { method authenticate (line 6) | async authenticate() {} method callback (line 8) | async callback(req: Express.Request, res: Response, defaultRedirectUri... FILE: apps/nestjs-backend/src/features/auth/social/github/github.controller.ts class GithubController (line 9) | class GithubController extends ControllerAdapter { method githubAuthenticate (line 14) | async githubAuthenticate() { method githubCallback (line 21) | async githubCallback(@Req() req: Express.Request, @Res({ passthrough: ... FILE: apps/nestjs-backend/src/features/auth/social/github/github.module.ts class GithubModule (line 13) | class GithubModule {} FILE: apps/nestjs-backend/src/features/auth/social/google/google.controller.ts class GoogleController (line 9) | class GoogleController extends ControllerAdapter { method googleAuthenticate (line 14) | async googleAuthenticate() { method googleCallback (line 21) | async googleCallback(@Req() req: Express.Request, @Res({ passthrough: ... FILE: apps/nestjs-backend/src/features/auth/social/google/google.module.ts class GoogleModule (line 13) | class GoogleModule {} FILE: apps/nestjs-backend/src/features/auth/social/oidc/oidc.controller.ts class OIDCController (line 9) | class OIDCController extends ControllerAdapter { method oidcAuthenticate (line 14) | async oidcAuthenticate() { method oidcCallback (line 21) | async oidcCallback(@Req() req: Express.Request, @Res({ passthrough: tr... FILE: apps/nestjs-backend/src/features/auth/social/oidc/oidc.module.ts class OIDCModule (line 13) | class OIDCModule {} FILE: apps/nestjs-backend/src/features/auth/social/social.module.ts constant CONDITIONAL_MODULE_TIMEOUT (line 8) | const CONDITIONAL_MODULE_TIMEOUT = process.env.CI ? 30000 : 5000; class SocialModule (line 35) | class SocialModule {} FILE: apps/nestjs-backend/src/features/auth/strategies/access-token.passport.ts type IAccessTokenStrategyOptions (line 8) | interface IAccessTokenStrategyOptions { class PassportAccessTokenStrategy (line 12) | class PassportAccessTokenStrategy extends Strategy { method constructor (line 17) | constructor(options?: IAccessTokenStrategyOptions, deserializeUser?: D... method authenticate (line 25) | authenticate(req: any): void { FILE: apps/nestjs-backend/src/features/auth/strategies/access-token.strategy.ts class AccessTokenStrategy (line 18) | class AccessTokenStrategy extends PassportStrategy(PassportAccessTokenSt... method constructor (line 19) | constructor( method validate (line 30) | async validate(payload: { accessTokenId: string; sign: string }) { FILE: apps/nestjs-backend/src/features/auth/strategies/anonymous/anonymous.passport.ts class PassportAnonymousStrategy (line 6) | class PassportAnonymousStrategy extends Strategy { method constructor (line 10) | constructor(deserializeUser?: DeserializeUserFunction) { method authenticate (line 17) | authenticate(req: any): void { FILE: apps/nestjs-backend/src/features/auth/strategies/anonymous/anonymous.strategy.ts class AnonymousStrategy (line 9) | class AnonymousStrategy extends PassportStrategy(PassportAnonymousStrate... method constructor (line 10) | constructor(private readonly cls: ClsService) { method validate (line 15) | async validate() { FILE: apps/nestjs-backend/src/features/auth/strategies/constant.ts constant ACCESS_TOKEN_STRATEGY_NAME (line 1) | const ACCESS_TOKEN_STRATEGY_NAME = 'access-token'; constant JWT_TOKEN_STRATEGY_NAME (line 3) | const JWT_TOKEN_STRATEGY_NAME = 'auth-jwt-token'; constant TEMPLATE_STRATEGY_NAME (line 5) | const TEMPLATE_STRATEGY_NAME = 'template'; constant ANONYMOUS_STRATEGY_NAME (line 7) | const ANONYMOUS_STRATEGY_NAME = 'anonymous'; FILE: apps/nestjs-backend/src/features/auth/strategies/github.strategy.ts class GithubStrategy (line 13) | class GithubStrategy extends PassportStrategy(Strategy, 'github') { method constructor (line 14) | constructor( method validate (line 30) | async validate(_accessToken: string, _refreshToken: string, profile: P... FILE: apps/nestjs-backend/src/features/auth/strategies/google.strategy.ts class GoogleStrategy (line 13) | class GoogleStrategy extends PassportStrategy(Strategy, 'google') { method constructor (line 14) | constructor( method validate (line 30) | async validate(_accessToken: string, _refreshToken: string, profile: P... FILE: apps/nestjs-backend/src/features/auth/strategies/jwt.strategy.ts class JwtStrategy (line 18) | class JwtStrategy extends PassportStrategy(Strategy, JWT_TOKEN_STRATEGY_... method constructor (line 19) | constructor( method validate (line 32) | async validate(req: Request, payload: IJwtAuthInfo | IJwtAuthInternalI... method validateInternalToken (line 39) | private async validateInternalToken(payload: IJwtAuthInternalInfo, req... method setAppIdFromToken (line 79) | protected async setAppIdFromToken(_req: Request) { method validateUserToken (line 84) | private async validateUserToken(payload: IJwtAuthInfo) { FILE: apps/nestjs-backend/src/features/auth/strategies/local.strategy.ts class LocalStrategy (line 15) | class LocalStrategy extends PassportStrategy(Strategy) { method constructor (line 16) | constructor( method validate (line 29) | async validate(req: Request, email: string, password: string) { FILE: apps/nestjs-backend/src/features/auth/strategies/oidc.strategy.ts class OIDCStrategy (line 13) | class OIDCStrategy extends PassportStrategy(Strategy, 'openidconnect') { method constructor (line 14) | constructor( method validate (line 28) | async validate(_issuer: string, profile: Profile) { FILE: apps/nestjs-backend/src/features/auth/strategies/session.passport.ts class PassportSessionStrategy (line 6) | class PassportSessionStrategy extends Strategy { method constructor (line 11) | constructor(options?: SessionStrategyOptions, deserializeUser?: Deseri... method authenticate (line 23) | authenticate(req: any, options?: { pauseStream?: boolean }): void { FILE: apps/nestjs-backend/src/features/auth/strategies/session.strategy.ts class SessionStrategy (line 14) | class SessionStrategy extends PassportStrategy(PassportSessionStrategy) { method constructor (line 15) | constructor( method validate (line 23) | async validate(payload: IPayloadUser) { FILE: apps/nestjs-backend/src/features/auth/strategies/types.ts type IPayloadUser (line 4) | interface IPayloadUser { type IFromExtractor (line 8) | type IFromExtractor = (req: Request) => string | null; type IJwtAuthInfo (line 10) | interface IJwtAuthInfo { type JwtAuthInternalType (line 14) | enum JwtAuthInternalType { type IWorkflowContext (line 24) | type IWorkflowContext = z.infer; type IJwtAuthInternalInfo (line 47) | type IJwtAuthInternalInfo = z.infer; FILE: apps/nestjs-backend/src/features/auth/turnstile/turnstile.module.ts class TurnstileModule (line 8) | class TurnstileModule {} FILE: apps/nestjs-backend/src/features/auth/turnstile/turnstile.service.ts type ITurnstileValidationResponse (line 5) | interface ITurnstileValidationResponse { type ITurnstileValidationRequest (line 17) | interface ITurnstileValidationRequest { class TurnstileService (line 25) | class TurnstileService { method constructor (line 31) | constructor(private readonly configService: ConfigService) { method isTurnstileEnabled (line 50) | isTurnstileEnabled(): boolean { method getTurnstileSiteKey (line 57) | getTurnstileSiteKey(): string | null { method validateTurnstileToken (line 64) | async validateTurnstileToken( method validateTurnstileTokenWithRetry (line 162) | async validateTurnstileTokenWithRetry( FILE: apps/nestjs-backend/src/features/auth/utils.ts type IPickUserMe (line 7) | type IPickUserMe = Pick< FILE: apps/nestjs-backend/src/features/base-node/base-node.controller.ts class BaseNodeController (line 50) | class BaseNodeController { method constructor (line 54) | constructor( method getList (line 61) | async getList(@Param('baseId') baseId: string): Promise { method getTree (line 70) | async getTree(@Param('baseId') baseId: string): Promise( FILE: apps/nestjs-backend/src/features/base-node/base-node.module.ts class BaseNodeModule (line 30) | class BaseNodeModule {} FILE: apps/nestjs-backend/src/features/base-node/base-node.service.ts type IBaseNodeEntry (line 51) | type IBaseNodeEntry = { class BaseNodeService (line 63) | class BaseNodeService { method constructor (line 65) | constructor( method userId (line 80) | private get userId() { method maxFolderDepth (line 87) | private get maxFolderDepth() { method setIgnoreBaseNodeListener (line 91) | private setIgnoreBaseNodeListener() { method deleteNodeShares (line 98) | private async deleteNodeShares(baseId: string, nodeId: string): Promis... method getSelect (line 109) | private getSelect() { method getDeleteTableV2Decision (line 127) | async getDeleteTableV2Decision(baseId: string, nodeId: string): Promis... method getCreateTableV2Decision (line 149) | async getCreateTableV2Decision(baseId: string): Promise { method getNodeListWithCache (line 388) | async getNodeListWithCache(baseId: string): Promise { method getList (line 399) | async getList(baseId: string): Promise { method getTree (line 403) | async getTree(baseId: string): Promise { method getNode (line 412) | async getNode(baseId: string, nodeId: string) { method getNodeVo (line 431) | async getNodeVo(baseId: string, nodeId: string): Promise { method create (line 436) | async create(baseId: string, ro: ICreateBaseNodeRo): Promise { method hasPassword (line 90) | async hasPassword(shareId: string): Promise { FILE: apps/nestjs-backend/src/features/base-share/base-share-open.controller.ts class BaseShareOpenController (line 28) | class BaseShareOpenController { method constructor (line 29) | constructor( method auth (line 40) | async auth( method getBaseShare (line 60) | async getBaseShare( method buildDefaultUrl (line 85) | private async buildDefaultUrl(baseId: string, nodeId: string): Promise... method copyBaseShare (line 143) | async copyBaseShare( method findFirstAccessibleNode (line 219) | private findFirstAccessibleNode( FILE: apps/nestjs-backend/src/features/base-share/base-share.controller.ts class BaseShareController (line 16) | class BaseShareController { method constructor (line 17) | constructor(private readonly baseShareService: BaseShareService) {} method create (line 22) | async create( method list (line 31) | async list(@Param('baseId') baseId: string): Promise<{ nodeId: string ... method getByNodeId (line 37) | async getByNodeId( method update (line 46) | async update( method delete (line 56) | async delete(@Param('baseId') baseId: string, @Param('shareId') shareI... method refresh (line 62) | async refresh( FILE: apps/nestjs-backend/src/features/base-share/base-share.module.ts class BaseShareModule (line 43) | class BaseShareModule {} FILE: apps/nestjs-backend/src/features/base-share/base-share.service.ts class BaseShareService (line 16) | class BaseShareService { method constructor (line 17) | constructor( method invalidateBaseShareListCache (line 23) | private async invalidateBaseShareListCache(baseId: string): Promise { method getBaseShareByNodeId (line 118) | async getBaseShareByNodeId(baseId: string, nodeId: string): Promise { method refreshBaseShareId (line 188) | async refreshBaseShareId(baseId: string, shareId: string): Promise { method getReadOnlyRoleName (line 147) | private getReadOnlyRoleName(baseId: string) { method createReadOnlyRole (line 151) | async createReadOnlyRole(baseId: string) { method dropReadOnlyRole (line 185) | async dropReadOnlyRole(baseId: string) { method grantReadOnlyRole (line 214) | async grantReadOnlyRole(baseId: string) { method roleExits (line 238) | private async roleExits(role: string): Promise { method roleCheckAndCreate (line 245) | private async roleCheckAndCreate(baseId: string) { method setRole (line 269) | private async setRole(prisma: Prisma.TransactionClient, baseId: string) { method resetRole (line 274) | private async resetRole(prisma: Prisma.TransactionClient) { method readonlyExecuteSql (line 278) | private async readonlyExecuteSql(sql: string) { method safeCheckSql (line 288) | private async safeCheckSql( method executeQuerySql (line 335) | async executeQuerySql( FILE: apps/nestjs-backend/src/features/base-sql-executor/const.ts constant BASE_READ_ONLY_ROLE_PREFIX (line 1) | const BASE_READ_ONLY_ROLE_PREFIX = 'base_read_only_role_'; constant BASE_SCHEMA_TABLE_READ_ONLY_ROLE_NAME (line 2) | const BASE_SCHEMA_TABLE_READ_ONLY_ROLE_NAME = 'base_schema_table_read_on... FILE: apps/nestjs-backend/src/features/base/BatchProcessor.class.ts class BatchProcessor (line 4) | class BatchProcessor extends Transform { method constructor (line 9) | constructor(private readonly handler: (chunk: T[]) => Promise) { method _transform (line 14) | async _transform(chunk: T, encoding: BufferEncoding, callback: Transfo... method _flush (line 35) | async _flush(callback: TransformCallback) { FILE: apps/nestjs-backend/src/features/base/base-duplicate.service.ts class BaseDuplicateService (line 29) | class BaseDuplicateService { method constructor (line 32) | constructor( method duplicateBase (line 44) | async duplicateBase( method getDisconnectedLinkFieldIds (line 119) | private async getDisconnectedLinkFieldIds( method duplicateStructure (line 150) | private async duplicateStructure( method collectNodesAndResourceIds (line 258) | private async collectNodesAndResourceIds( method getDisconnectedLinkFieldTableMap (line 389) | private async getDisconnectedLinkFieldTableMap( method getCrossBaseLinkFieldTableMap (line 467) | private async getCrossBaseLinkFieldTableMap(tableIdMap: Record) { method handleBaseImportAttachments (line 97) | private async handleBaseImportAttachments(job: Job) { method processAttachmentEntry (line 118) | private async processAttachmentEntry(entry: unzipper.Entry, bucket: st... method onCompleted (line 175) | async onCompleted(job: Job) { FILE: apps/nestjs-backend/src/features/base/base-import-processor/base-import-csv.module.ts class BaseImportCsvModule (line 20) | class BaseImportCsvModule {} FILE: apps/nestjs-backend/src/features/base/base-import-processor/base-import-csv.processor.ts type IBaseImportCsvJob (line 25) | interface IBaseImportCsvJob { constant BASE_IMPORT_CSV_QUEUE (line 44) | const BASE_IMPORT_CSV_QUEUE = 'base-import-csv-queue'; class BaseImportCsvQueueProcessor (line 48) | class BaseImportCsvQueueProcessor extends WorkerHost { method constructor (line 53) | constructor( method process (line 66) | public async process(job: Job) { method handleBaseImportCsv (line 86) | private async handleBaseImportCsv(job: Job): Promis... method handleChunk (line 231) | private async handleChunk( method getNotNullDefault (line 415) | private getNotNullDefault(dbFieldType: string, isMultipleCellValue: bo... method updateAttachmentTable (line 433) | private async updateAttachmentTable( method onCompleted (line 453) | async onCompleted(job: Job) { method emitBaseImportAuditLog (line 469) | private async emitBaseImportAuditLog(job: Job, reco... FILE: apps/nestjs-backend/src/features/base/base-import-processor/base-import-junction-csv.module.ts class BaseImportJunctionCsvModule (line 14) | class BaseImportJunctionCsvModule {} FILE: apps/nestjs-backend/src/features/base/base-import-processor/base-import-junction.processor.ts type IBaseImportJunctionCsvJob (line 26) | interface IBaseImportJunctionCsvJob { constant BASE_IMPORT_JUNCTION_CSV_QUEUE (line 32) | const BASE_IMPORT_JUNCTION_CSV_QUEUE = 'base-import-junction-csv-queue'; class BaseImportJunctionCsvQueueProcessor (line 36) | class BaseImportJunctionCsvQueueProcessor extends WorkerHost { method constructor (line 40) | constructor( method process (line 51) | public async process(job: Job) { method importJunctionChunk (line 72) | private async importJunctionChunk( method handleJunctionChunk (line 213) | private async handleJunctionChunk( FILE: apps/nestjs-backend/src/features/base/base-import.service.ts class BaseImportService (line 51) | class BaseImportService { method constructor (line 54) | constructor( method getMaxOrder (line 69) | private async getMaxOrder(spaceId: string) { method createBase (line 77) | private async createBase(spaceId: string, name: string, icon?: string) { method importBase (line 111) | async importBase( method processStructure (line 173) | private async processStructure( method uploadAttachments (line 230) | private async uploadAttachments(path: string) { method appendTableData (line 244) | private async appendTableData( method createBaseStructure (line 282) | async createBaseStructure( method createTables (line 402) | private async createTables( method createFields (line 441) | private async createFields( method createViews (line 545) | private async createViews( method createFolders (line 614) | private async createFolders( method createBaseNodes (line 651) | async createBaseNodes( method createPlugins (line 814) | private async createPlugins( method createDashboard (line 838) | async createDashboard( method createPanel (line 900) | async createPanel( method createPluginViews (line 962) | private async createPluginViews( FILE: apps/nestjs-backend/src/features/base/base-query/base-query.service.ts class BaseQueryService (line 29) | class BaseQueryService { method constructor (line 32) | constructor( method getQueryColumnName (line 42) | private getQueryColumnName(field: IFieldInstance): string { method quoteIdentifier (line 47) | private quoteIdentifier(name: string): string { method quoteDbTableName (line 62) | private quoteDbTableName(dbTableName: string): string { method convertFieldMapToColumn (line 70) | private convertFieldMapToColumn(fieldMap: Record { method getBaseById (line 202) | async getBaseById(@Param('baseId') baseId: string): Promise { method getAllBase (line 208) | async getAllBase(): Promise { method deleteBase (line 215) | async deleteBase(@Param('baseId') baseId: string) { method createDbConnection (line 221) | async createDbConnection(@Param('baseId') baseId: string): Promise { method createInvitationLink (line 259) | async createInvitationLink( method deleteInvitationLink (line 277) | async deleteInvitationLink( method updateInvitationLink (line 290) | async updateInvitationLink( method listInvitationLink (line 311) | async listInvitationLink(@Param('baseId') baseId: string): Promise) { method getPermission (line 500) | async getPermission() { method permanentDeleteBase (line 514) | async permanentDeleteBase(baseId: string, ignorePermissionCheck: boole... method permanentEmptyBaseRelatedData (line 539) | private async permanentEmptyBaseRelatedData(baseId: string) { method cleanBaseRelatedDataWithoutBase (line 560) | private async cleanBaseRelatedDataWithoutBase(baseId: string) { method cleanRelativeNodesData (line 585) | private async cleanRelativeNodesData(baseId: string) { method dropBase (line 595) | async dropBase(baseId: string, tableIds: string[]) { method dropBaseTable (line 603) | async dropBaseTable(tableIds: string[]) { method cleanBaseRelatedData (line 607) | async cleanBaseRelatedData(baseId: string) { method moveBase (line 639) | async moveBase(baseId: string, moveBaseRo: IMoveBaseRo) { method generateBaseErd (line 649) | async generateBaseErd(baseId: string): Promise { method generateDefaultUrlForNode (line 653) | private async generateDefaultUrlForNode( method publishBase (line 704) | async publishBase(baseId: string, publishBaseRo: IPublishBaseRo) { method createSnapshot (line 798) | private async createSnapshot( method cleanTemplateRelatedData (line 849) | async cleanTemplateRelatedData(baseId: string) { method cropTemplateCoverImage (line 857) | private async cropTemplateCoverImage(cover: { method createTemplateBySnapshot (line 889) | private async createTemplateBySnapshot( FILE: apps/nestjs-backend/src/features/base/constant.ts constant EXCLUDE_SYSTEM_FIELDS (line 1) | const EXCLUDE_SYSTEM_FIELDS = [ constant DEFAULT_EXPRESSION (line 10) | const DEFAULT_EXPRESSION = `"TRIM('')"`; FILE: apps/nestjs-backend/src/features/base/db-connection.service.ts class DbConnectionService (line 17) | class DbConnectionService { method constructor (line 20) | constructor( method getUrlFromDsn (line 28) | private getUrlFromDsn(dsn: IDsn): string { method remove (line 49) | async remove(baseId: string) { method roleExits (line 120) | private async roleExits(role: string): Promise { method getConnectionCount (line 127) | private async getConnectionCount(role: string): Promise { method retrieve (line 134) | async retrieve(baseId: string): Promise { method create (line 210) | async create(baseId: string) { FILE: apps/nestjs-backend/src/features/base/utils.ts function escapeRegExp (line 1) | function escapeRegExp(string: string): string { function replaceExpressionFieldIds (line 5) | function replaceExpressionFieldIds( function replaceJsonStringFieldIds (line 15) | function replaceJsonStringFieldIds( function replaceStringByMap (line 38) | function replaceStringByMap( FILE: apps/nestjs-backend/src/features/builtin-assets-init/builtin-assets-init.module.ts class BuiltinAssetsInitModule (line 11) | class BuiltinAssetsInitModule {} FILE: apps/nestjs-backend/src/features/builtin-assets-init/builtin-assets-init.service.ts type IBuiltinAssetConfig (line 18) | interface IBuiltinAssetConfig { constant LOCK_KEY (line 37) | const LOCK_KEY = 'lock:builtin-assets-init' as const; constant LOCK_TTL (line 39) | const LOCK_TTL = 300; constant AUTOMATION_ROBOT_AVATAR_PATH (line 45) | const AUTOMATION_ROBOT_AVATAR_PATH = 'static/system/automation-robot.png'; constant ANONYMOUS_USER_AVATAR_PATH (line 47) | const ANONYMOUS_USER_AVATAR_PATH = 'static/system/anonymous.png'; constant EMAIL_LOGO_PATH (line 49) | const EMAIL_LOGO_PATH = 'static/system/email-logo.png'; constant EMAIL_LOGO_TOKEN (line 51) | const EMAIL_LOGO_TOKEN = 'email-logo'; class BuiltinAssetsInitService (line 66) | class BuiltinAssetsInitService implements OnModuleInit { method constructor (line 70) | constructor( method onModuleInit (line 80) | async onModuleInit() { method runInitialization (line 97) | private async runInitialization(): Promise { method onModuleDestroy (line 113) | onModuleDestroy() { method tryAcquireLock (line 123) | protected async tryAcquireLock(): Promise { method releaseLock (line 152) | protected async releaseLock(): Promise { method initializeAssets (line 174) | protected async initializeAssets(): Promise { method getBuiltinAssets (line 195) | protected getBuiltinAssets(): IBuiltinAssetConfig[] { method uploadBuiltinAsset (line 239) | async uploadBuiltinAsset(config: IBuiltinAssetConfig): Promise { method uploadStatic (line 251) | async uploadStatic(id: string, filePath: string, type: UploadType): Pr... method getFileMetadata (line 300) | private async getFileMetadata( FILE: apps/nestjs-backend/src/features/calculation/batch.service.ts type IOpsData (line 28) | interface IOpsData { class BatchService (line 37) | class BatchService { method constructor (line 39) | constructor( method completeMissingCtx (line 49) | private async completeMissingCtx( method updateRecordsTask (line 101) | private async updateRecordsTask( method updateRecords (line 145) | async updateRecords( method fetchRawData (line 225) | private async fetchRawData(dbTableName: string, recordIds: string[]) { method buildRecordOpsData (line 239) | private buildRecordOpsData( method executeUpdateRecords (line 281) | private async executeUpdateRecords( method batchUpdateDB (line 298) | async batchUpdateDB( method executeUpdateRecordsInner (line 404) | private async executeUpdateRecordsInner( method saveRawOps (line 455) | saveRawOps( FILE: apps/nestjs-backend/src/features/calculation/calculation.module.ts class CalculationModule (line 32) | class CalculationModule {} FILE: apps/nestjs-backend/src/features/calculation/field-calculation.service.ts type ITopoOrdersContext (line 19) | interface ITopoOrdersContext { class FieldCalculationService (line 33) | class FieldCalculationService { method constructor (line 34) | constructor( method getTopoOrdersContext (line 42) | async getTopoOrdersContext( method getRecordsByPage (line 85) | private async getRecordsByPage( method getRecordsBatchByFields (line 119) | async getRecordsBatchByFields( method getRowCount (line 152) | async getRowCount(dbTableName: string) { FILE: apps/nestjs-backend/src/features/calculation/link.service.ts type IFkRecordMap (line 24) | interface IFkRecordMap { type IFkRecordItem (line 30) | interface IFkRecordItem { type IRecordMapByTableId (line 35) | interface IRecordMapByTableId { type IFieldMapByTableId (line 43) | interface IFieldMapByTableId { type ILinkCellContext (line 49) | interface ILinkCellContext { class LinkService (line 57) | class LinkService { method constructor (line 59) | constructor( method validateLinkCell (line 67) | private validateLinkCell(cell: ILinkCellContext) { method filterLinkContext (line 90) | private filterLinkContext(contexts: ILinkCellContext[]): ILinkCellCont... method buildFieldMapFromTables (line 105) | private buildFieldMapFromTables( method buildTableId2DbTableNameFromTables (line 128) | private buildTableId2DbTableNameFromTables( method getRelatedFieldMap (line 147) | private async getRelatedFieldMap(fieldIds: string[]): Promise { method isCanaryFeatureEnabled (line 31) | isCanaryFeatureEnabled(): boolean { method isForceV2AllEnabled (line 39) | isForceV2AllEnabled(): boolean { method getHeaderCanaryOverride (line 47) | getHeaderCanaryOverride(): boolean | undefined { method isSpaceInCanary (line 63) | async isSpaceInCanary(spaceId: string): Promise { method shouldUseV2 (line 98) | async shouldUseV2(spaceId: string, _feature: V2Feature): Promise { method getSpaceIdFromContext (line 99) | private async getSpaceIdFromContext(context: ExecutionContext): Promis... FILE: apps/nestjs-backend/src/features/canary/interceptors/v2-indicator.interceptor.ts constant X_TEABLE_V2_HEADER (line 17) | const X_TEABLE_V2_HEADER = 'x-teable-v2'; constant X_TEABLE_V2_REASON_HEADER (line 18) | const X_TEABLE_V2_REASON_HEADER = 'x-teable-v2-reason'; constant X_TEABLE_V2_FEATURE_HEADER (line 19) | const X_TEABLE_V2_FEATURE_HEADER = 'x-teable-v2-feature'; type SentryScopeLike (line 21) | type SentryScopeLike = { class V2IndicatorInterceptor (line 62) | class V2IndicatorInterceptor implements NestInterceptor { method constructor (line 65) | constructor(private readonly cls: ClsService) {} method intercept (line 67) | intercept(context: ExecutionContext, next: CallHandler): Observable { method getCommentList (line 230) | async getCommentList( method filterCommentContent (line 330) | async filterCommentContent(content: ICommentContent) { method createComment (line 355) | async createComment(tableId: string, recordId: string, createCommentRo... method updateComment (line 384) | async updateComment( method deleteComment (line 408) | async deleteComment(tableId: string, recordId: string, commentId: stri... method deleteCommentReaction (line 423) | async deleteCommentReaction( method createCommentReaction (line 463) | async createCommentReaction( method getSubscribeDetail (line 514) | async getSubscribeDetail(tableId: string, recordId: string) { method subscribeComment (line 531) | async subscribeComment(tableId: string, recordId: string) { method unsubscribeComment (line 541) | async unsubscribeComment(tableId: string, recordId: string) { method getTableCommentCount (line 553) | async getTableCommentCount(tableId: string, query: IGetRecordsRo) { method getRecordCommentCount (line 577) | async getRecordCommentCount(tableId: string, recordId: string) { method getCommentReactionById (line 591) | private async getCommentReactionById(commentId: string) { method sendCommentNotify (line 603) | private async sendCommentNotify( method getMentionUserByContent (line 701) | private getMentionUserByContent(commentContentRaw: string | null) { method createCommentPresence (line 718) | private createCommentPresence(tableId: string, recordId: string) { method sendCommentPatch (line 724) | private async sendCommentPatch( method sendTableCommentPatch (line 763) | private sendTableCommentPatch(tableId: string, recordId: string, type:... FILE: apps/nestjs-backend/src/features/dashboard/dashboard.controller.ts class DashboardController (line 36) | class DashboardController { method constructor (line 37) | constructor(private readonly dashboardService: DashboardService) {} method getDashboard (line 41) | getDashboard(@Param('baseId') baseId: string): Promise { method getDashboardById (line 56) | async getDashboardById(baseId: string, id: string): Promise { method constructor (line 14) | constructor( method getFieldsInCache (line 64) | private getFieldsInCache(tableId: string): IFieldLoaderItem[] { method logStat (line 72) | private logStat() { method invalidateTables (line 85) | invalidateTables(tableIds: string | string[]) { method resetStat (line 118) | resetStat() { method load (line 123) | override async load( method loadByIds (line 133) | override async loadByIds(ids: string[]): Promise { FILE: apps/nestjs-backend/src/features/data-loader/resource/table-common-loader.ts type IDataLoaderDataItem (line 8) | type IDataLoaderDataItem = IViewLoaderItem | ITableLoaderItem | IFieldLo... type ITableCommonLoaderArgs (line 10) | interface ITableCommonLoaderArgs { class TableCommonLoader (line 34) | class TableCommonLoader { method constructor (line 43) | constructor({ method sortByOrder (line 61) | private async sortByOrder(dataArray: T[]) { method getData (line 68) | private async getData(parentId: string) { method filterByKeys (line 87) | private filterByKeys(data: T[], keys?: Partial(parentId: string, keys?: Partial { FILE: apps/nestjs-backend/src/features/data-loader/resource/table-loader.service.ts class TableLoaderService (line 10) | class TableLoaderService extends TableCommonLoader { method constructor (line 11) | constructor( method filterTablesByParentId (line 52) | private filterTablesByParentId(baseId: string) { FILE: apps/nestjs-backend/src/features/data-loader/resource/view-loader.service.ts class ViewLoaderService (line 10) | class ViewLoaderService extends TableCommonLoader { method constructor (line 11) | constructor( method getViewsInCache (line 52) | private getViewsInCache(tableId: string): IViewLoaderItem[] { FILE: apps/nestjs-backend/src/features/database-view/database-view.interface.ts type IDatabaseView (line 3) | interface IDatabaseView { FILE: apps/nestjs-backend/src/features/database-view/database-view.module.ts class DatabaseViewModule (line 12) | class DatabaseViewModule {} FILE: apps/nestjs-backend/src/features/database-view/database-view.service.ts class DatabaseViewService (line 11) | class DatabaseViewService implements IDatabaseView { method constructor (line 12) | constructor( method createView (line 21) | public async createView(table: TableDomain) { method recreateView (line 44) | public async recreateView(table: TableDomain) { method dropView (line 53) | public async dropView(tableId: string) { method refreshView (line 65) | public async refreshView(tableId: string) { method refreshViewsByFieldIds (line 72) | public async refreshViewsByFieldIds(fieldIds: string[]) { FILE: apps/nestjs-backend/src/features/export/metrics/export-metrics.module.ts class ExportMetricsModule (line 9) | class ExportMetricsModule {} FILE: apps/nestjs-backend/src/features/export/metrics/export-metrics.service.ts class ExportMetricsService (line 5) | class ExportMetricsService { method recordExportStart (line 24) | recordExportStart(format: string): void { method recordExportComplete (line 28) | recordExportComplete(attrs: { format: string; durationMs: number }): v... method recordExportError (line 32) | recordExportError(attrs: { format: string; errorType: string }): void { FILE: apps/nestjs-backend/src/features/export/metrics/export-tracing.service.ts class ExportTracingService (line 5) | class ExportTracingService extends BaseTracingService { method setExportAttributes (line 6) | setExportAttributes(attrs: { rows: number }): void { FILE: apps/nestjs-backend/src/features/export/open-api/export-open-api.controller.ts class ExportOpenApiController (line 11) | class ExportOpenApiController { method constructor (line 12) | constructor(private readonly exportOpenService: ExportOpenApiService) {} method exportCsvFromTable (line 15) | async exportCsvFromTable( FILE: apps/nestjs-backend/src/features/export/open-api/export-open-api.module.ts class ExportOpenApiModule (line 14) | class ExportOpenApiModule {} FILE: apps/nestjs-backend/src/features/export/open-api/export-open-api.service.ts class ExportOpenApiService (line 18) | class ExportOpenApiService { method constructor (line 20) | constructor( method exportCsvFromTable (line 27) | async exportCsvFromTable(response: Response, tableId: string, query?: ... method sortFieldsByColumnMeta (line 211) | private sortFieldsByColumnMeta( FILE: apps/nestjs-backend/src/features/field/constant.ts constant ID_FIELD_NAME (line 3) | const ID_FIELD_NAME = '__id'; constant VERSION_FIELD_NAME (line 4) | const VERSION_FIELD_NAME = '__version'; constant AUTO_NUMBER_FIELD_NAME (line 5) | const AUTO_NUMBER_FIELD_NAME = '__auto_number'; constant CREATED_TIME_FIELD_NAME (line 6) | const CREATED_TIME_FIELD_NAME = '__created_time'; constant LAST_MODIFIED_TIME_FIELD_NAME (line 7) | const LAST_MODIFIED_TIME_FIELD_NAME = '__last_modified_time'; constant CREATED_BY_FIELD_NAME (line 8) | const CREATED_BY_FIELD_NAME = '__created_by'; constant LAST_MODIFIED_BY_FIELD_NAME (line 9) | const LAST_MODIFIED_BY_FIELD_NAME = '__last_modified_by'; type IVisualTableDefaultField (line 12) | interface IVisualTableDefaultField { FILE: apps/nestjs-backend/src/features/field/field-calculate/field-calculate.module.ts class FieldCalculateModule (line 51) | class FieldCalculateModule {} FILE: apps/nestjs-backend/src/features/field/field-calculate/field-converting-link.service.ts class FieldConvertingLinkService (line 36) | class FieldConvertingLinkService { method constructor (line 37) | constructor( method symLinkRelationshipChange (line 47) | private async symLinkRelationshipChange(newField: LinkFieldDto) { method alterSymmetricFieldChange (line 70) | private async alterSymmetricFieldChange( method linkOptionsChange (line 110) | private async linkOptionsChange(tableId: string, newField: LinkFieldDt... method otherToLink (line 149) | private async otherToLink(tableId: string, newField: LinkFieldDto) { method createForeignKeyUsingDbProvider (line 166) | private async createForeignKeyUsingDbProvider(tableId: string, field: ... method linkToOther (line 204) | private async linkToOther(tableId: string, oldField: LinkFieldDto) { method deleteOrCreateSupplementLink (line 225) | async deleteOrCreateSupplementLink( method analysisReference (line 243) | async analysisReference(oldField: IFieldInstance) { method analysisSupplementLink (line 277) | async analysisSupplementLink(newField: IFieldInstance, oldField: IFiel... method getRecords (line 291) | private async getRecords(tableId: string, field: IFieldInstance) { method oneWayToTwoWay (line 322) | async oneWayToTwoWay(oldField: LinkFieldDto, newField: LinkFieldDto) { method modifyLinkOptions (line 382) | async modifyLinkOptions(tableId: string, newField: LinkFieldDto, oldFi... method convertLink (line 444) | async convertLink(tableId: string, newField: LinkFieldDto, oldField: I... method convertLinkOnlyRelationship (line 523) | async convertLinkOnlyRelationship( method planResetLinkFieldLookupFieldId (line 598) | async planResetLinkFieldLookupFieldId( FILE: apps/nestjs-backend/src/features/field/field-calculate/field-converting.service.ts class FieldConvertingService (line 64) | class FieldConvertingService { method constructor (line 67) | constructor( method fieldOpsMap (line 81) | private fieldOpsMap() { method buildOpAndMutateField (line 99) | private buildOpAndMutateField(field: IFieldInstance, key: IFieldProper... method updateLookupField (line 113) | private updateLookupField(field: IFieldInstance, fieldMap: IFieldMap):... method updateFormulaField (line 212) | private updateFormulaField(field: FormulaFieldDto, fieldMap: IFieldMap) { method updateRollupField (line 228) | private updateRollupField(field: RollupFieldDto, fieldMap: IFieldMap) { method updateConditionalLookupField (line 255) | private updateConditionalLookupField(field: IFieldInstance, fieldMap: ... method updateConditionalRollupField (line 287) | private updateConditionalRollupField( method updateDbFieldType (line 347) | private updateDbFieldType(field: IFieldInstance) { method generateReferenceFieldOps (line 362) | private async generateReferenceFieldOps(fields: IFieldInstance[]) { method getOptionsChanges (line 424) | private getOptionsChanges( method infectPropertyChanged (line 458) | private infectPropertyChanged(newField: IFieldInstance, oldField: Fiel... method updateLookupRollupRef (line 481) | private async updateLookupRollupRef( method updateReferencedFields (line 585) | private async updateReferencedFields(newField: IFieldInstance, oldFiel... method updateOptionsFromMultiSelectField (line 597) | private async updateOptionsFromMultiSelectField( method updateOptionsFromSingleSelectField (line 655) | private async updateOptionsFromSingleSelectField( method updateOptionsFromSelectField (line 699) | private async updateOptionsFromSelectField( method modifySelectOptions (line 725) | private async modifySelectOptions( method updateOptionsFromRatingField (line 751) | private async updateOptionsFromRatingField( method modifyRatingOptions (line 796) | private async modifyRatingOptions( method updateOptionsFromUserField (line 809) | private async updateOptionsFromUserField( method modifyUserOptions (line 852) | private async modifyUserOptions(tableId: string, newField: UserFieldDt... method updateOptionsFromButtonField (line 861) | private async updateOptionsFromButtonField(tableId: string, field: But... method modifyButtonOptions (line 889) | private async modifyButtonOptions( method modifyOptions (line 902) | private async modifyOptions( method getOriginFieldKeys (line 950) | private getOriginFieldKeys(newField: IFieldInstance, oldField: FieldCo... method getOriginFieldOps (line 960) | private getOriginFieldOps(newField: IFieldInstance, oldField: FieldCor... method getDerivateByLink (line 970) | private async getDerivateByLink(tableId: string, innerOpsMap: IOpsMap[... method buildCellContextsFromOps (line 1013) | private buildCellContextsFromOps(opsMap: IOpsMap[string] | undefined) { method buildComputedSources (line 1035) | private buildComputedSources(recordOpsMap: IOpsMap) { method calculateAndSaveRecords (line 1045) | private async calculateAndSaveRecords( method getExistRecords (line 1087) | private async getExistRecords(tableId: string, newField: IFieldInstanc... method convert2Select (line 1119) | private async convert2Select( method convert2User (line 1182) | private async convert2User(tableId: string, newField: UserFieldDto, ol... method basalConvert (line 1240) | private async basalConvert(tableId: string, newField: IFieldInstance, ... method buildBasalOpsMap (line 1258) | private async buildBasalOpsMap( method modifyType (line 1290) | private async modifyType( method updateReference (line 1318) | async updateReference(newField: IFieldInstance, oldField: FieldCore) { method shouldUpdateReference (line 1330) | private shouldUpdateReference(newField: IFieldInstance, oldField: Fiel... method generateModifiedOps (line 1367) | private async generateModifiedOps( method needCalculate (line 1389) | needCalculate(newField: IFieldInstance, oldField: FieldCore) { method hasConditionalLookupDiff (line 1413) | private hasConditionalLookupDiff(newField: IFieldInstance, oldField: F... method hasConditionalRollupDiff (line 1421) | private hasConditionalRollupDiff(newField: IFieldInstance, oldField: F... method calculateField (line 1429) | private async calculateField( method submitFieldOpsMap (line 1452) | private async submitFieldOpsMap(fieldOpsMap: IOpsMap | undefined) { method deleteOrCreateSupplementLink (line 1467) | async deleteOrCreateSupplementLink( method needTempleCloseFieldConstraint (line 1475) | private needTempleCloseFieldConstraint(newField: IFieldInstance, oldFi... method alterFieldConstraint (line 1483) | async alterFieldConstraint(tableId: string, newField: IFieldInstance, ... method closeConstraint (line 1543) | async closeConstraint(tableId: string, newField: IFieldInstance, oldFi... method stageAnalysis (line 1580) | async stageAnalysis(tableId: string, fieldId: string, updateFieldRo: I... method updateAiConfigReference (line 1623) | async updateAiConfigReference(tableId: string, newField: IFieldInstanc... method stageAlter (line 1629) | async stageAlter(tableId: string, newField: IFieldInstance, oldField: ... method stageCalculate (line 1654) | async stageCalculate( method isTogglingToOneWay (line 1673) | private isTogglingToOneWay(newField: IFieldInstance, oldField: IFieldI... FILE: apps/nestjs-backend/src/features/field/field-calculate/field-creating.service.ts class FieldCreatingService (line 12) | class FieldCreatingService { method constructor (line 15) | constructor( method createFieldItem (line 22) | async createFieldItem( method createFieldItemsBatch (line 44) | private async createFieldItemsBatch( method createFields (line 77) | async createFields( method alterCreateFieldsInExistingTable (line 98) | async alterCreateFieldsInExistingTable( method alterCreateField (line 137) | async alterCreateField(tableId: string, field: IFieldInstance, columnM... method alterCreateFields (line 161) | async alterCreateFields( FILE: apps/nestjs-backend/src/features/field/field-calculate/field-deleting.service.ts class FieldDeletingService (line 17) | class FieldDeletingService { method constructor (line 20) | constructor( method markFieldsAsError (line 29) | private async markFieldsAsError(tableId: string, fieldIds: string[]) { method cleanLookupRollupRef (line 43) | async cleanLookupRollupRef(tableId: string, fieldId: string) { method resetLinkFieldLookupFieldId (line 49) | async resetLinkFieldLookupFieldId( method cleanRef (line 127) | async cleanRef(tableId: string, field: IFieldInstance) { method deleteFieldItem (line 177) | async deleteFieldItem( method getField (line 186) | async getField(tableId: string, fieldId: string): Promise... class FieldSupplementService (line 89) | class FieldSupplementService { method constructor (line 90) | constructor( method getDbTableName (line 98) | private async getDbTableName(tableId: string) { method getForeignKeyFieldName (line 106) | private getForeignKeyFieldName(fieldId: string | undefined) { method getDefaultTimeZone (line 113) | private getDefaultTimeZone(): string { method getJunctionTableName (line 117) | private async getJunctionTableName( method getDefaultLinkName (line 133) | private async getDefaultLinkName(foreignTableId: string) { method generateLinkOptionsVo (line 153) | private async generateLinkOptionsVo(params: { method generateNewLinkOptionsVo (line 231) | async generateNewLinkOptionsVo( method generateUpdatedLinkOptionsVo (line 297) | async generateUpdatedLinkOptionsVo( method prepareLinkField (line 401) | private async prepareLinkField(tableId: string, field: IFieldRo) { method prepareUpdateLinkField (line 435) | private async prepareUpdateLinkField(tableId: string, fieldRo: IFieldR... method buildLinkFieldMeta (line 494) | private buildLinkFieldMeta(options: ILinkFieldOptions): ILinkFieldMeta { method prepareLookupOptions (line 505) | private async prepareLookupOptions(field: IFieldRo, batchFieldVos?: IF... method getDbFieldType (line 606) | getDbFieldType( method prepareFormattingShowAs (line 614) | prepareFormattingShowAs( method prepareLookupField (line 645) | private async prepareLookupField(fieldRo: IFieldRo, batchFieldVos?: IF... method prepareUpdateLookupField (line 692) | private async prepareUpdateLookupField(fieldRo: IFieldRo, oldFieldVo: ... method prepareFormulaField (line 731) | private async prepareFormulaField(fieldRo: IFieldRo, batchFieldVos?: I... method prepareUpdateFormulaField (line 828) | private async prepareUpdateFormulaField(fieldRo: IFieldRo, oldFieldVo:... method prepareRollupField (line 871) | private async prepareRollupField(field: IFieldRo, batchFieldVos?: IFie... method prepareConditionalRollupField (line 934) | private async prepareConditionalRollupField(field: IFieldRo) { method prepareConditionalLookupField (line 1080) | private async prepareConditionalLookupField(field: IFieldRo) { method prepareUpdateRollupField (line 1206) | private async prepareUpdateRollupField(fieldRo: IFieldRo, oldFieldVo: ... method prepareSingleTextField (line 1246) | private prepareSingleTextField(field: IFieldRo) { method prepareLongTextField (line 1258) | private prepareLongTextField(field: IFieldRo) { method prepareNumberField (line 1270) | private prepareNumberField(field: IFieldRo) { method prepareRatingField (line 1289) | private prepareRatingField(field: IFieldRo) { method prepareSelectOptions (line 1301) | private prepareSelectOptions(options: ISelectFieldOptionsRo, isMultipl... method prepareSingleSelectField (line 1336) | private prepareSingleSelectField(field: IFieldRo) { method prepareMultipleSelectField (line 1348) | private prepareMultipleSelectField(field: IFieldRo) { method prepareAttachmentField (line 1361) | private prepareAttachmentField(field: IFieldRo) { method prepareUpdateUserField (line 1374) | private async prepareUpdateUserField(fieldRo: IFieldRo, oldFieldVo: IF... method prepareUserField (line 1383) | private prepareUserField(field: IFieldRo) { method prepareCreatedByField (line 1403) | private prepareCreatedByField(field: IFieldRo) { method prepareLastModifiedByField (line 1416) | private prepareLastModifiedByField(field: IFieldRo) { method prepareDateField (line 1429) | private prepareDateField(field: IFieldRo) { method prepareAutoNumberField (line 1441) | private prepareAutoNumberField(field: IFieldRo) { method prepareCreatedTimeField (line 1455) | private prepareCreatedTimeField(field: IFieldRo) { method prepareLastModifiedTimeField (line 1469) | private prepareLastModifiedTimeField(field: IFieldRo) { method prepareCheckboxField (line 1486) | private prepareCheckboxField(field: IFieldRo) { method prepareButtonField (line 1498) | private prepareButtonField(field: IFieldRo) { method prepareCreateFieldInner (line 1510) | private async prepareCreateFieldInner( method prepareUpdateFieldInner (line 1574) | private async prepareUpdateFieldInner(tableId: string, fieldRo: IField... method zodParse (line 1687) | private zodParse(name: string, schema: z.Schema, value: unknown) { method validateFormattingShowAs (line 1698) | private validateFormattingShowAs(field: IFieldVo) { method validateAiConfig (line 1715) | private validateAiConfig(field: IFieldVo) { method prepareCreateField (line 1729) | async prepareCreateField(tableId: string, fieldRo: IFieldRo, batchFiel... method prepareCreateFields (line 1771) | async prepareCreateFields(tableId: string, fieldRos: IFieldRo[], batch... method prepareUpdateField (line 1828) | async prepareUpdateField( method uniqFieldName (line 1861) | async uniqFieldName(tableId: string, fieldName: string) { method uniqFieldNames (line 1875) | private async uniqFieldNames(tableId: string, fieldNames: string[]) { method generateSymmetricField (line 1890) | async generateSymmetricField(tableId: string, field: LinkFieldDto) { method cleanForeignKey (line 1948) | async cleanForeignKey(options: ILinkFieldOptions) { method createReference (line 2003) | async createReference(field: IFieldInstance) { method deleteReference (line 2020) | async deleteReference(fieldId: string): Promise { method deleteLookupFieldReference (line 2040) | async deleteLookupFieldReference(linkFieldId: string): Promise { FILE: apps/nestjs-backend/src/features/field/field-duplicate/field-duplicate.module.ts class FieldDuplicateModule (line 13) | class FieldDuplicateModule {} FILE: apps/nestjs-backend/src/features/field/field-duplicate/field-duplicate.service.ts class FieldDuplicateService (line 38) | class FieldDuplicateService { method constructor (line 41) | constructor( method createCommonFields (line 50) | async createCommonFields(fields: IFieldWithTableIdJson[], fieldMap: Re... method createButtonFields (line 85) | async createButtonFields(fields: IFieldWithTableIdJson[], fieldMap: Re... method createTmpPrimaryFormulaFields (line 99) | async createTmpPrimaryFormulaFields( method repairPrimaryFormulaFields (line 164) | async repairPrimaryFormulaFields( method repairFormulaReference (line 239) | async repairFormulaReference( method createLinkFields (line 276) | async createLinkFields( method createSelfLinkFields (line 319) | async createSelfLinkFields( method createCommonLinkFields (line 478) | async createCommonLinkFields( method repairSymmetricField (line 636) | async repairSymmetricField( method repairFieldOptions (line 719) | async repairFieldOptions( method createDependencyFields (line 816) | async createDependencyFields( method duplicateSingleDependField (line 889) | async duplicateSingleDependField( method duplicateErroredComputedFieldAsText (line 958) | private async duplicateErroredComputedFieldAsText( method duplicateLookupField (line 987) | async duplicateLookupField( method duplicateRollupField (line 1146) | async duplicateRollupField( method duplicateConditionalRollupField (line 1217) | async duplicateConditionalRollupField( method duplicateFormulaField (line 1283) | async duplicateFormulaField( method duplicateFieldAiConfig (line 1394) | private async duplicateFieldAiConfig( method replenishmentConstraint (line 1435) | async replenishmentConstraint( method isInDegreeReady (line 1508) | private async isInDegreeReady( method extractFieldIds (line 1606) | private extractFieldIds(expression: string): string[] { method collectConditionalDependencies (line 1615) | private collectConditionalDependencies({ method areDependenciesResolved (line 1641) | private areDependenciesResolved( FILE: apps/nestjs-backend/src/features/field/field.module.ts class FieldModule (line 14) | class FieldModule {} FILE: apps/nestjs-backend/src/features/field/field.service.ts type IOpContext (line 56) | type IOpContext = ISetFieldPropertyOpContext; class FieldService (line 59) | class FieldService implements IReadonlyAdapterService { method constructor (line 61) | constructor( method invalidateFieldLoader (line 74) | private invalidateFieldLoader(tableIds: string | string[]) { method generateDbFieldName (line 82) | async generateDbFieldName(tableId: string, name: string): Promise { method getFieldsByQuery (line 818) | async getFieldsByQuery(tableId: string, query?: IGetFieldsQuery): Prom... method getFieldInstances (line 881) | async getFieldInstances(tableId: string, query: IGetFieldsQuery): Prom... method getDbTableName (line 886) | async getDbTableName(tableId: string) { method resolvePending (line 894) | async resolvePending(tableId: string, fieldIds: string[]) { method markError (line 910) | async markError(tableId: string, fieldIds: string[], hasError: boolean) { method recreateDependentFormulaColumns (line 933) | async recreateDependentFormulaColumns(tableId: string, fieldIds: strin... method checkFieldName (line 1071) | private async checkFieldName(tableId: string, fieldId: string, name: s... method batchUpdateFields (line 1091) | async batchUpdateFields(tableId: string, opData: { fieldId: string; op... method batchDeleteFields (line 1133) | async batchDeleteFields( method batchCreateFields (line 1174) | async batchCreateFields( method batchCreateFieldsAtOnce (line 1201) | async batchCreateFieldsAtOnce(tableId: string, dbTableName: string, fi... method create (line 1222) | async create(tableId: string, snapshot: IFieldVo) { method deleteMany (line 1233) | private async deleteMany( method del (line 1257) | async del(version: number, tableId: string, fieldId: string) { method handleFieldProperty (line 1262) | private async handleFieldProperty( method updateStrategies (line 1335) | private async updateStrategies( method update (line 1361) | async update( method getSnapshotBulk (line 1406) | async getSnapshotBulk(tableId: string, ids: string[]): Promise; type IFieldMap (line 183) | interface IFieldMap { function convertFieldInstanceToFieldVo (line 187) | function convertFieldInstanceToFieldVo(fieldInstance: IFieldInstance): I... function applyFieldPropertyOpsAndCreateInstance (line 199) | function applyFieldPropertyOpsAndCreateInstance( FILE: apps/nestjs-backend/src/features/field/model/field-dto/attachment-field.dto.ts class AttachmentFieldDto (line 6) | class AttachmentFieldDto extends AttachmentFieldCore implements FieldBase { method isStructuredCellValue (line 7) | get isStructuredCellValue() { method getTokenAndNameByString (line 11) | static getTokenAndNameByString(value: string): { token: string; name: ... method convertCellValue2DBValue (line 22) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 33) | convertDBValue2CellValue(value: unknown): unknown { method convertStringToCellValue (line 37) | override convertStringToCellValue( FILE: apps/nestjs-backend/src/features/field/model/field-dto/auto-number-field.dto.ts class AutoNumberFieldDto (line 5) | class AutoNumberFieldDto extends AutoNumberFieldCore implements FieldBase { method isStructuredCellValue (line 6) | get isStructuredCellValue() { method convertCellValue2DBValue (line 10) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 17) | convertDBValue2CellValue(value: unknown): unknown { method setMetadata (line 24) | setMetadata(meta: IFormulaFieldMeta) { FILE: apps/nestjs-backend/src/features/field/model/field-dto/button-field.dto.ts class ButtonFieldDto (line 4) | class ButtonFieldDto extends ButtonFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue(): boolean { method convertCellValue2DBValue (line 8) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 12) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/checkbox-field.dto.ts class CheckboxFieldDto (line 4) | class CheckboxFieldDto extends CheckboxFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/conditional-rollup-field.dto.ts class ConditionalRollupFieldDto (line 4) | class ConditionalRollupFieldDto extends ConditionalRollupFieldCore imple... method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 19) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/created-by-field.dto.ts class CreatedByFieldDto (line 7) | class CreatedByFieldDto extends CreatedByFieldCore implements FieldBase { method isStructuredCellValue (line 8) | get isStructuredCellValue() { method convertCellValue2DBValue (line 12) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 23) | convertDBValue2CellValue(value: unknown): unknown { method applyTransformation (line 30) | applyTransformation(value: T | T[], transform: (item: T) => void): ... method setMetadata (line 39) | setMetadata(meta: IFormulaFieldMeta) { FILE: apps/nestjs-backend/src/features/field/model/field-dto/created-time-field.dto.ts class CreatedTimeFieldDto (line 5) | class CreatedTimeFieldDto extends CreatedTimeFieldCore implements FieldB... method isStructuredCellValue (line 6) | get isStructuredCellValue() { method convertCellValue2DBValue (line 10) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 17) | convertDBValue2CellValue(value: unknown): unknown { method setMetadata (line 44) | setMetadata(meta: IFormulaFieldMeta) { FILE: apps/nestjs-backend/src/features/field/model/field-dto/date-field.dto.ts class DateFieldDto (line 4) | class DateFieldDto extends DateFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/formula-field.dto.ts class FormulaFieldDto (line 6) | class FormulaFieldDto extends FormulaFieldCore implements FieldBase { method isStructuredCellValue (line 7) | get isStructuredCellValue() { method setMetadata (line 11) | setMetadata(meta: IFormulaFieldMeta) { method convertCellValue2DBValue (line 15) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 25) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/last-modified-by-field.dto.ts class LastModifiedByFieldDto (line 7) | class LastModifiedByFieldDto extends LastModifiedByFieldCore implements ... method isStructuredCellValue (line 8) | get isStructuredCellValue() { method convertCellValue2DBValue (line 12) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 23) | convertDBValue2CellValue(value: unknown): unknown { method applyTransformation (line 30) | applyTransformation(value: T | T[], transform: (item: T) => void): ... method setMetadata (line 39) | setMetadata(meta: IFormulaFieldMeta) { FILE: apps/nestjs-backend/src/features/field/model/field-dto/last-modified-time-field.dto.ts class LastModifiedTimeFieldDto (line 5) | class LastModifiedTimeFieldDto extends LastModifiedTimeFieldCore impleme... method isStructuredCellValue (line 6) | get isStructuredCellValue() { method convertCellValue2DBValue (line 10) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 17) | convertDBValue2CellValue(value: unknown): unknown { method setMetadata (line 44) | setMetadata(meta: IFormulaFieldMeta) { FILE: apps/nestjs-backend/src/features/field/model/field-dto/link-field.dto.ts class LinkFieldDto (line 5) | class LinkFieldDto extends LinkFieldCore implements FieldBase { method isStructuredCellValue (line 6) | get isStructuredCellValue() { method setMetadata (line 10) | setMetadata(meta: ILinkFieldMeta) { method convertCellValue2DBValue (line 14) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 18) | convertDBValue2CellValue(value: unknown): unknown { method updateCellTitle (line 22) | updateCellTitle( method convertStringToCellValue (line 40) | override convertStringToCellValue(value: string): string[] | null { method getOrderColumnName (line 52) | getOrderColumnName(): string { FILE: apps/nestjs-backend/src/features/field/model/field-dto/long-text-field.dto.ts class LongTextFieldDto (line 4) | class LongTextFieldDto extends LongTextFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/multiple-select-field.dto.ts class MultipleSelectFieldDto (line 4) | class MultipleSelectFieldDto extends MultipleSelectFieldCore implements ... method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): string | null { method convertDBValue2CellValue (line 13) | convertDBValue2CellValue(value: unknown): string[] { FILE: apps/nestjs-backend/src/features/field/model/field-dto/number-field.dto.ts class NumberFieldDto (line 4) | class NumberFieldDto extends NumberFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { method coerceNumber (line 28) | private coerceNumber(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/rating-field.dto.ts class RatingFieldDto (line 4) | class RatingFieldDto extends RatingFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/rollup-field.dto.ts class RollupFieldDto (line 4) | class RollupFieldDto extends RollupFieldCore implements FieldBase { method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 19) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/single-line-text-field.dto.ts class SingleLineTextFieldDto (line 3) | class SingleLineTextFieldDto extends SingleLineTextFieldCore implements ... method isStructuredCellValue (line 4) | get isStructuredCellValue() { method convertCellValue2DBValue (line 8) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 15) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/single-select-field.dto.ts class SingleSelectFieldDto (line 4) | class SingleSelectFieldDto extends SingleSelectFieldCore implements Fiel... method isStructuredCellValue (line 5) | get isStructuredCellValue() { method convertCellValue2DBValue (line 9) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 16) | convertDBValue2CellValue(value: unknown): unknown { FILE: apps/nestjs-backend/src/features/field/model/field-dto/user-field.dto.ts class UserFieldDto (line 9) | class UserFieldDto extends UserFieldCore implements FieldBase { method isStructuredCellValue (line 10) | get isStructuredCellValue() { method convertCellValue2DBValue (line 14) | convertCellValue2DBValue(value: unknown): unknown { method convertDBValue2CellValue (line 25) | convertDBValue2CellValue(value: unknown): unknown { method fullAvatarUrl (line 33) | static fullAvatarUrl(cellValue: IUserCellValue) { method applyTransformation (line 42) | applyTransformation(value: T | T[], transform: (item: T) => void): ... FILE: apps/nestjs-backend/src/features/field/open-api/field-open-api-v2.service.spec.ts type ITestFieldOpenApiV2Service (line 8) | type ITestFieldOpenApiV2Service = { FILE: apps/nestjs-backend/src/features/field/open-api/field-open-api-v2.service.ts type ConvertFieldExecutionOptions (line 81) | type ConvertFieldExecutionOptions = { type IGridViewDeleteSnapshot (line 87) | type IGridViewDeleteSnapshot = { type ITableDtoWithFields (line 93) | type ITableDtoWithFields = { type IPreparedLegacyCreateField (line 97) | type IPreparedLegacyCreateField = { class FieldOpenApiV2Service (line 104) | class FieldOpenApiV2Service { method constructor (line 105) | constructor( method stripUndefinedDeep (line 114) | private stripUndefinedDeep(value: unknown): unknown { method invalidateFieldLoader (line 134) | private invalidateFieldLoader(tableIds: ReadonlyArray) { method captureGridViewDeleteSnapshots (line 142) | private async captureGridViewDeleteSnapshots( method toGridViewDeleteSnapshot (line 149) | private toGridViewDeleteSnapshot(view: IViewVo): IGridViewDeleteSnapsh... method buildFrozenFieldDeleteOps (line 165) | private buildFrozenFieldDeleteOps( method attachDeleteFieldCompatContext (line 194) | private attachDeleteFieldCompatContext( method throwV2Error (line 215) | private throwV2Error( method normalizeFieldVo (line 231) | private normalizeFieldVo(field: unknown): IFieldVo { method deriveCellValueType (line 411) | private deriveCellValueType(vo: IFieldVo): CellValueType { method deriveIsMultipleCellValue (line 441) | private deriveIsMultipleCellValue(vo: IFieldVo): boolean { method shouldApplyLegacyRollupNumberFormatting (line 460) | private shouldApplyLegacyRollupNumberFormatting(vo: IFieldVo): boolean { method getFieldFromV2 (line 482) | private async getFieldFromV2( method mapDomainFieldToDto (line 515) | private mapDomainFieldToDto(table: Table, field: Field): Record { method mapLegacyUpdateFieldToV2 (line 778) | private mapLegacyUpdateFieldToV2( method normalizeLegacyTimeZone (line 819) | private normalizeLegacyTimeZone(value: unknown): unknown { method denormalizeLegacyTimeZone (line 838) | private denormalizeLegacyTimeZone(value: unknown): unknown { method getResultTypePair (line 857) | private getResultTypePair(raw: Record): Record { method getDbTableNameString (line 1104) | private getDbTableNameString(table: Table): string | undefined { method hasDuplicatedDbFieldName (line 1116) | private hasDuplicatedDbFieldName(table: Table, dbFieldName: string): b... method completeLegacyLinkDbConfigForCreate (line 1123) | private async completeLegacyLinkDbConfigForCreate( method createField (line 1252) | async createField(tableId: string, fieldRo: IFieldRo): Promise { method deleteFields (line 1541) | async deleteFields(tableId: string, fieldIds: string[]): Promise { method updateField (line 1607) | async updateField(tableId: string, fieldId: string, updateFieldRo: IUp... method convertField (line 1644) | async convertField( method replayModifiedOps (line 1730) | async replayModifiedOps( method mapConvertFieldToV2 (line 1791) | private mapConvertFieldToV2( FILE: apps/nestjs-backend/src/features/field/open-api/field-open-api.controller.ts class FieldOpenApiController (line 60) | class FieldOpenApiController { method constructor (line 61) | constructor( method getDeleteFieldReferences (line 70) | async getDeleteFieldReferences( method planField (line 80) | async planField( method getField (line 89) | async getField( method getFields (line 113) | async getFields( method planFieldCreate (line 122) | async planFieldCreate( method createField (line 132) | async createField( method planFieldConvert (line 145) | async planFieldConvert( method convertField (line 156) | async convertField( method updateField (line 174) | async updateField( method planDeleteField (line 187) | async planDeleteField(@Param('tableId') tableId: string, @Param('field... method deleteField (line 194) | async deleteField( method deleteFields (line 209) | async deleteFields( method getFilterLinkRecords (line 223) | async getFilterLinkRecords( method getSnapshotBulk (line 232) | async getSnapshotBulk(@Param('tableId') tableId: string, @Query('ids')... method getDocIds (line 238) | async getDocIds( method duplicateField (line 248) | async duplicateField( method autoFillField (line 267) | async autoFillField( method stopFillField (line 277) | async stopFillField(@Param('tableId') _tableId: string, @Param('fieldI... FILE: apps/nestjs-backend/src/features/field/open-api/field-open-api.module.ts class FieldOpenApiModule (line 41) | class FieldOpenApiModule {} FILE: apps/nestjs-backend/src/features/field/open-api/field-open-api.service.ts type FieldDeleteDependencyContext (line 86) | type FieldDeleteDependencyContext = { type LinkReferenceOptions (line 96) | type LinkReferenceOptions = Pick< type ILegacyDeleteFieldsPayloadSnapshot (line 101) | type ILegacyDeleteFieldsPayloadSnapshot = { class FieldOpenApiService (line 112) | class FieldOpenApiService { method constructor (line 114) | constructor( method planField (line 137) | async planField(tableId: string, fieldId: string) { method isFieldReferenceCompatibilityError (line 141) | private isFieldReferenceCompatibilityError( method planFieldCreate (line 147) | async planFieldCreate(tableId: string, fieldRo: IFieldRo) { method planFieldConvert (line 152) | async planFieldConvert(tableId: string, fieldId: string, updateFieldRo... method planDeleteField (line 156) | async planDeleteField(tableId: string, fieldId: string) { method getDeleteFieldReferences (line 160) | async getDeleteFieldReferences( method getReferencedViewsPerField (line 184) | private async getReferencedViewsPerField(tableId: string, fieldIds: st... method viewReferencesField (line 243) | private viewReferencesField( method extractViewOptionFieldIds (line 283) | private extractViewOptionFieldIds(viewType: string, rawOptions: string... method parseJsonOptions (line 321) | private parseJsonOptions(raw: string | null): T | null { method createDependentFieldAdder (line 330) | private createDependentFieldAdder( method buildFieldDeleteDependencyContext (line 349) | private async buildFieldDeleteDependencyContext( method collectDirectAndExternalCandidates (line 379) | private async collectDirectAndExternalCandidates( method collectSymmetricLinkDependencies (line 410) | private collectSymmetricLinkDependencies( method collectExternalLinkDisplayDependencies (line 425) | private async collectExternalLinkDisplayDependencies( method hydrateDependentFieldInfos (line 458) | private async hydrateDependentFieldInfos(perFieldDepIds: Map void): void { method getLines (line 56) | getLines(linesChunk: Buffer): Buffer[] { method dispatchLines (line 87) | dispatchLines(lines: Buffer[], lineIndex = 0): void { FILE: apps/nestjs-backend/src/features/import/open-api/import-csv-chunk.module.ts class ImportCsvChunkModule (line 42) | class ImportCsvChunkModule {} FILE: apps/nestjs-backend/src/features/import/open-api/import-csv-chunk.processor.ts class ImportError (line 45) | class ImportError extends Error { method constructor (line 46) | constructor( type ITableImportChunkJob (line 55) | interface ITableImportChunkJob { constant TABLE_IMPORT_CSV_CHUNK_QUEUE (line 85) | const TABLE_IMPORT_CSV_CHUNK_QUEUE = 'import-table-csv-chunk-queue'; constant TABLE_IMPORT_CSV_CHUNK_QUEUE_CONCURRENCY (line 86) | const TABLE_IMPORT_CSV_CHUNK_QUEUE_CONCURRENCY = Math.max( class ImportTableCsvChunkQueueProcessor (line 99) | class ImportTableCsvChunkQueueProcessor extends WorkerHost { method constructor (line 105) | constructor( method getUserLang (line 142) | private async getUserLang(userId: string): Promise { method createTranslateFn (line 154) | private createTranslateFn(lang?: string): ITranslateFn { method getImportErrorNotification (line 159) | private getImportErrorNotification( method process (line 175) | public async process(job: Job) { method resolveDataByWorker (line 271) | private async resolveDataByWorker( method handleChunkMessage (line 382) | private async handleChunkMessage(params: { method chunkToFile (line 475) | private async chunkToFile( method writeCatastrophicChunkErrors (line 567) | private async writeCatastrophicChunkErrors( method onError (line 602) | async onError(job: Job) { FILE: apps/nestjs-backend/src/features/import/open-api/import-csv.module.ts class ImportCsvModule (line 22) | class ImportCsvModule {} FILE: apps/nestjs-backend/src/features/import/open-api/import-csv.processor.ts type ITableImportCsvJob (line 42) | interface ITableImportCsvJob { constant TABLE_IMPORT_CSV_QUEUE (line 69) | const TABLE_IMPORT_CSV_QUEUE = 'import-table-csv-queue'; constant SUB_BATCH_SIZE (line 70) | const SUB_BATCH_SIZE = 50; type IChunkImportResult (line 72) | interface IChunkImportResult { class ImportTableCsvQueueProcessor (line 83) | class ImportTableCsvQueueProcessor extends WorkerHost { method constructor (line 90) | constructor( method process (line 104) | public async process(job: Job): Promise): Prom... method writeChunkErrorsToStorage (line 261) | private async writeChunkErrorsToStorage( method createTranslateFn (line 309) | private createTranslateFn(lang?: string): ITranslateFn { method insertWithBinaryFallback (line 323) | private async insertWithBinaryFallback( method identifyFailingFields (line 412) | private identifyFailingFields( method identifyDateFields (line 430) | private identifyDateFields( method getChunkData (line 455) | private async getChunkData(job: Job): Promise, loading: boolean) { method createImportPresence (line 519) | createImportPresence(tableId: string, type: 'rowCount' | 'status' = 's... method getChunkImportJobIdPrefix (line 534) | public getChunkImportJobIdPrefix(parentId: string) { method getChunkImportJobId (line 538) | public getChunkImportJobId(jobId: string, range: [number, number]) { method emitImportAuditLog (line 543) | private async emitImportAuditLog(job: Job, success... method onWorkerEvent (line 567) | onWorkerEvent(job: Job) { method onError (line 573) | async onError(job: Job) { method onCompleted (line 586) | async onCompleted(job: Job) { FILE: apps/nestjs-backend/src/features/import/open-api/import-error-classifier.ts type ImportErrorType (line 3) | enum ImportErrorType { type IClassifiedError (line 13) | interface IClassifiedError { type IErrorMatcher (line 21) | interface IErrorMatcher { function classifyImportError (line 82) | function classifyImportError(rawMessage: string): IClassifiedError { function resolveClassifiedFieldNames (line 106) | function resolveClassifiedFieldNames( type ITranslateFn (line 126) | type ITranslateFn = (key: I18nPath, args?: Record) => st... function formatClassifiedError (line 135) | function formatClassifiedError( FILE: apps/nestjs-backend/src/features/import/open-api/import-error-collector.ts type IImportError (line 4) | interface IImportError { type IImportStats (line 12) | interface IImportStats { type IUploadResult (line 18) | interface IUploadResult { class ImportErrorCollector (line 22) | class ImportErrorCollector { method constructor (line 29) | constructor(fieldNames?: string[]) { method setFieldNames (line 33) | setFieldNames(names: string[]): void { method enableStreamingToStorage (line 46) | enableStreamingToStorage( method add (line 59) | add(error: IImportError): void { method addSuccessCount (line 68) | addSuccessCount(count: number): void { method addFailedCount (line 72) | addFailedCount(count: number): void { method hasErrors (line 76) | hasErrors(): boolean { method successCount (line 80) | get successCount(): number { method failedCount (line 84) | get failedCount(): number { method isTruncated (line 88) | get isTruncated(): boolean { method getStats (line 92) | getStats(): IImportStats { method getErrors (line 100) | getErrors(): readonly IImportError[] { method closeStream (line 108) | async closeStream(): Promise { method generateCsvReport (line 121) | generateCsvReport(): string { method pipeRawCsvStream (line 154) | async pipeRawCsvStream(source: Readable, failedCount: number): Promise... method merge (line 161) | merge(other: ImportErrorCollector): void { method reset (line 172) | reset(): void { class StreamingErrorReportWriter (line 183) | class StreamingErrorReportWriter { method constructor (line 190) | constructor( method appendError (line 202) | appendError(error: IImportError): void { method pipeFrom (line 221) | async pipeFrom(source: Readable): Promise { method ensureHeaderWritten (line 236) | private ensureHeaderWritten(): void { method writeHeader (line 243) | private writeHeader(): void { method close (line 253) | async close(): Promise { FILE: apps/nestjs-backend/src/features/import/open-api/import-open-api-v2.service.ts class ImportOpenApiV2Service (line 28) | class ImportOpenApiV2Service { method constructor (line 31) | constructor( method resolveUrl (line 44) | private resolveUrl(url: string): string { method throwV2Error (line 61) | private throwV2Error( method emitImportAuditLog (line 77) | private emitImportAuditLog(tableId: string, recordCount: number, fileT... method importRecords (line 116) | async importRecords( FILE: apps/nestjs-backend/src/features/import/open-api/import-open-api.controller.ts class ImportController (line 36) | class ImportController { method constructor (line 37) | constructor( method analyzeSheetFromFile (line 44) | async analyzeSheetFromFile( method getImportStatus (line 53) | async getImportStatus(@Param('tableId') tableId: string): Promise { method generateChunkJobId (line 409) | async generateChunkJobId(tableId: string) { method mapQueueStateToImportStatus (line 413) | private mapQueueStateToImportStatus(state: string): IImportStatusVo['s... method fillCompletedOrFailedCounts (line 429) | private fillCompletedOrFailedCounts( method fillRunningCounts (line 453) | private fillRunningCounts(result: IImportStatusVo, progress: unknown) { FILE: apps/nestjs-backend/src/features/import/open-api/import-result-manifest.ts type IImportResultManifest (line 1) | interface IImportResultManifest { constant IMPORT_RESULT_MANIFEST_TTL_SECONDS (line 10) | const IMPORT_RESULT_MANIFEST_TTL_SECONDS = 60 * 60; constant IMPORT_LATEST_JOB_TTL_SECONDS (line 11) | const IMPORT_LATEST_JOB_TTL_SECONDS = 60 * 60; FILE: apps/nestjs-backend/src/features/import/open-api/import-result.processor.ts constant TABLE_IMPORT_RESULT_QUEUE (line 23) | const TABLE_IMPORT_RESULT_QUEUE = 'import-table-result-queue'; constant TABLE_IMPORT_RESULT_QUEUE_CONCURRENCY (line 24) | const TABLE_IMPORT_RESULT_QUEUE_CONCURRENCY = Math.max(os.cpus().length ... constant IMPORT_TABLE_ERROR_REPORT_LOG_PREFIX (line 25) | const IMPORT_TABLE_ERROR_REPORT_LOG_PREFIX = '[IMPORT_TABLE_ERROR_REPORT]'; type IImportResultJobData (line 27) | interface IImportResultJobData { class ImportTableResultQueueProcessor (line 41) | class ImportTableResultQueueProcessor extends WorkerHost { method constructor (line 44) | constructor( method process (line 54) | public async process(job: Job): Promise { method buildFailureNotification (line 140) | private buildFailureNotification( method uploadMergedErrorReport (line 163) | private async uploadMergedErrorReport( method pipeToTarget (line 213) | private async pipeToTarget(source: Readable, target: PassThrough): Pro... method cleanupImportDir (line 227) | private async cleanupImportDir(jobId: string) { FILE: apps/nestjs-backend/src/features/import/open-api/import.class.ts constant DEFAULT_IMPORT_CPU_USAGE (line 19) | const DEFAULT_IMPORT_CPU_USAGE = 0.5; function isValidDateForImport (line 52) | function isValidDateForImport(value: unknown): boolean { function isUtf8Compatible (line 109) | function isUtf8Compatible(encoding: string | null): boolean { function detectAndDecode (line 114) | function detectAndDecode(sample: Buffer): { isUtf8: boolean; encoding: s... function flushSampleAsUtf8 (line 119) | function flushSampleAsUtf8(sampleChunks: Buffer[], output: PassThrough, ... function createEncodingConvertStream (line 132) | function createEncodingConvertStream(input: NodeJS.ReadableStream): Node... type IImportConstructorParams (line 184) | interface IImportConstructorParams { type IParseResult (line 191) | interface IParseResult { constant OVER_PLAN_ROW_COUNT_ERROR_MESSAGE (line 195) | const OVER_PLAN_ROW_COUNT_ERROR_MESSAGE = 'Please upgrade your plan to i... method constructor (line 217) | constructor(public config: IImportConstructorParams) {} method setFileNameFromHeader (line 230) | private setFileNameFromHeader(fileName: string) { method getConfig (line 234) | getConfig() { method getFile (line 238) | async getFile() { method genColumns (line 295) | async genColumns() { class CsvImporter (line 363) | class CsvImporter extends Importer { method parse (line 374) | async parse( method getRawContent (line 473) | async getRawContent({ limit = CsvImporter.CHECK_LINES }: { limit?: num... class ExcelImporter (line 493) | class ExcelImporter extends Importer { method parse (line 510) | async parse( method getRawContent (line 571) | async getRawContent() { FILE: apps/nestjs-backend/src/features/integrity/foreign-key.service.ts class ForeignKeyIntegrityService (line 10) | class ForeignKeyIntegrityService { method constructor (line 13) | constructor( method getIssues (line 18) | async getIssues(tableId: string, field: LinkFieldDto): Promise { method deleteMissingReferences (line 162) | private async deleteMissingReferences({ FILE: apps/nestjs-backend/src/features/integrity/integrity.controller.ts class IntegrityController (line 9) | class IntegrityController { method constructor (line 10) | constructor(private readonly linkIntegrityService: LinkIntegrityServic... method checkBaseIntegrity (line 14) | async checkBaseIntegrity( method fixBaseIntegrity (line 23) | async fixBaseIntegrity( FILE: apps/nestjs-backend/src/features/integrity/integrity.module.ts class IntegrityModule (line 21) | class IntegrityModule {} FILE: apps/nestjs-backend/src/features/integrity/link-field.service.ts class LinkFieldIntegrityService (line 11) | class LinkFieldIntegrityService { method constructor (line 14) | constructor( method getIssues (line 19) | async getIssues(tableId: string, field: LinkFieldDto): Promise { FILE: apps/nestjs-backend/src/features/integrity/link-integrity.service.ts class LinkIntegrityService (line 27) | class LinkIntegrityService { method constructor (line 30) | constructor( method linkIntegrityCheck (line 41) | async linkIntegrityCheck(baseId: string, tableId?: string): Promise { method fixMissingForeignKeyColumns (line 362) | private async fixMissingForeignKeyColumns( method backfillForeignKeysFromLinkColumn (line 558) | private async backfillForeignKeysFromLinkColumn(params: { method linkIntegrityFix (line 793) | async linkIntegrityFix(baseId: string, tableId?: string): Promise { FILE: apps/nestjs-backend/src/features/mail-sender/mail-helpers.ts type ISendMailOptions (line 7) | type ISendMailOptions = NestjsSendMailOptions & { senderName?: string }; FILE: apps/nestjs-backend/src/features/mail-sender/mail-sender.module.ts type MailSenderModuleOptions (line 14) | interface MailSenderModuleOptions { function createNoOpTransport (line 26) | function createNoOpTransport() { class MailSenderModule (line 45) | class MailSenderModule extends MailSenderModuleClass { method register (line 46) | static register(): DynamicModule { FILE: apps/nestjs-backend/src/features/mail-sender/mail-sender.service.ts class MailSenderService (line 27) | class MailSenderService { method constructor (line 32) | constructor( method logEmailContent (line 60) | private logEmailContent(mailOptions: ISendMailOptions, from?: string):... method checkSendMailRateLimit (line 75) | async checkSendMailRateLimit( method createTransporter (line 102) | async createTransporter(config: IMailTransportConfig) { method isTransportConfigValid (line 118) | private isTransportConfigValid(config: IMailTransportConfig): boolean { method sendMailByConfig (line 122) | async sendMailByConfig(mailOptions: ISendMailOptions, config: IMailTra... method getTransportConfigByName (line 139) | async getTransportConfigByName(name?: MailTransporterType) { method notifyMergeOptions (line 161) | async notifyMergeOptions( method sendMailByTransporterName (line 183) | async sendMailByTransporterName( method sendMail (line 202) | async sendMail( method inviteEmailOptions (line 257) | async inviteEmailOptions(info: { method collaboratorCellTagEmailOptions (line 291) | async collaboratorCellTagEmailOptions(info: { method htmlEmailOptions (line 354) | async htmlEmailOptions(info: { method commonEmailOptions (line 376) | async commonEmailOptions(info: { method sendTestEmailOptions (line 398) | async sendTestEmailOptions(info: { message?: string }) { method waitlistInviteEmailOptions (line 416) | async waitlistInviteEmailOptions(info: { method resetPasswordEmailOptions (line 445) | async resetPasswordEmailOptions(info: { name: string; email: string; r... method sendEmailVerifyCodeEmailOptions (line 468) | async sendEmailVerifyCodeEmailOptions( method sendSignupVerificationEmailOptions (line 497) | private async sendSignupVerificationEmailOptions(payload: { code: stri... method sendChangeEmailCodeEmailOptions (line 522) | private async sendChangeEmailCodeEmailOptions(payload: { code: string;... method sendDomainVerificationEmailOptions (line 551) | private async sendDomainVerificationEmailOptions(payload: { FILE: apps/nestjs-backend/src/features/mail-sender/open-api/mail-sender-open-api.controller.ts class MailSenderOpenApiController (line 9) | class MailSenderOpenApiController { method constructor (line 10) | constructor(private readonly mailSenderOpenApiService: MailSenderOpenA... method testTransportConfig (line 13) | async testTransportConfig( FILE: apps/nestjs-backend/src/features/mail-sender/open-api/mail-sender-open-api.module.ts class MailSenderOpenApiModule (line 12) | class MailSenderOpenApiModule {} FILE: apps/nestjs-backend/src/features/mail-sender/open-api/mail-sender-open-api.service.ts class MailSenderOpenApiService (line 8) | class MailSenderOpenApiService { method constructor (line 9) | constructor( method testTransportConfig (line 14) | async testTransportConfig(testMailTransportConfigRo: ITestMailTranspor... FILE: apps/nestjs-backend/src/features/mail-sender/open-api/mail-sender.merge.module.ts class MailSenderMergeModule (line 16) | class MailSenderMergeModule {} FILE: apps/nestjs-backend/src/features/mail-sender/open-api/mail-sender.merge.processor.ts constant MAIL_SENDER_QUEUE (line 15) | const MAIL_SENDER_QUEUE = 'mailSenderQueue'; type MailSenderJob (line 17) | enum MailSenderJob { type IMailSenderMergePayload (line 22) | type IMailSenderMergePayload = Omit & { mailType... type INotifyMailMergeSendPayload (line 23) | type INotifyMailMergeSendPayload = { to: string }; type IMailSenderMergeJob (line 25) | interface IMailSenderMergeJob { class MailSenderMergeProcessor (line 40) | class MailSenderMergeProcessor extends WorkerHost { method constructor (line 41) | constructor( method process (line 51) | async process(job: Job) { method onNotifyMailMerge (line 75) | async onNotifyMailMerge(event: { payload: IMailSenderMergePayload }) { method checkAndMerge (line 81) | private async checkAndMerge(payload: IMailSenderMergePayload) { method sendNotifyMailMerge (line 99) | private async sendNotifyMailMerge(payload: INotifyMailMergeSendPayload) { FILE: apps/nestjs-backend/src/features/model/access-token.ts class AccessTokenModel (line 8) | class AccessTokenModel { method constructor (line 9) | constructor( method getAccessTokenRawById (line 19) | async getAccessTokenRawById(id: string) { FILE: apps/nestjs-backend/src/features/model/collaborator.ts class CollaboratorModel (line 12) | class CollaboratorModel { method constructor (line 13) | constructor( method getCollaboratorRawByResourceId (line 58) | async getCollaboratorRawByResourceId(resourceId: string) { FILE: apps/nestjs-backend/src/features/model/model.module.ts class ModelModule (line 15) | class ModelModule {} FILE: apps/nestjs-backend/src/features/model/setting.ts class SettingModel (line 11) | class SettingModel { method constructor (line 12) | constructor( method getSetting (line 39) | async getSetting() { FILE: apps/nestjs-backend/src/features/model/template.ts class TemplateModel (line 8) | class TemplateModel { method constructor (line 9) | constructor( method getTemplateRawByBaseId (line 19) | async getTemplateRawByBaseId(baseId: string) { FILE: apps/nestjs-backend/src/features/model/user.ts class UserModel (line 12) | class UserModel { method constructor (line 13) | constructor( method getUserRawById (line 38) | async getUserRawById(id: string) { FILE: apps/nestjs-backend/src/features/next/next.controller.ts class NextController (line 11) | class NextController { method constructor (line 12) | constructor(private nextService: NextService) {} method streamSaverMitm (line 21) | public async streamSaverMitm(@Req() req: Request, @Res() res: Response) { method serviceWorker (line 41) | public async serviceWorker(@Req() req: Request, @Res() res: Response) { method home (line 79) | public async home(@Req() req: Request, @Res() res: Response) { method socket (line 86) | public async socket(@Req() req: Request, @Res() res: Response, @Next()... method saveQueryParams (line 94) | async saveQueryParams( FILE: apps/nestjs-backend/src/features/next/next.module.ts class NextModule (line 10) | class NextModule {} FILE: apps/nestjs-backend/src/features/next/next.service.ts class NextService (line 11) | class NextService implements OnModuleInit, OnModuleDestroy { method constructor (line 14) | constructor( method startNEXTjs (line 19) | private async startNEXTjs() { method onModuleInit (line 37) | async onModuleInit() { method onModuleDestroy (line 43) | async onModuleDestroy() { method saveQueryParams (line 47) | async saveQueryParams(queryParamsRo: IQueryParamsRo): Promise void): Promise { FILE: apps/nestjs-backend/src/features/next/plugin/plugin-proxy.module.ts class PluginProxyModule (line 8) | class PluginProxyModule implements NestModule { method configure (line 10) | configure(consumer: MiddlewareConsumer): any { FILE: apps/nestjs-backend/src/features/next/plugin/plugin.module.ts class NextPluginModule (line 8) | class NextPluginModule {} FILE: apps/nestjs-backend/src/features/notification/notification.controller.ts class NotificationController (line 15) | class NotificationController { method constructor (line 16) | constructor( method getNotifyList (line 22) | async getNotifyList( method unreadCount (line 30) | async unreadCount(): Promise { method updateNotifyStatus (line 36) | async updateNotifyStatus( method markAllAsRead (line 50) | async markAllAsRead(): Promise { FILE: apps/nestjs-backend/src/features/notification/notification.module.ts class NotificationModule (line 14) | class NotificationModule {} FILE: apps/nestjs-backend/src/features/notification/notification.service.ts class NotificationService (line 32) | class NotificationService { method constructor (line 41) | constructor( method getUserLang (line 50) | getUserLang(lang?: string | null) { method getMessage (line 54) | getMessage(text: string | ILocalization, lang?: string) { method getMessageI18n (line 66) | getMessageI18n(localization: string | ILocalization) { method sendCollaboratorNotify (line 77) | async sendCollaboratorNotify(params: { method sendHtmlContentNotify (line 188) | async sendHtmlContentNotify( method sendCommonNotify (line 277) | async sendCommonNotify( method sendImportResultNotify (line 366) | async sendImportResultNotify(params: { method sendExportBaseResultNotify (line 395) | async sendExportBaseResultNotify(params: { method sendCommentNotify (line 421) | async sendCommentNotify(params: { method getNotifyList (line 459) | async getNotifyList(userId: string, query: IGetNotifyListQuery): Promi... method generateNotifyIcon (line 512) | private generateNotifyIcon( method generateNotifyPath (line 539) | private generateNotifyPath(notifyType: NotificationTypeEnum, urlMeta: ... method unreadCount (line 565) | async unreadCount(userId: string): Promise { method updateNotifyStatus (line 575) | async updateNotifyStatus( method markAllAsRead (line 593) | async markAllAsRead(userId: string): Promise { method createNotify (line 605) | private async createNotify(data: Prisma.NotificationCreateInput) { method sendNotifyBySocket (line 609) | private async sendNotifyBySocket(toUserId: string, data: INotification... FILE: apps/nestjs-backend/src/features/oauth/guard/oauth2-client.guard.ts class OAuthClientGuard (line 6) | class OAuthClientGuard extends AuthGuard(['oauth2-client-password', 'oau... method canActivate (line 7) | async canActivate(context: ExecutionContext): Promise { FILE: apps/nestjs-backend/src/features/oauth/oauth-server.controller.ts class OAuthServerController (line 10) | class OAuthServerController { method constructor (line 11) | constructor(private readonly oauthServerService: OAuthServerService) {} method authorize (line 15) | async authorize(@Res({ passthrough: true }) res: Response, @Req() req:... method accessToken (line 22) | async accessToken(@Res({ passthrough: true }) res: Response, @Req() re... method decision (line 28) | async decision(@Res() res: Response, @Req() req: Request) { method transaction (line 33) | async transaction( FILE: apps/nestjs-backend/src/features/oauth/oauth-server.service.ts class OAuthServerService (line 36) | class OAuthServerService { method constructor (line 40) | constructor( method getAuthorizedTime (line 61) | private async getAuthorizedTime(userId: string, clientId: string) { method handleError (line 84) | private handleError(error: unknown | undefined) { method checkTokenRateLimit (line 91) | private async checkTokenRateLimit(clientId: string, userId: string) { method validateRedirectUri (line 109) | private validateRedirectUri( method authorize (line 200) | async authorize(req: Request, res: Response) { method token (line 222) | async token(req: Request, res: Response) { method decision (line 261) | async decision(req: Request, res: Response) { method getOAuthApp (line 289) | private async getOAuthApp(clientId: string) { method generateAccessToken (line 326) | private generateAccessToken({ method getRefreshToken (line 347) | private getRefreshToken(client: ITokenClient, accessTokenId: string, s... method getRefreshTokenExpireTime (line 357) | private getRefreshTokenExpireTime() { method verifyExchangeClient (line 362) | private verifyExchangeClient(client: ITokenClient, state: IOAuthCodeSt... method getDecisionInfo (line 534) | async getDecisionInfo(req: Request, transactionId: string) { FILE: apps/nestjs-backend/src/features/oauth/oauth-tx-store.ts class OAuthTxStore (line 11) | class OAuthTxStore { method constructor (line 12) | constructor( method load (line 17) | async load(req: Request, cb: (err: unknown, txn?: OAuth2 { method createOAuth (line 49) | async createOAuth( method updateOAuth (line 56) | async updateOAuth( method deleteOAuth (line 64) | async deleteOAuth(@Param('clientId') clientId: string): Promise { method generateOAuthSecret (line 69) | async generateOAuthSecret(@Param('clientId') clientId: string): Promis... method deleteOAuthSecret (line 74) | async deleteOAuthSecret( method revokeAccess (line 83) | async revokeAccess(@Param('clientId') clientId: string) { method revokeToken (line 89) | async revokeToken(@Param('clientId') clientId: string) { method revokeTokenGet (line 95) | async revokeTokenGet(@Param('clientId') clientId: string) { method getAuthorizedList (line 104) | async getAuthorizedList(): Promise { FILE: apps/nestjs-backend/src/features/oauth/oauth.module.ts class OAuthModule (line 40) | class OAuthModule {} FILE: apps/nestjs-backend/src/features/oauth/oauth.service.ts class OAuthService (line 19) | class OAuthService { method constructor (line 20) | constructor( method convertToVo (line 25) | private convertToVo { method getOAuth (line 81) | async getOAuth(clientId: string): Promise { method updateOAuth (line 112) | async updateOAuth(clientId: string, ro: OAuthCreateRo): Promise { method getOAuthList (line 159) | async getOAuthList(): Promise { method generateSecret (line 176) | async generateSecret(clientId: string): Promise { method deleteSecret (line 200) | async deleteSecret(clientId: string, secretId: string): Promise { method revokeAccess (line 209) | async revokeAccess(clientId: string) { method revokeToken (line 234) | async revokeToken(clientId: string) { method getAuthorizedList (line 255) | async getAuthorizedList(): Promise { FILE: apps/nestjs-backend/src/features/oauth/pkce.service.ts type IPkceAuthorizeParams (line 8) | interface IPkceAuthorizeParams { class PkceService (line 14) | class PkceService { method isValidCodeChallenge (line 15) | isValidCodeChallenge(codeChallenge: string): boolean { method isValidCodeVerifier (line 19) | isValidCodeVerifier(codeVerifier: string): boolean { method validateCodeVerifier (line 23) | validateCodeVerifier( method isLoopbackMatch (line 38) | isLoopbackMatch(registered: string, requested: string): boolean { FILE: apps/nestjs-backend/src/features/oauth/strategies/oauth2-client.strategies.ts class OAuthClientStrategy (line 9) | class OAuthClientStrategy extends PassportStrategy(Strategy) { method constructor (line 10) | constructor(private readonly prismaService: PrismaService) { method validate (line 14) | async validate(clientId: string, clientSecret: string): Promise = OAuth2Serve... type IOAuthStoreOption (line 34) | interface IOAuthStoreOption { type IClient (line 38) | interface IClient { type IAuthorizeRequest (line 46) | interface IAuthorizeRequest extends OAuth2Req { FILE: apps/nestjs-backend/src/features/organization/organization.controller.ts class OrganizationController (line 9) | class OrganizationController { method getOrganizationMe (line 11) | async getOrganizationMe(): Promise { method getDepartmentUsers (line 16) | async getDepartmentUsers(): Promise { method getDepartmentList (line 24) | async getDepartmentList(): Promise { FILE: apps/nestjs-backend/src/features/organization/organization.module.ts class OrganizationModule (line 7) | class OrganizationModule {} FILE: apps/nestjs-backend/src/features/pin/pin.controller.ts class PinController (line 15) | class PinController { method constructor (line 16) | constructor(private readonly pinService: PinService) {} method add (line 19) | async add(@Body(new ZodValidationPipe(addPinRoSchema)) query: AddPinRo) { method delete (line 24) | async delete(@Query(new ZodValidationPipe(deletePinRoSchema)) query: D... method getList (line 29) | async getList(): Promise { method updateOrder (line 34) | async updateOrder(@Body(new ZodValidationPipe(updatePinOrderRoSchema))... FILE: apps/nestjs-backend/src/features/pin/pin.module.ts class PinModule (line 9) | class PinModule {} FILE: apps/nestjs-backend/src/features/pin/pin.service.ts class PinService (line 28) | class PinService { method constructor (line 29) | constructor( method getMaxOrder (line 35) | private async getMaxOrder(where: Prisma.PinResourceWhereInput) { method addPin (line 43) | async addPin(query: AddPinRo) { method deletePin (line 66) | async deletePin(query: DeletePinRo) { method getList (line 88) | async getList(): Promise { method fetchBases (line 156) | private async fetchBases(ids?: string[]) { method fetchSpaces (line 164) | private async fetchSpaces(ids?: string[]) { method fetchTables (line 172) | private async fetchTables(ids?: string[]) { method fetchViews (line 180) | private async fetchViews(ids?: string[]) { method fetchDashboards (line 201) | private async fetchDashboards(ids?: string[]) { method fetchWorkflows (line 209) | private async fetchWorkflows(ids?: string[]) { method fetchApps (line 219) | private async fetchApps(ids?: string[]) { method transformResource (line 230) | private transformResource(type: PinType, resourceId: string, resourceM... method updateOrder (line 261) | async updateOrder(data: UpdatePinOrderRo) { method deletePinWithoutException (line 335) | async deletePinWithoutException(query: DeletePinRo) { method resourceDeleteListener (line 362) | protected async resourceDeleteListener( FILE: apps/nestjs-backend/src/features/plugin-context-menu/plugin-context-menu.controller.ts class PluginContextMenuController (line 26) | class PluginContextMenuController { method constructor (line 27) | constructor(private readonly pluginContextMenuService: PluginContextMe... method installPluginContextMenu (line 31) | async installPluginContextMenu( method getPluginContextMenuList (line 41) | async getPluginContextMenuList( method getPluginContextMenu (line 49) | async getPluginContextMenu( method getPluginContextMenuStorage (line 58) | async getPluginContextMenuStorage( method renamePluginContextMenu (line 67) | async renamePluginContextMenu( method updatePluginContextMenuStorage (line 78) | async updatePluginContextMenuStorage( method removePluginContextMenu (line 93) | async removePluginContextMenu( method movePluginContextMenu (line 102) | async movePluginContextMenu( FILE: apps/nestjs-backend/src/features/plugin-context-menu/plugin-context-menu.module.ts class PluginContextMenuModule (line 11) | class PluginContextMenuModule {} FILE: apps/nestjs-backend/src/features/plugin-context-menu/plugin-context-menu.service.ts class PluginContextMenuService (line 23) | class PluginContextMenuService { method constructor (line 24) | constructor( method getMaxOrder (line 30) | private async getMaxOrder(where: Prisma.PluginContextMenuWhereInput) { method getBaseId (line 38) | private async getBaseId(tableId: string) { method installPluginContextMenu (line 53) | async installPluginContextMenu(tableId: string, body: IPluginContextMe... method getPluginContextMenuList (line 136) | async getPluginContextMenuList(tableId: string) { method getPluginContextMenuStorage (line 181) | async getPluginContextMenuStorage(tableId: string, pluginInstallId: st... method getPluginContextMenu (line 213) | async getPluginContextMenu(tableId: string, pluginInstallId: string) { method renamePluginContextMenu (line 253) | async renamePluginContextMenu( method updatePluginContextMenuStorage (line 277) | async updatePluginContextMenuStorage( method deletePluginContextMenu (line 300) | async deletePluginContextMenu(tableId: string, pluginInstallId: string) { method movePluginContextMenu (line 317) | async movePluginContextMenu( FILE: apps/nestjs-backend/src/features/plugin-panel/plugin-panel.controller.ts class PluginPanelController (line 34) | class PluginPanelController { method constructor (line 35) | constructor(private readonly pluginPanelService: PluginPanelService) {} method createPluginPanel (line 39) | createPluginPanel( method getPluginPanels (line 49) | getPluginPanels(@Param('tableId') tableId: string): Promise { method preparePlugin (line 145) | private async preparePlugin( method savePlugin (line 161) | private async savePlugin(prepared: IPreparedPlugin): Promise { FILE: apps/nestjs-backend/src/features/plugin/plugin-auth.service.ts type IRefreshPayload (line 21) | interface IRefreshPayload { class PluginAuthService (line 28) | class PluginAuthService { method constructor (line 32) | constructor( method generateAccessToken (line 40) | private generateAccessToken({ method generateRefreshToken (line 64) | private async generateRefreshToken({ pluginId, secret, accessTokenId }... method validateSecret (line 75) | private async validateSecret(secret: string, pluginId: string) { method token (line 119) | async token(pluginId: string, ro: IPluginGetTokenRo): Promise { method getPlugin (line 51) | getPlugin(@Param('pluginId') pluginId: string): Promise { method regenerateSecret (line 56) | regenerateSecret(@Param('pluginId') pluginId: string): Promise { method getPluginCenterList (line 74) | getPluginCenterList( method submitPlugin (line 81) | submitPlugin(@Param('pluginId') pluginId: string): Promise { method unpublishPlugin (line 86) | unpublishPlugin(@Param('pluginId') pluginId: string): Promise { method accessToken (line 92) | accessToken( method refreshToken (line 101) | refreshToken( method authCode (line 111) | authCode(@Param('pluginId') pluginId: string, @Body('baseId') baseId: ... FILE: apps/nestjs-backend/src/features/plugin/plugin.module.ts class PluginModule (line 30) | class PluginModule {} FILE: apps/nestjs-backend/src/features/plugin/plugin.service.ts class PluginService (line 35) | class PluginService { method constructor (line 36) | constructor( method logoToVoValue (line 42) | private logoToVoValue(logo: string) { method convertToVo (line 46) | private convertToVo< method getUserMap (line 69) | private async getUserMap(userIds: string[]) { method createPlugin (line 116) | async createPlugin(createPluginRo: ICreatePluginRo): Promise { method getPlugins (line 291) | async getPlugins(): Promise { method delete (line 324) | async delete(id: string) { method regenerateSecret (line 333) | async regenerateSecret(id: string): Promise { method getPluginCenterList (line 349) | async getPluginCenterList( method submitPlugin (line 411) | async submitPlugin(id: string) { method unpublishPlugin (line 419) | async unpublishPlugin(id: string) { FILE: apps/nestjs-backend/src/features/record/computed/computed.module.ts class ComputedModule (line 33) | class ComputedModule {} FILE: apps/nestjs-backend/src/features/record/computed/services/computed-dependency-collector.service.ts type ICellBasicContext (line 33) | interface ICellBasicContext { type IComputedImpactGroup (line 38) | interface IComputedImpactGroup { type IComputedImpactByTable (line 44) | interface IComputedImpactByTable { type IComputedCollectResult (line 48) | interface IComputedCollectResult { type IFieldChangeSource (line 53) | interface IFieldChangeSource { type IConditionalRollupAdjacencyEdge (line 58) | interface IConditionalRollupAdjacencyEdge { type ICollectorExecutionContext (line 65) | interface ICollectorExecutionContext { constant ALL_RECORDS (line 69) | const ALL_RECORDS = Symbol('ALL_RECORDS'); constant MAX_CONDITIONAL_ROLLUP_SAMPLE (line 70) | const MAX_CONDITIONAL_ROLLUP_SAMPLE = 10_000; class ComputedDependencyCollectorService (line 73) | class ComputedDependencyCollectorService { method constructor (line 75) | constructor( method createExecutionContext (line 83) | private createExecutionContext( method getTableDomain (line 104) | private async getTableDomain( method buildSortFieldAccessor (line 114) | private buildSortFieldAccessor(column: string): Knex.Raw { method buildLookupOptionsAccessor (line 121) | private buildLookupOptionsAccessor(key: keyof ILookupLinkOptionsVo): K... method applySortFieldFilter (line 128) | private applySortFieldFilter( method getDbTableName (line 140) | private async getDbTableName(tableId: string, ctx?: ICollectorExecutio... method getAllRecordIds (line 145) | private async getAllRecordIds( method splitDbTableName (line 158) | private splitDbTableName(qualified: string): { schema?: string; table:... method buildValuesTable (line 164) | private buildValuesTable(alias: string, columnName: string, values: re... method parseLinkOptions (line 174) | private parseLinkOptions( method parseOptionsLoose (line 205) | private parseOptionsLoose(raw: unknown): T | null { method materializeAllRecordIds (line 218) | private async materializeAllRecordIds( method buildLinkEdgesForTables (line 233) | private buildLinkEdgesForTables( method loadTableDomains (line 265) | private async loadTableDomains( method getRequiredTableDomain (line 283) | private getRequiredTableDomain( method addExplicitSeed (line 294) | private addExplicitSeed( method markAllSeed (line 318) | private markAllSeed(target: Set, tableId: string): boolean { method findRecordSetGrowth (line 326) | private findRecordSetGrowth( method computeLinkClosure (line 372) | private async computeLinkClosure(params: { method collectFilterFieldReferences (line 458) | private collectFilterFieldReferences(filter?: IFilter | null): { method loadFieldInstances (line 496) | private async loadFieldInstances( method resolveConditionalSortDependents (line 517) | private async resolveConditionalSortDependents( method getConditionalSortDependents (line 566) | async getConditionalSortDependents( method resolveRelatedLinkFieldIds (line 576) | private async resolveRelatedLinkFieldIds( method findLookupsByLinkIds (line 613) | private async findLookupsByLinkIds(linkFieldIds: string[]): Promise Promise(arr: T[], size: number): T[][] { class AutoNumberCursorStrategy (line 67) | class AutoNumberCursorStrategy implements IRecordPaginationStrategy { method canHandle (line 68) | canHandle(): boolean { method run (line 72) | async run(context: IPaginationContext, onBatch: PaginationBatchHandler... FILE: apps/nestjs-backend/src/features/record/computed/services/computed-utils.ts type IImpactGroup (line 1) | interface IImpactGroup { type IImpactMap (line 6) | type IImpactMap = Record; type IResultImpact (line 8) | type IResultImpact = Record | typeof ALL_RECORDS; constant IN_CHUNK (line 35) | const IN_CHUNK = 500; class LinkCascadeResolver (line 38) | class LinkCascadeResolver { method constructor (line 39) | constructor(private readonly prismaService: PrismaService) {} method resolve (line 47) | async resolve( method groupEdgesBySource (line 136) | private groupEdgesBySource(edges: ILinkEdge[]): Map, key: string): Set { method getUpdatableColumns (line 33) | private getUpdatableColumns(fields: IFieldInstance[]): string[] { method getReturningColumns (line 73) | private getReturningColumns(fields: IFieldInstance[]): string[] { method lockRestrictRecords (line 116) | private async lockRestrictRecords(dbTableName: string, recordIds?: str... method updateFromSelect (line 135) | async updateFromSelect( method buildFieldDebugSnapshot (line 180) | private buildFieldDebugSnapshot(fields: IFieldInstance[]): Array implements PipeTransform { method constructor (line 18) | constructor( method transform (line 23) | async transform(value: T) { method transformFieldKeyTql (line 32) | private async transformFieldKeyTql(value: T, tableId: string): Promise... FILE: apps/nestjs-backend/src/features/record/open-api/record-open-api-v2.service.ts class RecordOpenApiV2Service (line 92) | class RecordOpenApiV2Service { method constructor (line 93) | constructor( method throwV2Error (line 107) | private throwV2Error( method getRecords (line 123) | async getRecords(tableId: string, query: IGetRecordsRo): Promise { method getRecordIdsFromRanges (line 1101) | async getRecordIdsFromRanges(tableId: string, rangesRo: IRangesRo): Pr... method deleteByRange (line 1176) | async deleteByRange( method deleteRecords (line 1222) | async deleteRecords( method parseCopyContent (line 1265) | private parseCopyContent(content: string): unknown[][] { method resolveViewId (line 1269) | private async resolveViewId(tableId: string, viewId?: string | null): ... method normalizeRangeQuery (line 1277) | private async normalizeRangeQuery( method mergeGroupByIntoSort (line 1322) | private mergeGroupByIntoSort( method buildRangeFilter (line 1339) | private async buildRangeFilter( method normalizeGroupRelatedSearch (line 1369) | private normalizeGroupRelatedSearch(search?: IRangesRo['search']): IGe... method normalizeFilterForV2 (line 1384) | private async normalizeFilterForV2( method mapV1FilterToV2 (line 1486) | private mapV1FilterToV2(filter: unknown): RecordFilter | undefined | n... method isV2FilterNode (line 1495) | private isV2FilterNode(value: unknown): value is RecordFilterNode { method isV1FilterGroup (line 1504) | private isV1FilterGroup( method isV1FilterItem (line 1512) | private isV1FilterItem( method mapV1FilterGroup (line 1520) | private mapV1FilterGroup(filter: { method mapV1FilterEntry (line 1534) | private mapV1FilterEntry(entry: unknown): RecordFilterNode | null { method mapV1FilterItem (line 1542) | private mapV1FilterItem(filter: { method normalizeV1Operator (line 1614) | private normalizeV1Operator(operator: string, isSymbol?: boolean): str... method mapLegacyDateRangeCondition (line 1621) | private mapLegacyDateRangeCondition( method normalizeV2FilterNode (line 1695) | private normalizeV2FilterNode(filter: RecordFilterNode): RecordFilterN... method isRecordFilterFieldReferenceValue (line 1751) | private isRecordFilterFieldReferenceValue(value: unknown): value is { method duplicateRecord (line 1760) | async duplicateRecord( FILE: apps/nestjs-backend/src/features/record/open-api/record-open-api.controller.ts class RecordOpenApiController (line 76) | class RecordOpenApiController { method constructor (line 77) | constructor( method getRecordHistory (line 88) | async getRecordHistory( method getRecordListHistory (line 98) | async getRecordListHistory( method getCollaborators (line 107) | async getCollaborators( method getRecords (line 117) | async getRecords( method getRecord (line 130) | async getRecord( method updateRecord (line 141) | async updateRecord( method uploadAttachment (line 171) | async uploadAttachment( method insertAttachment (line 189) | async insertAttachment( method updateRecords (line 207) | async updateRecords( method createRecords (line 236) | async createRecords( method formSubmit (line 261) | async formSubmit( method duplicateRecord (line 276) | async duplicateRecord( method deleteRecord (line 290) | async deleteRecord( method deleteRecords (line 307) | async deleteRecords( method getSnapshotBulk (line 322) | async getSnapshotBulk( method getDocIds (line 339) | async getDocIds( method getDocIdsWithCache (line 346) | private async getDocIdsWithCache(tableId: string, query: IGetRecordsRo) { method getRecordStatus (line 392) | async getRecordStatus( method autoFillCell (line 402) | async autoFillCell( method buttonClick (line 412) | async buttonClick( method buttonReset (line 424) | async buttonReset( FILE: apps/nestjs-backend/src/features/record/open-api/record-open-api.module.ts class RecordOpenApiModule (line 45) | class RecordOpenApiModule {} FILE: apps/nestjs-backend/src/features/record/open-api/record-open-api.service.ts class RecordOpenApiService (line 48) | class RecordOpenApiService { method constructor (line 49) | constructor( method multipleCreateRecords (line 63) | async multipleCreateRecords( method createRecordsOnlySql (line 106) | async createRecordsOnlySql(tableId: string, createRecordsRo: ICreateRe... method createRecords (line 112) | async createRecords( method updateRecords (line 129) | async updateRecords( method simpleUpdateRecords (line 163) | async simpleUpdateRecords(tableId: string, updateRecordsRo: IUpdateRec... method updateRecord (line 170) | async updateRecord( method deleteRecord (line 207) | async deleteRecord(tableId: string, recordId: string, windowId?: strin... method deleteRecords (line 211) | async deleteRecords(tableId: string, recordIds: string[], windowId?: s... method getRecordHistory (line 215) | async getRecordHistory( method getValidateAttachmentRecord (line 329) | private async getValidateAttachmentRecord(tableId: string, recordId: s... method uploadAttachment (line 379) | async uploadAttachment( method insertAttachment (line 413) | async insertAttachment( method duplicateRecord (line 447) | async duplicateRecord( method buttonClick (line 468) | async buttonClick(tableId: string, recordId: string, fieldId: string) { method resetButton (line 525) | async resetButton(tableId: string, recordId: string, fieldId: string) { method validateFieldsAndTypecast (line 558) | public async validateFieldsAndTypecast< method formSubmit (line 579) | async formSubmit( method emitFormAuditLog (line 652) | private async emitFormAuditLog(tableId: string, length: number) { FILE: apps/nestjs-backend/src/features/record/open-api/tql.pipe.ts class TqlPipe (line 7) | class TqlPipe method transform (line 10) | transform(value: T, _metadata: ArgumentMetadata) { method transformFilterTql (line 15) | private transformFilterTql(value: T): void { FILE: apps/nestjs-backend/src/features/record/query-builder/field-cte-visitor.ts type ICteResult (line 90) | type ICteResult = void; constant JUNCTION_ALIAS (line 92) | const JUNCTION_ALIAS = 'j'; constant SUPPORTED_EQUALITY_RESIDUAL_OPERATORS (line 94) | const SUPPORTED_EQUALITY_RESIDUAL_OPERATORS = new Set([ constant JSON_AGG_FUNCTIONS (line 117) | const JSON_AGG_FUNCTIONS = new Set(['array_compact', 'array_unique']); function parseRollupFunctionName (line 119) | function parseRollupFunctionName(expression: string): string { function unwrapJsonAggregateForScalar (line 127) | function unwrapJsonAggregateForScalar( class FieldCteSelectionVisitor (line 144) | class FieldCteSelectionVisitor implements IFieldVisitor { method constructor (line 145) | constructor( method fieldCteMap (line 159) | private get fieldCteMap() { method canReuseNestedCte (line 162) | private canReuseNestedCte(fieldId?: string): fieldId is string { method mergeBlockedLinkIds (line 172) | private mergeBlockedLinkIds( method getReadyLinkFieldIdsSnapshot (line 191) | private getReadyLinkFieldIdsSnapshot(): ReadonlySet | undefined { method createFieldSelectVisitor (line 195) | private createFieldSelectVisitor( method getForeignAlias (line 222) | private getForeignAlias(): string { method getJsonAggregationFunction (line 225) | private getJsonAggregationFunction(fieldReference: string): string { method normalizeJsonAggregateExpression (line 229) | private normalizeJsonAggregateExpression(expression: string): string { method buildPhysicalFieldExpression (line 246) | private buildPhysicalFieldExpression(field: FieldCore, alias: string):... method buildForeignFilterSubquery (line 257) | private buildForeignFilterSubquery(filter: IFilter): string { method unwrapSelectName (line 282) | private unwrapSelectName(selection: IFieldSelectName | string): string { method generateRollupAggregation (line 289) | private generateRollupAggregation( method generateSingleValueRollupAggregation (line 308) | private generateSingleValueRollupAggregation( method buildSingleValueRollup (line 320) | private buildSingleValueRollup( method buildAggregateRollup (line 347) | private buildAggregateRollup( method visitLookupField (line 414) | private visitLookupField(field: FieldCore): IFieldSelectName { method visitNumberField (line 722) | visitNumberField(field: NumberFieldCore): IFieldSelectName { method visitSingleLineTextField (line 725) | visitSingleLineTextField(field: SingleLineTextFieldCore): IFieldSelect... method visitLongTextField (line 728) | visitLongTextField(field: LongTextFieldCore): IFieldSelectName { method visitAttachmentField (line 731) | visitAttachmentField(field: AttachmentFieldCore): IFieldSelectName { method visitCheckboxField (line 734) | visitCheckboxField(field: CheckboxFieldCore): IFieldSelectName { method visitDateField (line 737) | visitDateField(field: DateFieldCore): IFieldSelectName { method visitRatingField (line 740) | visitRatingField(field: RatingFieldCore): IFieldSelectName { method visitAutoNumberField (line 743) | visitAutoNumberField(field: AutoNumberFieldCore): IFieldSelectName { method visitLinkField (line 746) | visitLinkField(field: LinkFieldCore): IFieldSelectName { method visitRollupField (line 899) | visitRollupField(field: RollupFieldCore): IFieldSelectName { method visitConditionalRollupField (line 927) | visitConditionalRollupField(field: ConditionalRollupFieldCore): IField... method visitSingleSelectField (line 938) | visitSingleSelectField(field: SingleSelectFieldCore): IFieldSelectName { method visitMultipleSelectField (line 941) | visitMultipleSelectField(field: MultipleSelectFieldCore): IFieldSelect... method visitFormulaField (line 944) | visitFormulaField(field: FormulaFieldCore): IFieldSelectName { method visitCreatedTimeField (line 947) | visitCreatedTimeField(field: CreatedTimeFieldCore): IFieldSelectName { method visitLastModifiedTimeField (line 950) | visitLastModifiedTimeField(field: LastModifiedTimeFieldCore): IFieldSe... method visitUserField (line 953) | visitUserField(field: UserFieldCore): IFieldSelectName { method visitCreatedByField (line 956) | visitCreatedByField(field: CreatedByFieldCore): IFieldSelectName { method visitLastModifiedByField (line 959) | visitLastModifiedByField(field: LastModifiedByFieldCore): IFieldSelect... method visitButtonField (line 962) | visitButtonField(field: ButtonFieldCore): IFieldSelectName { class FieldCteVisitor (line 967) | class FieldCteVisitor implements IFieldVisitor { method generateCTENameForField (line 970) | static generateCTENameForField(table: TableDomain, field: LinkFieldCor... method constructor (line 985) | constructor( method table (line 1000) | get table() { method fieldCteMap (line 1004) | get fieldCteMap(): ReadonlyMap { method unwrapSelectName (line 1008) | private unwrapSelectName(selection: IFieldSelectName | string): string { method getReadyLinkFieldIdsSnapshotForVisitor (line 1012) | private getReadyLinkFieldIdsSnapshotForVisitor(): ReadonlySet ... method createFieldSelectVisitor (line 1016) | private createFieldSelectVisitor( method getCteNameForField (line 1056) | private getCteNameForField(fieldId: string): string | undefined { method buildFieldReferenceContext (line 1060) | private buildFieldReferenceContext( method buildPhysicalFieldExpression (line 1094) | private buildPhysicalFieldExpression(field: FieldCore, alias: string):... method buildConditionalFilterSelectionMap (line 1101) | private buildConditionalFilterSelectionMap( method getBaseIdSubquery (line 1132) | private getBaseIdSubquery(): Knex.QueryBuilder | undefined { method applyMainTableRestriction (line 1140) | private applyMainTableRestriction(builder: Knex.QueryBuilder, alias: s... method withCte (line 1148) | private withCte( method fromTableWithRestriction (line 1166) | private fromTableWithRestriction( method ensureLinkDependencyForScope (line 1181) | private ensureLinkDependencyForScope( method getBlockedLinkFieldIds (line 1204) | private getBlockedLinkFieldIds(currentLinkFieldId: string): ReadonlySe... method castExpressionForDbType (line 1217) | private castExpressionForDbType(expression: string, field: FieldCore):... method rollupFunctionSupportsOrdering (line 1241) | private rollupFunctionSupportsOrdering(expression: string): boolean { method buildConditionalRollupAggregation (line 1253) | private buildConditionalRollupAggregation( method extractConditionalEqualityJoinPlan (line 1272) | private extractConditionalEqualityJoinPlan( method getConditionalEqualityFallback (line 1379) | private getConditionalEqualityFallback(aggregationFn: string, field: F... method buildConditionalEqualityJoinKey (line 1397) | private buildConditionalEqualityJoinKey( method resolveConditionalComputedTargetExpression (line 1484) | private resolveConditionalComputedTargetExpression( method coerceConditionalLookupTargetExpression (line 1527) | private coerceConditionalLookupTargetExpression( method generateConditionalRollupFieldCte (line 1553) | private generateConditionalRollupFieldCte(field: ConditionalRollupFiel... method generateConditionalRollupFieldCteForScope (line 1557) | private generateConditionalRollupFieldCteForScope( method generateConditionalLookupFieldCte (line 1847) | private generateConditionalLookupFieldCte(field: FieldCore, options: I... method generateConditionalLookupFieldCteForScope (line 1851) | private generateConditionalLookupFieldCteForScope( method build (line 2176) | public build() { method generateLinkFieldCte (line 2217) | private generateLinkFieldCte(linkField: LinkFieldCore): void { method generateNestedForeignCtesIfNeeded (line 2631) | private generateNestedForeignCtesIfNeeded( method generateLinkFieldCteForTable (line 2727) | private generateLinkFieldCteForTable(table: TableDomain, linkField: Li... method visitNumberField (line 3068) | visitNumberField(_field: NumberFieldCore): void {} method visitSingleLineTextField (line 3069) | visitSingleLineTextField(_field: SingleLineTextFieldCore): void {} method visitLongTextField (line 3070) | visitLongTextField(_field: LongTextFieldCore): void {} method visitAttachmentField (line 3071) | visitAttachmentField(_field: AttachmentFieldCore): void {} method visitCheckboxField (line 3072) | visitCheckboxField(_field: CheckboxFieldCore): void {} method visitDateField (line 3073) | visitDateField(_field: DateFieldCore): void {} method visitRatingField (line 3074) | visitRatingField(_field: RatingFieldCore): void {} method visitAutoNumberField (line 3075) | visitAutoNumberField(_field: AutoNumberFieldCore): void {} method visitLinkField (line 3076) | visitLinkField(field: LinkFieldCore): void { method visitRollupField (line 3085) | visitRollupField(_field: RollupFieldCore): void {} method visitConditionalRollupField (line 3086) | visitConditionalRollupField(field: ConditionalRollupFieldCore): void { method visitSingleSelectField (line 3092) | visitSingleSelectField(_field: SingleSelectFieldCore): void {} method visitMultipleSelectField (line 3093) | visitMultipleSelectField(_field: MultipleSelectFieldCore): void {} method visitFormulaField (line 3094) | visitFormulaField(_field: FormulaFieldCore): void {} method visitCreatedTimeField (line 3095) | visitCreatedTimeField(_field: CreatedTimeFieldCore): void {} method visitLastModifiedTimeField (line 3096) | visitLastModifiedTimeField(_field: LastModifiedTimeFieldCore): void {} method visitUserField (line 3097) | visitUserField(_field: UserFieldCore): void {} method visitCreatedByField (line 3098) | visitCreatedByField(_field: CreatedByFieldCore): void {} method visitLastModifiedByField (line 3099) | visitLastModifiedByField(_field: LastModifiedByFieldCore): void {} method visitButtonField (line 3100) | visitButtonField(_field: ButtonFieldCore): void {} method ensureLinkCteJoined (line 3102) | private ensureLinkCteJoined(cteName: string): void { FILE: apps/nestjs-backend/src/features/record/query-builder/field-formatting-visitor.ts class FieldFormattingVisitor (line 33) | class FieldFormattingVisitor implements IFieldVisitor { method constructor (line 34) | constructor( method convertToText (line 42) | private convertToText(): string { method applyNumberFormatting (line 49) | private applyNumberFormatting(formatting: INumberFormatting): string { method applyNumberFormattingTo (line 57) | private applyNumberFormattingTo(expression: string, formatting: INumbe... method formatMultipleNumberValues (line 64) | private formatMultipleNumberValues(formatting: INumberFormatting): str... method applyDateFormatting (line 71) | private applyDateFormatting(formatting: IDatetimeFormatting): string { method formatMultipleDateValues (line 78) | private formatMultipleDateValues(formatting: IDatetimeFormatting): str... method formatMultipleStringValues (line 86) | private formatMultipleStringValues( method visitSingleLineTextField (line 99) | visitSingleLineTextField(_field: SingleLineTextFieldCore): string { method visitLongTextField (line 104) | visitLongTextField(_field: LongTextFieldCore): string { method visitNumberField (line 109) | visitNumberField(field: NumberFieldCore): string { method visitCheckboxField (line 117) | visitCheckboxField(_field: CheckboxFieldCore): string { method visitDateField (line 122) | visitDateField(_field: DateFieldCore): string { method visitRatingField (line 132) | visitRatingField(_field: RatingFieldCore): string { method visitAutoNumberField (line 138) | visitAutoNumberField(_field: AutoNumberFieldCore): string { method visitSingleSelectField (line 143) | visitSingleSelectField(_field: SingleSelectFieldCore): string { method visitMultipleSelectField (line 148) | visitMultipleSelectField(_field: MultipleSelectFieldCore): string { method visitAttachmentField (line 153) | visitAttachmentField(_field: AttachmentFieldCore): string { method visitLinkField (line 158) | visitLinkField(_field: LinkFieldCore): string { method visitRollupField (line 167) | visitRollupField(_field: RollupFieldCore): string { method visitConditionalRollupField (line 172) | visitConditionalRollupField(_field: ConditionalRollupFieldCore): string { method visitFormulaField (line 176) | visitFormulaField(field: FormulaFieldCore): string { method visitCreatedTimeField (line 215) | visitCreatedTimeField(_field: CreatedTimeFieldCore): string { method visitLastModifiedTimeField (line 220) | visitLastModifiedTimeField(_field: LastModifiedTimeFieldCore): string { method visitUserField (line 225) | visitUserField(_field: UserFieldCore): string { method visitCreatedByField (line 232) | visitCreatedByField(_field: CreatedByFieldCore): string { method visitLastModifiedByField (line 237) | visitLastModifiedByField(_field: LastModifiedByFieldCore): string { method visitButtonField (line 242) | visitButtonField(_field: ButtonFieldCore): string { FILE: apps/nestjs-backend/src/features/record/query-builder/field-select-visitor.ts class FieldSelectVisitor (line 51) | class FieldSelectVisitor implements IFieldVisitor { method constructor (line 52) | constructor( method tableAlias (line 70) | private get tableAlias() { method isLinkFieldBlocked (line 74) | private isLinkFieldBlocked(fieldId?: string | null): boolean { method isLinkFieldReady (line 78) | private isLinkFieldReady(fieldId?: string | null): boolean { method isViewContext (line 84) | private isViewContext(): boolean { method isTableCacheContext (line 88) | private isTableCacheContext(): boolean { method shouldSelectRaw (line 95) | private shouldSelectRaw() { method castExpressionForDbType (line 99) | private castExpressionForDbType(expression: string, field: FieldCore):... method getCastSuffixForDbType (line 112) | private getCastSuffixForDbType(dbFieldType?: DbFieldType): string | nu... method buildTypedNull (line 132) | private buildTypedNull(field: FieldCore): string { method getSelectionMap (line 140) | public getSelectionMap(): IRecordSelectionMap { method generateColumnSelect (line 153) | private generateColumnSelect(name: string): IFieldSelectName { method getColumnSelector (line 166) | private getColumnSelector(field: FieldCore): IFieldSelectName { method selectSystemColumn (line 170) | private selectSystemColumn(field: FieldCore, columnName: string): IFie... method checkAndSelectLookupField (line 183) | private checkAndSelectLookupField(field: FieldCore): IFieldSelectName { method getFormulaColumnSelector (line 283) | private getFormulaColumnSelector(field: FormulaFieldCore): IFieldSelec... method visitNumberField (line 362) | visitNumberField(field: NumberFieldCore): IFieldSelectName { method visitSingleLineTextField (line 366) | visitSingleLineTextField(field: SingleLineTextFieldCore): IFieldSelect... method visitLongTextField (line 370) | visitLongTextField(field: LongTextFieldCore): IFieldSelectName { method visitAttachmentField (line 374) | visitAttachmentField(field: AttachmentFieldCore): IFieldSelectName { method visitCheckboxField (line 378) | visitCheckboxField(field: CheckboxFieldCore): IFieldSelectName { method visitDateField (line 382) | visitDateField(field: DateFieldCore): IFieldSelectName { method visitRatingField (line 399) | visitRatingField(field: RatingFieldCore): IFieldSelectName { method visitAutoNumberField (line 403) | visitAutoNumberField(field: AutoNumberFieldCore): IFieldSelectName { method visitLinkField (line 415) | visitLinkField(field: LinkFieldCore): IFieldSelectName { method visitRollupField (line 462) | visitRollupField(field: RollupFieldCore): IFieldSelectName { method visitConditionalRollupField (line 535) | visitConditionalRollupField(field: ConditionalRollupFieldCore): IField... method visitSingleSelectField (line 569) | visitSingleSelectField(field: SingleSelectFieldCore): IFieldSelectName { method visitMultipleSelectField (line 573) | visitMultipleSelectField(field: MultipleSelectFieldCore): IFieldSelect... method visitButtonField (line 577) | visitButtonField(field: ButtonFieldCore): IFieldSelectName { method visitFormulaField (line 582) | visitFormulaField(field: FormulaFieldCore): IFieldSelectName { method visitUserField (line 599) | visitUserField(field: UserFieldCore): IFieldSelectName { method visitCreatedTimeField (line 603) | visitCreatedTimeField(field: CreatedTimeFieldCore): IFieldSelectName { method visitLastModifiedTimeField (line 611) | visitLastModifiedTimeField(field: LastModifiedTimeFieldCore): IFieldSe... method visitCreatedByField (line 630) | visitCreatedByField(field: CreatedByFieldCore): IFieldSelectName { method visitLastModifiedByField (line 642) | visitLastModifiedByField(field: LastModifiedByFieldCore): IFieldSelect... FILE: apps/nestjs-backend/src/features/record/query-builder/field-select.type.ts type IFieldSelectName (line 3) | type IFieldSelectName = string | Knex.Raw; FILE: apps/nestjs-backend/src/features/record/query-builder/formula-support-generated-column-validator.ts class FormulaSupportGeneratedColumnValidator (line 40) | class FormulaSupportGeneratedColumnValidator { method constructor (line 41) | constructor( method validateFormula (line 51) | validateFormula(expression: string): boolean { method validateFieldReferences (line 104) | private validateFieldReferences( method validateSingleFieldReference (line 128) | private validateSingleFieldReference(fieldId: string, visitedFields: S... method isFunctionSupported (line 191) | private isFunctionSupported(funcName: string, paramCount: number): boo... method checkNumericFunctions (line 211) | private checkNumericFunctions(funcName: string, paramCount: number): b... method checkTextFunctions (line 246) | private checkTextFunctions(funcName: string, paramCount: number): bool... method checkDateTimeFunctions (line 289) | private checkDateTimeFunctions(funcName: string, paramCount: number): ... method checkLogicalFunctions (line 329) | private checkLogicalFunctions(funcName: string, paramCount: number): b... method checkArrayFunctions (line 346) | private checkArrayFunctions(funcName: string, paramCount: number): boo... method checkSystemFunctions (line 363) | private checkSystemFunctions(funcName: string): boolean { method validateTypeSafety (line 378) | private validateTypeSafety(tree: ExprContext): boolean { method hasDatetimeStringConcatenation (line 580) | private hasDatetimeStringConcatenation(tree: ExprContext): boolean { method hasDatetimeTextSlicing (line 634) | private hasDatetimeTextSlicing(tree: ExprContext): boolean { method hasLogicalNonBooleanArgs (line 678) | private hasLogicalNonBooleanArgs(tree: ExprContext): boolean { method hasNumericFunctionWithNonNumericArgs (line 723) | private hasNumericFunctionWithNonNumericArgs(tree: ExprContext): boole... method containsLogicalFunctions (line 782) | private containsLogicalFunctions(tree: ExprContext): boolean { method inferBasicType (line 821) | private inferBasicType( FILE: apps/nestjs-backend/src/features/record/query-builder/formula-validation.ts function validateFormulaSupport (line 12) | function validateFormulaSupport( FILE: apps/nestjs-backend/src/features/record/query-builder/providers/pg-record-query-dialect.ts class PgRecordQueryDialect (line 20) | class PgRecordQueryDialect implements IRecordQueryDialectProvider { method constructor (line 23) | constructor(private readonly knex: Knex) {} method toText (line 25) | toText(expr: string): string { method formatNumber (line 29) | formatNumber(expr: string, formatting: INumberFormatting): string { method formatNumberArray (line 48) | formatNumberArray(expr: string, formatting: INumberFormatting): string { method formatStringArray (line 60) | formatStringArray(expr: string, opts?: { fieldInfo?: FieldCore }): str... method buildArrayNormalizerFromField (line 89) | private buildArrayNormalizerFromField(expr: string, fieldInfo?: FieldC... method buildGenericArrayNormalizer (line 118) | private buildGenericArrayNormalizer(expr: string): string { method formatRating (line 136) | formatRating(expr: string): string { method escapeLiteral (line 140) | private escapeLiteral(value: string): string { method getDatePattern (line 144) | private getDatePattern(date: string): string { method getTimePattern (line 169) | private getTimePattern(time: TimeFormatting | undefined): string | null { method buildDateFormattingExpression (line 180) | private buildDateFormattingExpression( method formatDate (line 193) | formatDate(expr: string, formatting: IDatetimeFormatting): string { method formatDateArray (line 197) | formatDateArray(expr: string, formatting: IDatetimeFormatting): string { method hasWrappingParentheses (line 212) | private hasWrappingParentheses(expr: string): boolean { method isNumericLiteral (line 234) | private isNumericLiteral(expr: string): boolean { method coerceToNumericForCompare (line 243) | coerceToNumericForCompare(expr: string): string { method linkHasAny (line 251) | linkHasAny(selectionSql: string): string { method linkExtractTitles (line 255) | linkExtractTitles(selectionSql: string, isMultiple: boolean): string { method jsonTitleFromExpr (line 265) | jsonTitleFromExpr(selectionSql: string): string { method selectUserNameById (line 269) | selectUserNameById(idRef: string): string { method buildUserJsonObjectById (line 273) | buildUserJsonObjectById(idRef: string): string { method flattenLookupCteValue (line 281) | flattenLookupCteValue( method jsonAggregateNonNull (line 303) | jsonAggregateNonNull(expression: string, orderByClause?: string): stri... method normalizeJsonbAggregateInput (line 311) | private normalizeJsonbAggregateInput(expression: string): string { method stringAggregate (line 329) | stringAggregate(expression: string, delimiter: string, orderByClause?:... method jsonArrayLength (line 334) | jsonArrayLength(expr: string): string { method nullJson (line 338) | nullJson(): string { method typedNullFor (line 342) | typedNullFor(dbFieldType: DbFieldType): string { method buildSafeNumericExpression (line 362) | private buildSafeNumericExpression( method buildSanitizedNumericText (line 375) | private buildSanitizedNumericText(expression: string): string { method sanitizeNumericTextExpression (line 381) | private sanitizeNumericTextExpression(expression: string): string { method buildJsonNumericSumExpression (line 385) | private buildJsonNumericSumExpression(fieldExpression: string): string { method buildJsonNumericCountExpression (line 397) | private buildJsonNumericCountExpression(fieldExpression: string): stri... method castAgg (line 410) | private castAgg(sql: string): string { method rollupAggregate (line 416) | rollupAggregate( method singleValueRollupAggregate (line 536) | singleValueRollupAggregate( method buildLinkJsonObject (line 585) | buildLinkJsonObject( method applyLinkCteOrdering (line 593) | applyLinkCteOrdering( method buildDeterministicLookupAggregate (line 607) | buildDeterministicLookupAggregate(): string | null { FILE: apps/nestjs-backend/src/features/record/query-builder/providers/sqlite-record-query-dialect.ts class SqliteRecordQueryDialect (line 11) | class SqliteRecordQueryDialect implements IRecordQueryDialectProvider { method constructor (line 14) | constructor(private readonly knex: Knex) {} method toText (line 16) | toText(expr: string): string { method formatNumber (line 20) | formatNumber(expr: string, formatting: INumberFormatting): string { method formatNumberArray (line 39) | formatNumberArray(expr: string, formatting: INumberFormatting): string { method formatStringArray (line 53) | formatStringArray(expr: string, _opts?: { fieldInfo?: FieldCore }): st... method formatRating (line 69) | formatRating(expr: string): string { method formatDate (line 73) | formatDate(expr: string, _formatting: IDatetimeFormatting): string { method formatDateArray (line 77) | formatDateArray(expr: string, _formatting: IDatetimeFormatting): string { method coerceToNumericForCompare (line 81) | coerceToNumericForCompare(expr: string): string { method linkHasAny (line 85) | linkHasAny(selectionSql: string): string { method linkExtractTitles (line 89) | linkExtractTitles(selectionSql: string, isMultiple: boolean): string { method jsonTitleFromExpr (line 100) | jsonTitleFromExpr(selectionSql: string): string { method selectUserNameById (line 104) | selectUserNameById(idRef: string): string { method buildUserJsonObjectById (line 108) | buildUserJsonObjectById(idRef: string): string { method flattenLookupCteValue (line 116) | flattenLookupCteValue( method jsonAggregateNonNull (line 125) | jsonAggregateNonNull(expression: string): string { method stringAggregate (line 129) | stringAggregate(expression: string, delimiter: string): string { method jsonArrayLength (line 133) | jsonArrayLength(expr: string): string { method nullJson (line 137) | nullJson(): string { method typedNullFor (line 141) | typedNullFor(_dbFieldType: DbFieldType): string { method rollupAggregate (line 146) | rollupAggregate( method singleValueRollupAggregate (line 194) | singleValueRollupAggregate( method buildLinkJsonObject (line 228) | buildLinkJsonObject( method applyLinkCteOrdering (line 239) | applyLinkCteOrdering( method buildDeterministicLookupAggregate (line 276) | buildDeterministicLookupAggregate({ FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.interface.ts type IPrepareViewParams (line 6) | interface IPrepareViewParams { type ICreateRecordQueryBuilderOptions (line 13) | interface ICreateRecordQueryBuilderOptions { type ICreateRecordAggregateBuilderOptions (line 66) | interface ICreateRecordAggregateBuilderOptions { type IRecordQueryBuilder (line 94) | interface IRecordQueryBuilder { type IRecordQueryFieldCteMap (line 125) | type IRecordQueryFieldCteMap = Map; type IRecordSelectionMap (line 127) | type IRecordSelectionMap = Map; type IReadonlyRecordSelectionMap (line 128) | type IReadonlyRecordSelectionMap = ReadonlyMap; type IRecordQueryContext (line 131) | type IRecordQueryContext = 'table' | 'tableCache' | 'view'; type IRecordQueryFilterContext (line 133) | interface IRecordQueryFilterContext { type IRecordQuerySortContext (line 139) | interface IRecordQuerySortContext { type IRecordQueryGroupContext (line 143) | interface IRecordQueryGroupContext { type IRecordQueryAggregateContext (line 147) | interface IRecordQueryAggregateContext { type IReadonlyQueryBuilderState (line 157) | interface IReadonlyQueryBuilderState { type IMutableQueryBuilderState (line 183) | interface IMutableQueryBuilderState extends IReadonlyQueryBuilderState { FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.manager.ts class RecordQueryBuilderManager (line 12) | class RecordQueryBuilderManager implements IMutableQueryBuilderState { method constructor (line 13) | constructor(public readonly context: IRecordQueryContext) {} method getFieldCteMap (line 23) | getFieldCteMap(): ReadonlyMap { method getSelectionMap (line 27) | getSelectionMap(): ReadonlyMap { method getContext (line 31) | getContext(): IRecordQueryContext { method getMainTableAlias (line 35) | getMainTableAlias(): string | undefined { method getMainTableSource (line 39) | getMainTableSource(): string | undefined { method getOriginalMainTableSource (line 43) | getOriginalMainTableSource(): string | undefined { method getBaseCteName (line 47) | getBaseCteName(): string | undefined { method hasFieldCte (line 51) | hasFieldCte(fieldId: string): boolean { method getCteName (line 55) | getCteName(fieldId: string): string | undefined { method isCteJoined (line 59) | isCteJoined(cteName: string): boolean { method setFieldCte (line 64) | setFieldCte(fieldId: string, cteName: string): void { method clearFieldCtes (line 68) | clearFieldCtes(): void { method setSelection (line 73) | setSelection(fieldId: string, selection: IFieldSelectName): void { method deleteSelection (line 77) | deleteSelection(fieldId: string): void { method clearSelections (line 81) | clearSelections(): void { method setMainTableAlias (line 85) | setMainTableAlias(alias: string): void { method setMainTableSource (line 89) | setMainTableSource(source: string): void { method setBaseCteName (line 96) | setBaseCteName(cteName: string | undefined): void { method markCteJoined (line 100) | markCteJoined(cteName: string): void { function asReadonlyState (line 106) | function asReadonlyState(state: IMutableQueryBuilderState): IReadonlyQue... class ScopedSelectionState (line 114) | class ScopedSelectionState implements IMutableQueryBuilderState { method constructor (line 118) | constructor(base: IReadonlyQueryBuilderState) { method getFieldCteMap (line 123) | getFieldCteMap(): ReadonlyMap { method getSelectionMap (line 127) | getSelectionMap(): ReadonlyMap { method getContext (line 131) | getContext(): IRecordQueryContext { method hasFieldCte (line 135) | hasFieldCte(fieldId: string): boolean { method getCteName (line 139) | getCteName(fieldId: string): string | undefined { method isCteJoined (line 143) | isCteJoined(cteName: string): boolean { method getMainTableAlias (line 147) | getMainTableAlias(): string | undefined { method getMainTableSource (line 151) | getMainTableSource(): string | undefined { method getOriginalMainTableSource (line 155) | getOriginalMainTableSource(): string | undefined { method getBaseCteName (line 159) | getBaseCteName(): string | undefined { method setSelection (line 164) | setSelection(fieldId: string, selection: IFieldSelectName): void { method deleteSelection (line 168) | deleteSelection(fieldId: string): void { method clearSelections (line 172) | clearSelections(): void { method setFieldCte (line 177) | setFieldCte(_fieldId: string, _cteName: string): void { method clearFieldCtes (line 182) | clearFieldCtes(): void { method setMainTableAlias (line 186) | setMainTableAlias(_alias: string): void { method setMainTableSource (line 190) | setMainTableSource(_source: string): void { method setBaseCteName (line 194) | setBaseCteName(_cteName: string | undefined): void { method markCteJoined (line 198) | markCteJoined(_cteName: string): void { FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.module.ts class RecordQueryBuilderModule (line 25) | class RecordQueryBuilderModule {} FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.service.ts class RecordQueryBuilderService (line 26) | class RecordQueryBuilderService implements IRecordQueryBuilder { method constructor (line 28) | constructor( method createQueryBuilderFromTable (line 37) | private async createQueryBuilderFromTable( method createQueryBuilderFromTableCache (line 71) | private async createQueryBuilderFromTableCache( method createQueryBuilder (line 93) | private async createQueryBuilder( method prepareView (line 165) | async prepareView( method createRecordQueryBuilder (line 177) | async createRecordQueryBuilder( method createRecordAggregateBuilder (line 222) | async createRecordAggregateBuilder( method buildFieldCtes (line 287) | private buildFieldCtes( method orderAggregateByGroup (line 310) | private orderAggregateByGroup( method normalizeOrderableTextExpression (line 374) | private normalizeOrderableTextExpression(expr: string, dbFieldType: Db... method applyBasePaginationIfNeeded (line 396) | private applyBasePaginationIfNeeded( method isComputedField (line 498) | private isComputedField(field: FieldCore): boolean { method resolveBaseLimit (line 512) | private resolveBaseLimit(limit?: number, offset?: number): number | un... method collectRequiredFieldIds (line 527) | private collectRequiredFieldIds( method buildFieldLookup (line 547) | private buildFieldLookup(table: TableDomain): Map { method referencesComputedField (line 555) | private referencesComputedField( method createBaseSelectionMap (line 571) | private createBaseSelectionMap( method getReadyLinkFieldIds (line 585) | private getReadyLinkFieldIds(state: IMutableQueryBuilderState): Readon... method buildSelect (line 599) | private buildSelect( method buildAggregateSelect (line 646) | private buildAggregateSelect( method buildFilter (line 673) | private buildFilter( method buildSort (line 710) | private buildSort( FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.symbol.ts constant RECORD_QUERY_BUILDER_SYMBOL (line 6) | const RECORD_QUERY_BUILDER_SYMBOL = Symbol('RECORD_QUERY_BUILDER'); FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-builder.util.ts function getTableAliasFromTable (line 11) | function getTableAliasFromTable(table: TableDomain): string { function getLinkUsesJunctionTable (line 20) | function getLinkUsesJunctionTable(field: LinkFieldCore): boolean { function getOrderedFieldsByProjection (line 38) | function getOrderedFieldsByProjection( function isDateLikeField (line 104) | function isDateLikeField(field: FieldCore): boolean { FILE: apps/nestjs-backend/src/features/record/query-builder/record-query-dialect.interface.ts type IRecordQueryDialectProvider (line 19) | interface IRecordQueryDialectProvider { constant RECORD_QUERY_DIALECT_SYMBOL (line 356) | const RECORD_QUERY_DIALECT_SYMBOL = Symbol('RECORD_QUERY_DIALECT'); FILE: apps/nestjs-backend/src/features/record/query-builder/sql-conversion.visitor.ts function unescapeString (line 68) | function unescapeString(str: string): string { constant STRING_FUNCTIONS (line 81) | const STRING_FUNCTIONS = new Set([ constant NUMBER_FUNCTIONS (line 98) | const NUMBER_FUNCTIONS = new Set([ constant BOOLEAN_FUNCTIONS (line 123) | const BOOLEAN_FUNCTIONS = new Set([ constant MULTI_VALUE_AGGREGATED_FUNCTIONS (line 130) | const MULTI_VALUE_AGGREGATED_FUNCTIONS = new Set([ constant MULTI_VALUE_FIELD_TYPES (line 154) | const MULTI_VALUE_FIELD_TYPES = new Set([ constant STRING_FIELD_TYPES (line 163) | const STRING_FIELD_TYPES = new Set([ constant DATETIME_FIELD_TYPES (line 176) | const DATETIME_FIELD_TYPES = new Set([ constant NUMBER_FIELD_TYPES (line 182) | const NUMBER_FIELD_TYPES = new Set([ type IFormulaConversionContext (line 192) | interface IFormulaConversionContext { type ISelectFormulaConversionContext (line 205) | interface ISelectFormulaConversionContext extends IFormulaConversionCont... type IFormulaConversionResult (line 224) | interface IFormulaConversionResult { type IGeneratedColumnQueryInterface (line 236) | interface IGeneratedColumnQueryInterface type ISelectQueryInterface (line 246) | interface ISelectQueryInterface type IGeneratedColumnQuerySupportValidator (line 254) | interface IGeneratedColumnQuerySupportValidator function shouldExpandFieldReference (line 263) | function shouldExpandFieldReference( method defaultResult (line 287) | protected defaultResult(): string { method getQuestionMarkExpression (line 291) | protected getQuestionMarkExpression(): string { method constructor (line 298) | constructor( method visitRoot (line 313) | visitRoot(ctx: RootContext): string { method visitStringLiteral (line 317) | visitStringLiteral(ctx: StringLiteralContext): string { method visitIntegerLiteral (line 350) | visitIntegerLiteral(ctx: IntegerLiteralContext): string { method visitDecimalLiteral (line 355) | visitDecimalLiteral(ctx: DecimalLiteralContext): string { method visitBooleanLiteral (line 360) | visitBooleanLiteral(ctx: BooleanLiteralContext): string { method visitLeftWhitespaceOrComments (line 365) | visitLeftWhitespaceOrComments(ctx: LeftWhitespaceOrCommentsContext): str... method visitRightWhitespaceOrComments (line 369) | visitRightWhitespaceOrComments(ctx: RightWhitespaceOrCommentsContext): s... method visitBrackets (line 373) | visitBrackets(ctx: BracketsContext): string { method visitUnaryOp (line 378) | visitUnaryOp(ctx: UnaryOpContext): string { method visitFieldReferenceCurly (line 395) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext): string { method expandFormulaField (line 422) | protected expandFormulaField(fieldId: string, fieldInfo: IFieldWithExpre... method visitFunctionCall (line 493) | visitFunctionCall(ctx: FunctionCallContext): string { method visitBinaryOp (line 810) | visitBinaryOp(ctx: BinaryOpContext): string { method normalizeFunctionParamsForMultiplicity (line 931) | private normalizeFunctionParamsForMultiplicity( method tryBuildMultiValueAggregator (line 954) | private tryBuildMultiValueAggregator( method shouldPreserveMultiValueParam (line 1058) | private shouldPreserveMultiValueParam( method reduceMultiFieldReferenceParam (line 1071) | private reduceMultiFieldReferenceParam(exprCtx: ExprContext, paramSql: s... method getFieldInfoFromExpr (line 1083) | private getFieldInfoFromExpr(exprCtx: ExprContext): FieldCore | undefined { method isMultiValueField (line 1112) | private isMultiValueField(fieldInfo?: FieldCore): boolean { method isLinkFieldMulti (line 1160) | private isLinkFieldMulti(linkField?: FieldCore): boolean { method isMultiValueExpr (line 1178) | private isMultiValueExpr(exprCtx: ExprContext, paramSql?: string): boole... method extractSingleValueFromMultiReference (line 1226) | private extractSingleValueFromMultiReference(expr: string, fieldInfo: Fi... method buildSqliteSingleValueExtractor (line 1241) | private buildSqliteSingleValueExtractor(expr: string): string { method buildPgSingleValueExtractor (line 1247) | private buildPgSingleValueExtractor(expr: string, _fieldInfo: FieldCore)... method formatScalarDatetimeIfNeeded (line 1276) | private formatScalarDatetimeIfNeeded(scalar: string, fieldInfo: FieldCor... method normalizeMultiValueExprToJson (line 1298) | private normalizeMultiValueExprToJson(expr: string): string { method extractJsonScalarText (line 1319) | private extractJsonScalarText(elemRef: string): string { method buildPgNumericAggregator (line 1327) | private buildPgNumericAggregator( method buildPgDatetimeFormatAggregator (line 1345) | private buildPgDatetimeFormatAggregator(valueExpr: string, formatExpr: s... method buildPgNumericScalarAggregator (line 1351) | private buildPgNumericScalarAggregator( method buildPgDatetimeScalarAggregator (line 1371) | private buildPgDatetimeScalarAggregator( method safeCastToNumeric (line 1395) | private safeCastToNumeric(value: string): string { method coerceBooleanToNumeric (line 1403) | private coerceBooleanToNumeric(value: string, exprCtx?: ExprContext): st... method coerceToStringForConcatenation (line 1417) | private coerceToStringForConcatenation( method getFieldDatetimeFormatting (line 1485) | private getFieldDatetimeFormatting(fieldInfo: FieldCore): IDatetimeForma... method shouldForceNumericAddition (line 1514) | private shouldForceNumericAddition(): boolean { method coerceCaseBranchToText (line 1520) | private coerceCaseBranchToText(expr: string): string { method normalizeTextSliceCount (line 1550) | private normalizeTextSliceCount(valueSql?: string, exprCtx?: ExprContext... method normalizeBooleanExpression (line 1580) | private normalizeBooleanExpression(valueSql: string, exprCtx: ExprContex... method normalizeBooleanFieldReference (line 1623) | private normalizeBooleanFieldReference(valueSql: string, exprCtx: ExprCo... method isBlankLikeExpression (line 1645) | private isBlankLikeExpression(ctx: ExprContext): boolean { method inferExpressionType (line 1666) | private inferExpressionType( method inferLiteralType (line 1710) | private inferLiteralType( method inferFieldReferenceType (line 1731) | private inferFieldReferenceType( method resolveFieldReference (line 1758) | private resolveFieldReference(ctx: FieldReferenceCurlyContext): { method buildParamMetadata (line 1769) | private buildParamMetadata(exprCtx: ExprContext): IFormulaParamMetadata { method extractFieldReferenceMetadata (line 1795) | private extractFieldReferenceMetadata( method mapFieldTypeToBasicType (line 1816) | private mapFieldTypeToBasicType( method mapCellValueTypeToBasicType (line 1859) | private mapCellValueTypeToBasicType( method inferFunctionReturnType (line 1881) | private inferFunctionReturnType( method inferBinaryOperationType (line 2019) | private inferBinaryOperationType( class GeneratedColumnSqlConversionVisitor (line 2069) | class GeneratedColumnSqlConversionVisitor extends BaseSqlConversionVisit... method getResult (line 2075) | getResult(sql: string): IFormulaConversionResult { method visitFieldReferenceCurly (line 2082) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext): string { class SelectColumnSqlConversionVisitor (line 2096) | class SelectColumnSqlConversionVisitor extends BaseSqlConversionVisitor<... method visitFieldReferenceCurly (line 2101) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext): string { method normalizeLookupSelection (line 2357) | private normalizeLookupSelection( method coerceRawMultiValueReference (line 2397) | private coerceRawMultiValueReference( method isInBooleanContext (line 2446) | private isInBooleanContext(ctx: FieldReferenceCurlyContext): boolean { method isAncestorNode (line 2482) | private isAncestorNode(ancestor: any, node: any): boolean { FILE: apps/nestjs-backend/src/features/record/record-modify/record-create.service.ts class RecordCreateService (line 17) | class RecordCreateService { method constructor (line 18) | constructor( method multipleCreateRecords (line 28) | async multipleCreateRecords( method createRecords (line 56) | async createRecords( method createRecordsOnlySql (line 109) | async createRecordsOnlySql(tableId: string, createRecordsRo: ICreateRe... method buildProjectionByTable (line 118) | private buildProjectionByTable( method appendSystemFieldContextsForCreate (line 137) | private appendSystemFieldContextsForCreate( FILE: apps/nestjs-backend/src/features/record/record-modify/record-delete.service.ts class RecordDeleteService (line 14) | class RecordDeleteService { method constructor (line 15) | constructor( method deleteRecord (line 25) | async deleteRecord(tableId: string, recordId: string, windowId?: strin... method deleteRecords (line 30) | async deleteRecords(tableId: string, recordIds: string[], windowId?: s... FILE: apps/nestjs-backend/src/features/record/record-modify/record-duplicate.service.ts class RecordDuplicateService (line 11) | class RecordDuplicateService { method constructor (line 12) | constructor( method duplicateRecord (line 19) | async duplicateRecord( FILE: apps/nestjs-backend/src/features/record/record-modify/record-modify.module.ts class RecordModifyModule (line 42) | class RecordModifyModule {} FILE: apps/nestjs-backend/src/features/record/record-modify/record-modify.service.ts class RecordModifyService (line 19) | class RecordModifyService { method constructor (line 20) | constructor( method updateRecords (line 28) | async updateRecords( method simpleUpdateRecords (line 36) | async simpleUpdateRecords(tableId: string, updateRecordsRo: IUpdateRec... method multipleCreateRecords (line 40) | async multipleCreateRecords( method createRecords (line 48) | async createRecords( method createRecordsOnlySql (line 63) | async createRecordsOnlySql(tableId: string, createRecordsRo: ICreateRe... method deleteRecord (line 67) | async deleteRecord(tableId: string, recordId: string, windowId?: strin... method deleteRecords (line 71) | async deleteRecords(tableId: string, recordIds: string[], windowId?: s... method duplicateRecord (line 75) | async duplicateRecord( FILE: apps/nestjs-backend/src/features/record/record-modify/record-modify.shared.service.ts class RecordModifySharedService (line 38) | class RecordModifySharedService { method constructor (line 39) | constructor( method compressAndFilterChanges (line 52) | compressAndFilterChanges(table: TableDomain, cellContexts: ICellContex... method getEffectFieldInstances (line 84) | private getEffectFieldInstances( method validateFieldsAndTypecast (line 126) | async validateFieldsAndTypecast< method generateCellContexts (line 183) | async generateCellContexts( method getRecordOrderIndexes (line 253) | async getRecordOrderIndexes( method appendRecordOrderIndexes (line 273) | async appendRecordOrderIndexes( method transformUserDefaultValue (line 286) | private transformUserDefaultValue( method getDefaultValue (line 297) | getDefaultValue(type: FieldType, options: unknown, defaultValue: unkno... method getUserInfoFromDatabase (line 317) | async getUserInfoFromDatabase(userIds: string[]) { method fillUserInfo (line 328) | async fillUserInfo( method ensureReferencedBaseFieldsForNewRecords (line 361) | async ensureReferencedBaseFieldsForNewRecords( method appendDefaultValue (line 434) | async appendDefaultValue( method collectReferencedBaseFieldIdsFromFieldRaws (line 458) | private collectReferencedBaseFieldIdsFromFieldRaws( method extractLookupLinkFieldId (line 524) | private extractLookupLinkFieldId(field: FieldCore): string | undefined { method isDerivedField (line 529) | private isDerivedField(field: FieldCore): boolean { method isLookupLikeRollup (line 542) | private isLookupLikeRollup(field: FieldCore): boolean { method parseJsonValue (line 546) | private parseJsonValue(value: unknown): T | undefined { FILE: apps/nestjs-backend/src/features/record/record-modify/record-update.service.ts class RecordUpdateService (line 24) | class RecordUpdateService { method constructor (line 25) | constructor( method updateRecords (line 60) | async updateRecords( method simpleUpdateRecords (line 179) | async simpleUpdateRecords(tableId: string, updateRecordsRo: IUpdateRec... method filterRecordsByFieldKeys (line 224) | private filterRecordsByFieldKeys< method collectProjectionFields (line 251) | private collectProjectionFields(records: { fields: Record>(obj: T) { type IRecordInnerRo (line 105) | interface IRecordInnerRo { class RecordService (line 117) | class RecordService { method constructor (line 120) | constructor( method getQueryColumnName (line 140) | private getQueryColumnName(field: IFieldInstance): string { method getWritableCreatedTimeFieldNames (line 144) | private async getWritableCreatedTimeFieldNames( method dbRecord2RecordFields (line 199) | private dbRecord2RecordFields( method getAllRecordCount (line 218) | async getAllRecordCount(dbTableName: string) { method getDbValueMatrix (line 227) | async getDbValueMatrix( method getDbTableName (line 257) | async getDbTableName(tableId: string) { method getLinkCellIds (line 274) | private async getLinkCellIds(tableId: string, field: IFieldInstance, r... method buildLinkSelectedSort (line 304) | private async buildLinkSelectedSort( method isJunctionTable (line 345) | private isJunctionTable(dbTableName: string) { method buildLinkSelectedQuery (line 353) | async buildLinkSelectedQuery( method buildLinkCandidateQuery (line 426) | async buildLinkCandidateQuery( method getNecessaryFieldMap (line 513) | private async getNecessaryFieldMap( method sanitizeFilterByEnabledFields (line 540) | private async sanitizeFilterByEnabledFields( method getTinyView (line 605) | private async getTinyView(tableId: string, viewId?: string) { method parseSearch (line 625) | public parseSearch( method stringifyRawQueryDebugPayload (line 663) | private stringifyRawQueryDebugPayload(payload: unknown): string { method handleRawQueryError (line 675) | private handleRawQueryError( method prepareQuery (line 702) | async prepareQuery( method getBasicOrderIndexField (line 762) | async getBasicOrderIndexField(dbTableName: string, viewId: string | un... method buildFilterSortQuery (line 790) | async buildFilterSortQuery( method convertProjection (line 915) | convertProjection(fieldKeys?: string[]) { method convertEnabledFieldIdsToProjection (line 922) | private async convertEnabledFieldIdsToProjection( method getRecordsById (line 949) | async getRecordsById( method getViewProjection (line 972) | private async getViewProjection( method getRecords (line 1027) | async getRecords( method getRecord (line 1069) | async getRecord( method getCellValue (line 1099) | async getCellValue(tableId: string, recordId: string, fieldId: string) { method getMaxRecordOrder (line 1107) | async getMaxRecordOrder(dbTableName: string) { method batchDeleteRecords (line 1117) | async batchDeleteRecords(tableId: string, recordIds: string[]) { method getViewIndexColumns (line 1155) | private async getViewIndexColumns(dbTableName: string) { method getRecordIndexes (line 1166) | async getRecordIndexes( method updateRecordIndexes (line 1214) | async updateRecordIndexes( method batchCreateRecords (line 1253) | async batchCreateRecords( method createRecordsOnlySql (line 1270) | async createRecordsOnlySql( method creditCheck (line 1335) | async creditCheck(tableId: string) { method getAllViewIndexesField (line 1369) | private async getAllViewIndexesField(dbTableName: string) { method hasPersistedLinkColumn (line 1382) | private hasPersistedLinkColumn(field: FieldCore) { method createBatch (line 1408) | private async createBatch( method batchDel (line 1585) | private async batchDel(tableId: string, recordIds: string[]) { method getFieldsByProjection (line 1592) | public async getFieldsByProjection( method getCachePreviewUrlTokenMap (line 1610) | private async getCachePreviewUrlTokenMap( method getThumbnailPathTokenMap (line 1649) | private async getThumbnailPathTokenMap( method recordsPresignedUrl (line 1692) | private async recordsPresignedUrl( method getAttachmentPresignedCellValue (line 1725) | async getAttachmentPresignedCellValue( method getSnapshotBulkInner (line 1775) | private async getSnapshotBulkInner( method getSnapshotBulkWithPermission (line 1879) | async getSnapshotBulkWithPermission( method getSnapshotBulk (line 1909) | async getSnapshotBulk( method getDocIdsByQuery (line 1928) | async getDocIdsByQuery( method getSearchFields (line 2052) | async getSearchFields( method getSearchHitIndex (line 2152) | private async getSearchHitIndex( method getRecordsFields (line 2224) | async getRecordsFields( method getPrimaryField (line 2300) | private async getPrimaryField(tableId: string) { method getRecordsHeadWithTitles (line 2318) | async getRecordsHeadWithTitles(tableId: string, titles: string[]) { method getRecordsHeadWithIds (line 2336) | async getRecordsHeadWithIds(tableId: string, recordIds: string[]) { method filterRecordIdsByFilter (line 2356) | async filterRecordIdsByFilter( method getDiffIdsByIdAndFilter (line 2375) | async getDiffIdsByIdAndFilter(tableId: string, recordIds: string[], fi... method groupDbCollection2GroupPoints (line 2382) | private async groupDbCollection2GroupPoints( method getFilterByCollapsedGroup (line 2464) | private getFilterByCollapsedGroup({ method getRowCountByFilter (line 2532) | async getRowCountByFilter( method getGroupRelatedData (line 2585) | public async getGroupRelatedData(tableId: string, query?: IGetRecordsR... method getRecordStatus (line 2723) | async getRecordStatus( method emitRecordAuditLogEvent (line 2762) | async emitRecordAuditLogEvent( method getRecordsCollaborators (line 2778) | async getRecordsCollaborators( FILE: apps/nestjs-backend/src/features/record/type.ts type IFieldRaws (line 4) | type IFieldRaws = Pick< type IUpdateRecordsInternalRo (line 20) | type IUpdateRecordsInternalRo = Omit & { FILE: apps/nestjs-backend/src/features/record/typecast.validate.ts type IServices (line 36) | interface IServices { type IObjectType (line 45) | interface IObjectType { class TypeCastAndValidate (line 82) | class TypeCastAndValidate { method constructor (line 89) | constructor({ method typecastCellValuesWithField (line 116) | async typecastCellValuesWithField(cellValues: unknown[]) { method defaultCastTo (line 140) | private defaultCastTo(cellValues: unknown[]) { method mapFieldsCellValuesWithValidate (line 149) | private mapFieldsCellValuesWithValidate( method valueToStringArray (line 186) | private valueToStringArray(value: unknown): string[] | null { method createOptionsIfNotExists (line 210) | private async createOptionsIfNotExists(choicesNames: string[]) { method castToSingleSelect (line 248) | private async castToSingleSelect(cellValues: unknown[]): Promise { method castToUser (line 330) | private async castToUser(cellValues: unknown[]): Promise { method getAttachmentCvMapByCv (line 413) | private async getAttachmentCvMapByCv(cellValues: unknown[]): Promise< method castToAttachment (line 454) | private async castToAttachment(cellValues: unknown[]): Promise { method unpublishPlugin (line 17) | async unpublishPlugin(@Param('pluginId') pluginId: string): Promise { method getHeapSnapshot (line 27) | async getHeapSnapshot(@Res() res: Response): Promise { method getPerformanceCache (line 32) | async getPerformanceCache() { method deletePerformanceCache (line 37) | async deletePerformanceCache(@Query('key') key?: string) { FILE: apps/nestjs-backend/src/features/setting/open-api/admin-open-api.module.ts class AdminOpenApiModule (line 21) | class AdminOpenApiModule {} FILE: apps/nestjs-backend/src/features/setting/open-api/admin-open-api.service.ts class AdminOpenApiService (line 20) | class AdminOpenApiService { method constructor (line 22) | constructor( method publishPlugin (line 29) | async publishPlugin(pluginId: string) { method unpublishPlugin (line 36) | async unpublishPlugin(pluginId: string) { method repairTableAttachmentThumbnail (line 43) | async repairTableAttachmentThumbnail() { method getHeapSnapshot (line 86) | async getHeapSnapshot(res: Response) { method getPerformanceCache (line 149) | async getPerformanceCache() { method deletePerformanceCache (line 156) | async deletePerformanceCache(key?: string) { FILE: apps/nestjs-backend/src/features/setting/open-api/setting-open-api.controller.ts class SettingOpenApiController (line 45) | class SettingOpenApiController { method constructor (line 46) | constructor( method getSetting (line 57) | async getSetting(): Promise { method getPublicSetting (line 66) | async getPublicSetting(): Promise { method updateSetting (line 110) | async updateSetting( method uploadLogo (line 133) | async uploadLogo(@UploadedFile() file: Express.Multer.File): Promise { method setMailTransportConfig (line 169) | async setMailTransportConfig( method getGatewayModels (line 193) | async getGatewayModels() { FILE: apps/nestjs-backend/src/features/setting/open-api/setting-open-api.module.ts class SettingOpenApiModule (line 25) | class SettingOpenApiModule {} FILE: apps/nestjs-backend/src/features/setting/open-api/setting-open-api.service.ts class SettingOpenApiService (line 59) | class SettingOpenApiService { method constructor (line 62) | constructor( method getSetting (line 72) | async getSetting(names?: string[]): Promise { method updateSetting (line 76) | async updateSetting(updateSettingRo: Partial): Promise { method testImageGenerationModel (line 484) | private async testImageGenerationModel( method testGoogleImageGeneration (line 545) | private async testGoogleImageGeneration( method setMailTransportConfig (line 623) | async setMailTransportConfig(setMailTransportConfigRo: ISetSettingMail... method testSingleModel (line 635) | private async testSingleModel( method batchTestLLM (line 717) | async batchTestLLM(batchTestLLMRo?: IBatchTestLLMRo): Promise { method getStorageTestFileUrl (line 835) | private getStorageTestFileUrl(): string | undefined { method checkUrlAccessible (line 844) | private async checkUrlAccessible( method checkStorageAccess (line 875) | private async checkStorageAccess(setting: { method testPublicAccess (line 901) | async testPublicAccess(): Promise { method saveAttachmentTestResults (line 932) | private async saveAttachmentTestResults( method testAttachmentTransferModes (line 982) | private async testAttachmentTransferModes( method testAiGatewayKey (line 1042) | private async testAiGatewayKey(apiKey: string, baseUrl?: string): Prom... method parseApiKeyError (line 1064) | private parseApiKeyError(error: unknown, service: string): ITestApiKey... method getApiKeyErrorCode (line 1091) | private getApiKeyErrorCode( method testV0Key (line 1145) | private async testV0Key(apiKey: string, baseUrl?: string): Promise { method applyEnvOverrides (line 92) | private applyEnvOverrides(res: Record): void { method updateSetting (line 116) | async updateSetting(updateSettingRo: Partial): Promise { FILE: apps/nestjs-backend/src/features/share/guard/auth.guard.ts class ShareAuthGuard (line 17) | class ShareAuthGuard extends PassportAuthGuard([SHARE_JWT_STRATEGY]) { method constructor (line 18) | constructor( method validate (line 27) | async validate(context: ExecutionContext, shareId: string) { method canActivate (line 72) | async canActivate(context: ExecutionContext) { FILE: apps/nestjs-backend/src/features/share/guard/constant.ts constant SHARE_JWT_STRATEGY (line 1) | const SHARE_JWT_STRATEGY = 'share-jwt-strategy'; FILE: apps/nestjs-backend/src/features/share/guard/link-view.decorator.ts constant IS_SHARE_LINK_VIEW (line 3) | const IS_SHARE_LINK_VIEW = 'isShareLinkView'; FILE: apps/nestjs-backend/src/features/share/guard/share-auth-local.guard.ts class ShareAuthLocalGuard (line 8) | class ShareAuthLocalGuard implements CanActivate { method constructor (line 9) | constructor(private readonly shareAuthService: ShareAuthService) {} method canActivate (line 11) | async canActivate(context: ExecutionContext) { FILE: apps/nestjs-backend/src/features/share/guard/submit.decorator.ts constant IS_SHARE_SUBMIT_KEY (line 3) | const IS_SHARE_SUBMIT_KEY = 'isShareSubmit'; FILE: apps/nestjs-backend/src/features/share/share-auth.module.ts class ShareAuthModule (line 28) | class ShareAuthModule {} FILE: apps/nestjs-backend/src/features/share/share-auth.service.ts type IShareViewInfo (line 13) | interface IShareViewInfo { type IJwtShareInfo (line 21) | interface IJwtShareInfo { class ShareAuthService (line 27) | class ShareAuthService { method constructor (line 28) | constructor( method validateJwtToken (line 35) | async validateJwtToken(token: string) { method authShareView (line 43) | async authShareView(shareId: string, pass: string): Promise { method getLinkViewInfo (line 91) | async getLinkViewInfo(linkFieldId: string, templateHeader?: string): P... FILE: apps/nestjs-backend/src/features/share/share-socket.service.ts class ShareSocketService (line 14) | class ShareSocketService { method constructor (line 15) | constructor( method getViewDocIdsByQuery (line 22) | getViewDocIdsByQuery(shareInfo: IShareViewInfo) { method getViewSnapshotBulk (line 36) | getViewSnapshotBulk(shareInfo: IShareViewInfo, ids: string[]) { method getFieldDocIdsByQuery (line 60) | async getFieldDocIdsByQuery(shareInfo: IShareViewInfo, query: IGetFiel... method getFieldSnapshotBulk (line 83) | async getFieldSnapshotBulk(shareInfo: IShareViewInfo, ids: string[]) { method validFieldSnapshotPermission (line 90) | async validFieldSnapshotPermission(shareInfo: IShareViewInfo, ids: str... method getRecordDocIdsByQuery (line 106) | async getRecordDocIdsByQuery( method getRecordSnapshotBulk (line 136) | async getRecordSnapshotBulk(shareInfo: IShareViewInfo, ids: string[], ... method validRecordSnapshotPermission (line 149) | async validRecordSnapshotPermission(shareInfo: IShareViewInfo, ids: st... FILE: apps/nestjs-backend/src/features/share/share.controller.ts class ShareController (line 72) | class ShareController { method constructor (line 73) | constructor( method auth (line 82) | async auth(@Request() req: any, @Res({ passthrough: true }) res: Respo... method getShareView (line 97) | async getShareView(@Request() req?: any): Promise { method getViewAggregations (line 104) | async getViewAggregations( method getViewRowCount (line 117) | async getViewRowCount( method getViewRecords (line 130) | async getViewRecords( method submitRecord (line 142) | async submitRecord( method copy (line 153) | async copy( method getViewGroupPoints (line 163) | async getViewGroupPoints( method getViewCalendarDailyCollection (line 174) | async getViewCalendarDailyCollection( method viewLinkRecords (line 185) | async viewLinkRecords( method getViewCollaborators (line 196) | async getViewCollaborators( method getSearchCount (line 206) | async getSearchCount( method getSearchIndex (line 217) | async getSearchIndex( method buttonClick (line 228) | async buttonClick( method getViewSnapshotBulk (line 242) | async getViewSnapshotBulk(@Request() req: any, @Query('ids') ids: stri... method getViewDocIds (line 251) | async getViewDocIds(@Request() req: any) { method getFieldSnapshotBulk (line 260) | async getFieldSnapshotBulk(@Request() req: any, @Query('ids') ids: str... method getFieldDocIds (line 269) | async getFieldDocIds( method getRecordSnapshotBulk (line 282) | async getRecordSnapshotBulk(@Request() req: any, @Query('ids') ids: st... method getRecordDocIds (line 291) | async getRecordDocIds( FILE: apps/nestjs-backend/src/features/share/share.module.ts class ShareModule (line 32) | class ShareModule {} FILE: apps/nestjs-backend/src/features/share/share.service.ts type IJwtShareInfo (line 47) | interface IJwtShareInfo { class ShareService (line 53) | class ShareService { method constructor (line 54) | constructor( method getShareView (line 68) | async getShareView(shareInfo: IShareViewInfo): Promise { method getViewAggregations (line 150) | async getViewAggregations( method getViewRowCount (line 186) | async getViewRowCount( method getViewRecords (line 214) | async getViewRecords( method formSubmit (line 252) | async formSubmit(shareInfo: IShareViewInfo, shareViewFormSubmitRo: Sha... method copy (line 277) | async copy(shareInfo: IShareViewInfo, shareViewCopyRo: IRangesRo) { method preCheckFieldHidden (line 292) | private preCheckFieldHidden(view: IViewVo, fieldId: string) { method getViewLinkRecords (line 307) | async getViewLinkRecords(shareInfo: IShareViewInfo, query: IShareViewL... method getFormLinkRecords (line 352) | async getFormLinkRecords(field: IFieldVo, query: IShareViewLinkRecords... method getViewFilterLinkRecords (line 374) | async getViewFilterLinkRecords(field: IFieldVo, query: IShareViewLinkR... method getViewGroupPoints (line 394) | async getViewGroupPoints( method getViewCollaborators (line 415) | async getViewCollaborators(shareInfo: IShareViewInfo, query: IShareVie... method getViewFilterUserQuery (line 456) | private async getViewFilterUserQuery( method getViewFilterCollaborators (line 491) | async getViewFilterCollaborators( method getViewAllCollaborators (line 538) | async getViewAllCollaborators( method getShareSearchCount (line 585) | async getShareSearchCount(tableId: string, query: ISearchCountRo) { method getShareSearchIndex (line 589) | async getShareSearchIndex(tableId: string, query: ISearchIndexByQueryR... method getViewCalendarDailyCollection (line 593) | async getViewCalendarDailyCollection( method buttonClick (line 603) | async buttonClick(shareInfo: IShareViewInfo, recordId: string, fieldId... FILE: apps/nestjs-backend/src/features/share/strategies/jwt.strategy.ts class JwtStrategy (line 14) | class JwtStrategy extends PassportStrategy(Strategy, SHARE_JWT_STRATEGY) { method constructor (line 15) | constructor( method fromAuthCookieAsToken (line 26) | public static fromAuthCookieAsToken(req: Request): string | null { method validate (line 32) | async validate(payload: IJwtShareInfo) { FILE: apps/nestjs-backend/src/features/space/space.controller.ts class SpaceController (line 55) | class SpaceController { method constructor (line 56) | constructor( method createSpace (line 65) | async createSpace( method updateSpace (line 75) | async updateSpace( method getSpaceById (line 85) | async getSpaceById(@Param('spaceId') spaceId: string): Promise { method deleteSpace (line 98) | async deleteSpace(@Param('spaceId') spaceId: string) { method createInvitationLink (line 105) | async createInvitationLink( method deleteInvitationLink (line 119) | async deleteInvitationLink( method getBaseList (line 132) | async getBaseList(@Param('spaceId') spaceId: string): Promise { method getTableDomainsByIds (line 43) | async getTableDomainsByIds(tableIds: string[]): Promise { method buildLegacyCreateTableResponse (line 134) | private async buildLegacyCreateTableResponse( method getCreatedRecords (line 154) | private async getCreatedRecords( method normalizeLegacyCreateTableRo (line 194) | private async normalizeLegacyCreateTableRo( method normalizeLegacyDbTableName (line 214) | private normalizeLegacyDbTableName(baseId: string, dbTableName?: strin... method populateLegacyLinkLookupFieldIds (line 227) | private async populateLegacyLinkLookupFieldIds( FILE: apps/nestjs-backend/src/features/table/open-api/table-open-api.controller.ts class TableController (line 60) | class TableController { method constructor (line 61) | constructor( method getDefaultViewId (line 72) | async getDefaultViewId(@Param('tableId') tableId: string): Promise<{ i... method getTable (line 78) | async getTable( method getTables (line 87) | async getTables(@Param('baseId') baseId: string): Promise { method updateName (line 93) | async updateName( method updateIcon (line 103) | async updateIcon( method updateDescription (line 113) | async updateDescription( method updateDbTableName (line 127) | async updateDbTableName( method updateOrder (line 141) | async updateOrder( method createTable (line 152) | async createTable( method duplicateTable (line 165) | async duplicateTable( method archiveTable (line 177) | async archiveTable(@Param('baseId') baseId: string, @Param('tableId') ... method permanentDeleteTable (line 188) | async permanentDeleteTable(@Param('baseId') baseId: string, @Param('ta... method getPermission (line 198) | async getPermission(@Param('baseId') baseId: string, @Param('tableId')... method getSnapshotBulk (line 204) | async getSnapshotBulk(@Param('baseId') baseId: string, @Query('ids') i... method getDocIds (line 223) | async getDocIds(@Param('baseId') baseId: string) { method toggleIndex (line 229) | async toggleIndex( method getTableIndex (line 239) | async getTableIndex(@Param('tableId') tableId: string): Promise { method getTables (line 275) | async getTables(baseId: string, includeTableIds?: string[]): Promise { method getActivatedTableIndexes (line 51) | async getActivatedTableIndexes( method toggleIndex (line 92) | async toggleIndex(tableId: string, enableRo: IToggleIndexRo) { method toggleSearchIndex (line 122) | async toggleSearchIndex(dbTableName: string, fields: IFieldInstance[],... method deleteSearchFieldIndex (line 166) | async deleteSearchFieldIndex(tableId: string, field: IFieldInstance) { method createSearchFieldSingleIndex (line 180) | async createSearchFieldSingleIndex(tableId: string, fieldInstance: IFi... method updateSearchFieldIndexName (line 199) | async updateSearchFieldIndexName( method getIndexInfo (line 218) | async getIndexInfo(tableId: string) { method getAbnormalTableIndex (line 229) | async getAbnormalTableIndex(tableId: string, type: TableIndex) { method repairIndex (line 252) | async repairIndex(tableId: string, type: TableIndex) { FILE: apps/nestjs-backend/src/features/table/table-permission.service.ts class TablePermissionService (line 18) | class TablePermissionService { method constructor (line 19) | constructor( method getProjectionTableIds (line 24) | async getProjectionTableIds(_baseId: string): Promise { method getDefaultViewId (line 207) | async getDefaultViewId(tableId: string) { method createTable (line 227) | async createTable( method deleteTable (line 246) | async deleteTable(baseId: string, tableId: string, deletedTime: Date) { method restoreTable (line 276) | async restoreTable(baseId: string, tableId: string) { method updateTable (line 302) | async updateTable( method create (line 379) | async create(baseId: string, snapshot: ITableVo) { method getSnapshotBulk (line 383) | async getSnapshotBulk( method getDocIdsByQuery (line 419) | async getDocIdsByQuery(baseId: string, query: { projectionTableIds?: s... FILE: apps/nestjs-backend/src/features/template/template-open-api.controller.ts class TemplateOpenApiController (line 25) | class TemplateOpenApiController { method constructor (line 26) | constructor( method getTemplateList (line 33) | async getTemplateList( method getPublishedTemplateList (line 41) | async getPublishedTemplateList( method createTemplate (line 49) | async createTemplate( method deleteTemplate (line 57) | async deleteTemplate(@Param('templateId') templateId: string) { method updateTemplate (line 63) | async updateTemplate( method updateTemplateOrder (line 72) | async updateTemplateOrder(@Param('templateId') templateId: string) { method updateOrder (line 78) | async updateOrder( method createTemplateSnapshot (line 87) | async createTemplateSnapshot(@Param('templateId') templateId: string) { method createTemplateCategory (line 93) | async createTemplateCategory(@Body() createTemplateCategoryRo: ICreate... method getTemplateCategoryList (line 98) | async getTemplateCategoryList() { method deleteTemplateCategory (line 104) | async deleteTemplateCategory(@Param('templateCategoryId') templateCate... method updateTemplateCategory (line 110) | async updateTemplateCategory( method updateTemplateCategoryOrder (line 123) | async updateTemplateCategoryOrder( method getTemplateByBaseId (line 134) | async getTemplateByBaseId(@Param('baseId') baseId: string) { method unpublishTemplate (line 139) | async unpublishTemplate(@Param('templateId') templateId: string) { method getTemplateById (line 145) | async getTemplateById(@Param('templateId') templateId: string) { method incrementTemplateVisitCount (line 151) | async incrementTemplateVisitCount(@Param('templateId') templateId: str... method getTemplatePermalink (line 157) | async getTemplatePermalink(@Param('identifier') identifier: string) { FILE: apps/nestjs-backend/src/features/template/template-open-api.module.ts class TemplateOpenApiModule (line 14) | class TemplateOpenApiModule {} FILE: apps/nestjs-backend/src/features/template/template-open-api.service.ts class TemplateOpenApiService (line 33) | class TemplateOpenApiService { method constructor (line 36) | constructor( method createTemplate (line 45) | async createTemplate(createTemplateRo: ICreateTemplateRo) { method getAllTemplateList (line 66) | async getAllTemplateList(query?: ITemplateListQueryRo) { method getPublishedTemplateList (line 100) | async getPublishedTemplateList(templateQuery?: ITemplateQueryRoSchema) { method validateTakeCount (line 130) | private validateTakeCount(take: number) { method transformTemplateListResult (line 140) | private async transformTemplateListResult< method deleteTemplate (line 176) | async deleteTemplate(templateId: string) { method updateTemplate (line 194) | async updateTemplate(templateId: string, updateTemplateRo: IUpdateTemp... method createTemplateSnapshot (line 235) | async createTemplateSnapshot(templateId: string) { method createTemplateCategory (line 318) | async createTemplateCategory(createTemplateCategoryRo: ICreateTemplate... method getTemplateCategoryList (line 365) | async getTemplateCategoryList() { method pinTopTemplate (line 375) | async pinTopTemplate(templateId: string) { method deleteTemplateCategory (line 404) | async deleteTemplateCategory(categoryId: string) { method updateTemplateCategory (line 411) | async updateTemplateCategory( method shuffleCategories (line 422) | async shuffleCategories() { method updateTemplateCategoryOrder (line 441) | async updateTemplateCategoryOrder(categoryId: string, orderRo: IUpdate... method getTemplateDetailById (line 520) | async getTemplateDetailById(templateId: string) { method getTemplateByBaseId (line 552) | async getTemplateByBaseId(baseId: string) { method incrementTemplateVisitCount (line 604) | async incrementTemplateVisitCount(templateId: string) { method getSpecifiedUserInfoByUserId (line 611) | private async getSpecifiedUserInfoByUserId(userIds: string[]) { method shuffle (line 640) | async shuffle(_query: unknown) { method updateOrder (line 659) | async updateOrder(templateId: string, orderRo: IUpdateOrderRo) { FILE: apps/nestjs-backend/src/features/template/template-permalink.service.ts class TemplatePermalinkService (line 10) | class TemplatePermalinkService { method constructor (line 13) | constructor( method resolvePermalink (line 22) | async resolvePermalink(identifier: string): Promise { method prepareRestoreTableCanary (line 72) | protected async prepareRestoreTableCanary(trashId: string, response: R... FILE: apps/nestjs-backend/src/features/trash/trash.module.ts class TrashModule (line 36) | class TrashModule {} FILE: apps/nestjs-backend/src/features/trash/trash.service.ts class TrashService (line 44) | class TrashService { method constructor (line 45) | constructor( method getAuthorizedSpacesAndBases (line 66) | async getAuthorizedSpacesAndBases() { method getTrash (line 114) | async getTrash(trashRo: ITrashRo) { method getSpaceTrash (line 135) | private async getSpaceTrash() { method getBaseTrash (line 175) | private async getBaseTrash(spaceId?: string) { method getTrashItems (line 236) | async getTrashItems(trashItemsRo: ITrashItemsRo): Promise { method getV2TableDomain (line 257) | private async getV2TableDomain(tableId: string): Promise { method getRecordTrashResourceMap (line 277) | private async getRecordTrashResourceMap( method getCachedV2Table (line 298) | private async getCachedV2Table( method resolveRecordTrashName (line 310) | private async resolveRecordTrashName( method getResourceMapByIds (line 342) | async getResourceMapByIds( method getTableTrashItems (line 407) | async getTableTrashItems(trashItemsRo: ITrashItemsRo): Promise { method restoreSpace (line 557) | private async restoreSpace(spaceId: string) { method restoreBase (line 567) | private async restoreBase(baseId: string) { method assertParentNotTrashed (line 602) | private async assertParentNotTrashed(parentId: string | null) { method restoreTable (line 641) | private async restoreTable(tableId: string) { method getRestoreTableV2Decision (line 662) | async getRestoreTableV2Decision( method restoreTrashV2 (line 704) | async restoreTrashV2(trashId: string) { method restoreTableV2 (line 718) | private async restoreTableV2(baseId: string, tableId: string) { method restoreResource (line 725) | async restoreResource(trash: { resourceType: TrashType; resourceId: st... method restoreTableResource (line 747) | async restoreTableResource(trashId: string) { method restoreTrash (line 852) | async restoreTrash(trashId: string) { method resetBaseTrashResource (line 892) | protected async resetBaseTrashResource(resetTrashItemsRo: IResetTrashI... method resetTrashItems (line 916) | async resetTrashItems(resetTrashItemsRo: IResetTrashItemsRo) { method resetTableTrashItems (line 940) | private async resetTableTrashItems(tableId: string) { method delete (line 1009) | async delete(trashId: string, ignorePermissionCheck = false): Promise<... method deleteResource (line 1031) | async deleteResource( FILE: apps/nestjs-backend/src/features/trash/v2-table-trash.service.ts class V2RecordsDeletedTableTrashProjection (line 29) | class V2RecordsDeletedTableTrashProjection implements IEventHandler { method constructor (line 106) | constructor(private readonly prisma: PrismaService) {} method handle (line 108) | async handle( class V2TableRestoredProjection (line 143) | class V2TableRestoredProjection implements IEventHandler { method constructor (line 144) | constructor(private readonly prisma: PrismaService) {} method handle (line 146) | async handle( class V2TableTrashService (line 162) | class V2TableTrashService implements IV2ProjectionRegistrar, OnModuleInit { method constructor (line 165) | constructor( method onModuleInit (line 172) | onModuleInit(): void { method registerProjections (line 176) | registerProjections(container: DependencyContainer): void { FILE: apps/nestjs-backend/src/features/trash/v2-trash-record-name.ts type IV2TrashRecordSnapshotLike (line 12) | interface IV2TrashRecordSnapshotLike { FILE: apps/nestjs-backend/src/features/undo-redo/open-api/undo-redo.controller.ts class UndoRedoController (line 8) | class UndoRedoController { method constructor (line 9) | constructor(private readonly undoRedoService: UndoRedoService) {} method undo (line 13) | async undo( method redo (line 25) | async redo( FILE: apps/nestjs-backend/src/features/undo-redo/open-api/undo-redo.module.ts class UndoRedoModule (line 12) | class UndoRedoModule {} FILE: apps/nestjs-backend/src/features/undo-redo/open-api/undo-redo.service.ts constant X_TEABLE_UNDO_REDO_ENGINE_HEADER (line 11) | const X_TEABLE_UNDO_REDO_ENGINE_HEADER = 'x-teable-undo-redo-engine'; type UndoRedoEngine (line 13) | type UndoRedoEngine = 'v1' | 'v2'; type UndoRedoResponse (line 15) | type UndoRedoResponse = { class UndoRedoService (line 21) | class UndoRedoService { method constructor (line 23) | constructor( method undo (line 30) | async undo(tableId: string, windowId: string): Promise { method redo (line 143) | async redo(operation: IUndoRedoOperation): Promise { method onCreateRecords (line 175) | private async onCreateRecords(payload: IEventRawContext) { method onDeleteRecords (line 186) | private async onDeleteRecords(payload: IDeleteRecordsPayload) { method onUpdateRecords (line 197) | private async onUpdateRecords(payload: IUpdateRecordsPayload) { method onUpdateRecordsOrder (line 208) | private async onUpdateRecordsOrder(payload: IUpdateRecordsOrderPayload) { method onCreateFields (line 219) | private async onCreateFields(payload: ICreateFieldsPayload) { method onDeleteFields (line 230) | private async onDeleteFields(payload: IDeleteFieldsPayload) { method onPasteSelection (line 241) | private async onPasteSelection(payload: IPasteSelectionPayload) { method onConvertField (line 252) | private async onConvertField(payload: IConvertFieldPayload) { method onDeleteView (line 263) | private async onDeleteView(payload: IDeleteViewPayload) { method onCreateView (line 273) | private async onCreateView(payload: IEventRawContext) { method onUpdateView (line 284) | private async onUpdateView(payload: IUpdateViewPayload) { FILE: apps/nestjs-backend/src/features/undo-redo/stack/undo-redo-stack.module.ts class UndoRedoStackModule (line 23) | class UndoRedoStackModule {} FILE: apps/nestjs-backend/src/features/undo-redo/stack/undo-redo-stack.service.ts class UndoRedoStackService (line 11) | class UndoRedoStackService { method constructor (line 12) | constructor( method getUndoStack (line 19) | private async getUndoStack(userId: string, tableId: string, windowId: ... method getRedoStack (line 23) | private async getRedoStack(userId: string, tableId: string, windowId: ... method setUndoStack (line 27) | private async setUndoStack( method setRedoStack (line 40) | private async setRedoStack( method push (line 53) | async push( method mergeLastOperation (line 75) | async mergeLastOperation( method popUndo (line 97) | async popUndo(tableId: string, windowId: string) { method popRedo (line 117) | async popRedo(tableId: string, windowId: string) { FILE: apps/nestjs-backend/src/features/user/delete-user/delete-user.module.ts class DeleteUserModule (line 11) | class DeleteUserModule {} FILE: apps/nestjs-backend/src/features/user/delete-user/delete-user.service.ts class DeleteUserService (line 16) | class DeleteUserService { method constructor (line 17) | constructor( method updateUserAvatarToDeleted (line 24) | private async updateUserAvatarToDeleted(userId: string) { method permanentlyDeleteUser (line 48) | private async permanentlyDeleteUser(userId: string) { method clearUserData (line 62) | private async clearUserData(userId: string) { method validateDeleteUser (line 158) | private async validateDeleteUser(userId: string) { method deleteUserById (line 207) | async deleteUserById(userId: string) { method deleteUser (line 215) | async deleteUser() { FILE: apps/nestjs-backend/src/features/user/last-visit/last-visit.controller.ts class LastVisitController (line 22) | class LastVisitController { method constructor (line 23) | constructor( method getUserLastVisit (line 29) | async getUserLastVisit( method updateUserLastVisit (line 37) | async updateUserLastVisit( method getUserLastVisitMap (line 46) | async getUserLastVisitMap( method getUserLastVisitListBase (line 54) | async getUserLastVisitListBase(): Promise { method getUserLastVisitBaseNode (line 59) | async getUserLastVisitBaseNode( FILE: apps/nestjs-backend/src/features/user/last-visit/last-visit.module.ts class LastVisitModule (line 10) | class LastVisitModule {} FILE: apps/nestjs-backend/src/features/user/last-visit/last-visit.service.ts class LastVisitService (line 37) | class LastVisitService { method constructor (line 38) | constructor( method getUserLastVisitBaseNode (line 45) | async getUserLastVisitBaseNode( method spaceVisit (line 82) | async spaceVisit(userId: string, parentResourceId: string) { method tableVisit (line 109) | async tableVisit(userId: string, baseId: string): Promise { method getUserLastVisit (line 491) | async getUserLastVisit( method updateUserLastVisit (line 517) | async updateUserLastVisit(userId: string, updateData: IUpdateUserLastV... method updateUserLastVisitRecord (line 555) | async updateUserLastVisitRecord({ method getUserLastVisitMap (line 619) | async getUserLastVisitMap( method resourceDeleteListener (line 698) | protected async resourceDeleteListener( FILE: apps/nestjs-backend/src/features/user/user.controller.ts class UserController (line 24) | class UserController { method constructor (line 25) | constructor( method updateName (line 31) | async updateName( method updateAvatar (line 65) | async updateAvatar(@UploadedFile() file: Express.Multer.File): Promise... method updateNotifyMeta (line 71) | async updateNotifyMeta( method updateLang (line 80) | async updateLang( FILE: apps/nestjs-backend/src/features/user/user.module.ts class UserModule (line 23) | class UserModule {} FILE: apps/nestjs-backend/src/features/user/user.service.ts class UserService (line 33) | class UserService { method constructor (line 34) | constructor( method getUserById (line 45) | async getUserById(id: string) { method getUserByEmail (line 57) | async getUserByEmail(email: string) { method createSpaceBySignup (line 64) | async createSpaceBySignup(createSpaceRo: ICreateSpaceRo) { method createUserWithSettingCheck (line 92) | async createUserWithSettingCheck( method checkWaitlistInviteCode (line 118) | async checkWaitlistInviteCode(inviteCode?: string) { method createUser (line 149) | async createUser( method updateUserName (line 204) | async updateUserName(id: string, name: string) { method updateAvatar (line 224) | async updateAvatar(id: string, avatarFile: { path: string; mimetype: s... method cropAvatarImage (line 257) | private async cropAvatarImage(filePath: string): Promise { method mountAttachment (line 294) | private async mountAttachment( method updateNotifyMeta (line 311) | async updateNotifyMeta(id: string, notifyMetaRo: IUserNotifyMeta) { method updateLang (line 320) | async updateLang(id: string, lang: string) { method generateDefaultAvatar (line 329) | private async generateDefaultAvatar(id: string) { method uploadAvatarByUrl (line 361) | private async uploadAvatarByUrl(userId: string, url: string) { method cropAvatarBuffer (line 410) | private async cropAvatarBuffer(imageBuffer: Buffer): Promise { method findOrCreateUser (line 434) | async findOrCreateUser( method refreshLastSignTime (line 498) | async refreshLastSignTime(userId: string) { method getUserInfoList (line 506) | async getUserInfoList(userIds: string[]) { method createSystemUser (line 527) | async createSystemUser({ FILE: apps/nestjs-backend/src/features/v2/v2-action-trigger.service.spec.ts type IPresencePayload (line 18) | type IPresencePayload = Array<{ actionKey: string; payload?: Record( FILE: apps/nestjs-backend/src/features/v2/v2-container.service.ts class V2ContainerService (line 26) | class V2ContainerService implements OnModuleDestroy { method constructor (line 30) | constructor( method addProjectionRegistrar (line 43) | addProjectionRegistrar(registrar: IV2ProjectionRegistrar): void { method getContainer (line 47) | async getContainer(): Promise { method onModuleDestroy (line 90) | async onModuleDestroy(): Promise { FILE: apps/nestjs-backend/src/features/v2/v2-create-table-compat.constants.ts constant V2_CREATE_TABLE_LEGACY_EVENTS_CONTEXT_KEY (line 4) | const V2_CREATE_TABLE_LEGACY_EVENTS_CONTEXT_KEY = type IV2CreateTableLegacyEventsClsStore (line 7) | type IV2CreateTableLegacyEventsClsStore = IClsStore & { FILE: apps/nestjs-backend/src/features/v2/v2-execution-context.factory.ts class V2ExecutionContextFactory (line 42) | class V2ExecutionContextFactory { method constructor (line 43) | constructor( method createContext (line 53) | async createContext(): Promise { FILE: apps/nestjs-backend/src/features/v2/v2-field-delete-compat.constants.ts constant V2_FIELD_DELETE_COMPAT_CONTEXT_KEY (line 4) | const V2_FIELD_DELETE_COMPAT_CONTEXT_KEY = '__teable_v2_field_delete_com... type IV2FieldDeleteCompatContext (line 6) | interface IV2FieldDeleteCompatContext { FILE: apps/nestjs-backend/src/features/v2/v2-field-delete-compat.service.ts class V2FieldDeletedCompatProjection (line 35) | @ProjectionHandler(FieldDeleted) method constructor (line 37) | constructor( method handle (line 42) | async handle( class V2FieldDeleteCompatService (line 88) | class V2FieldDeleteCompatService implements IV2ProjectionRegistrar, OnMo... method constructor (line 91) | constructor( method onModuleInit (line 97) | onModuleInit(): void { method registerProjections (line 101) | registerProjections(container: DependencyContainer): void { FILE: apps/nestjs-backend/src/features/v2/v2-logger.adapter.ts class PinoLoggerAdapter (line 4) | class PinoLoggerAdapter implements ILogger { method constructor (line 5) | constructor(private readonly logger: PinoLogger) {} method debug (line 7) | debug(message: string, context?: LogContext): void { method info (line 15) | info(message: string, context?: LogContext): void { method warn (line 23) | warn(message: string, context?: LogContext): void { method error (line 31) | error(message: string, context?: LogContext): void { method child (line 39) | child(context: LogContext): ILogger { method scope (line 44) | scope(scope: string, context?: LogContext): ILogger { FILE: apps/nestjs-backend/src/features/v2/v2-openapi.controller.ts constant V2_BASE_PATH (line 10) | const V2_BASE_PATH = 'api/v2'; constant OPENAPI_SPEC_PATH (line 11) | const OPENAPI_SPEC_PATH = `/${V2_BASE_PATH}/openapi.json`; constant SCALAR_CDN_ORIGIN (line 12) | const SCALAR_CDN_ORIGIN = 'https://cdn.jsdelivr.net'; class V2OpenApiController (line 61) | class V2OpenApiController { method constructor (line 62) | constructor(private readonly configService: ConfigService) {} method openapi (line 66) | async openapi(@Req() req: Request) { method docs (line 79) | docs(@Res({ passthrough: true }) res: Response) { FILE: apps/nestjs-backend/src/features/v2/v2-projection-registrar.ts type IV2ProjectionRegistrar (line 8) | interface IV2ProjectionRegistrar { FILE: apps/nestjs-backend/src/features/v2/v2-query-bus-tracing.middleware.ts class QueryBusTracingMiddleware (line 13) | class QueryBusTracingMiddleware implements IQueryBusMiddleware { method handle (line 14) | async handle( FILE: apps/nestjs-backend/src/features/v2/v2-record-history.service.ts constant SELECT_FIELD_TYPE_SET (line 41) | const SELECT_FIELD_TYPE_SET = new Set([CoreFieldType.SingleSelect, CoreF... type IRecordHistoryEntry (line 43) | interface IRecordHistoryEntry { type IFieldHistoryMeta (line 53) | interface IFieldHistoryMeta { class FieldOptionsVisitor (line 65) | class FieldOptionsVisitor implements IFieldVisitor | null, Dom... method visitLongTextField (line 69) | visitLongTextField(): Result | null, DomainErr... method visitNumberField (line 72) | visitNumberField(): Result | null, DomainError> { method visitRatingField (line 75) | visitRatingField(): Result | null, DomainError> { method visitFormulaField (line 78) | visitFormulaField(): Result | null, DomainErro... method visitRollupField (line 81) | visitRollupField(): Result | null, DomainError> { method visitSingleSelectField (line 84) | visitSingleSelectField( method visitMultipleSelectField (line 94) | visitMultipleSelectField( method visitCheckboxField (line 104) | visitCheckboxField(): Result | null, DomainErr... method visitAttachmentField (line 107) | visitAttachmentField(): Result | null, DomainE... method visitDateField (line 110) | visitDateField(): Result | null, DomainError> { method visitCreatedTimeField (line 113) | visitCreatedTimeField(): Result | null, Domain... method visitLastModifiedTimeField (line 116) | visitLastModifiedTimeField(): Result | null, D... method visitUserField (line 119) | visitUserField(): Result | null, DomainError> { method visitCreatedByField (line 122) | visitCreatedByField(): Result | null, DomainEr... method visitLastModifiedByField (line 125) | visitLastModifiedByField(): Result | null, Dom... method visitAutoNumberField (line 128) | visitAutoNumberField(): Result | null, DomainE... method visitButtonField (line 131) | visitButtonField(): Result | null, DomainError> { method visitLinkField (line 134) | visitLinkField(): Result | null, DomainError> { method visitLookupField (line 137) | visitLookupField(): Result | null, DomainError> { method visitConditionalRollupField (line 140) | visitConditionalRollupField(): Result | null, ... method visitConditionalLookupField (line 143) | visitConditionalLookupField(): Result | null, ... class V2RecordUpdatedHistoryProjection (line 218) | @ProjectionHandler(RecordUpdated) method constructor (line 220) | constructor( method handle (line 229) | async handle( class V2RecordsBatchUpdatedHistoryProjection (line 314) | @ProjectionHandler(RecordsBatchUpdated) method constructor (line 316) | constructor( method handle (line 325) | async handle( class V2RecordHistoryService (line 430) | class V2RecordHistoryService implements IV2ProjectionRegistrar, OnModule... method constructor (line 433) | constructor( method onModuleInit (line 445) | onModuleInit(): void { method registerProjections (line 452) | registerProjections(container: DependencyContainer): void { FILE: apps/nestjs-backend/src/features/v2/v2-tracer.adapter.ts class OpenTelemetrySpan (line 5) | class OpenTelemetrySpan implements ISpan { method constructor (line 6) | constructor(public readonly span: ApiSpan) {} method setAttribute (line 8) | setAttribute(key: string, value: SpanAttributeValue): void { method setAttributes (line 12) | setAttributes(attributes: SpanAttributes): void { method recordError (line 16) | recordError(message: string): void { method end (line 21) | end(): void { class OpenTelemetryTracer (line 26) | class OpenTelemetryTracer implements ITracer { method constructor (line 27) | constructor(private readonly name = 'v2-core') {} method startSpan (line 29) | startSpan(name: string, attributes?: SpanAttributes): ISpan { method withSpan (line 35) | async withSpan(span: ISpan, callback: () => Promise): Promise { method getActiveSpan (line 42) | getActiveSpan(): ISpan | undefined { FILE: apps/nestjs-backend/src/features/v2/v2-undo-redo.constants.ts constant V2_FIELD_CONVERT_UNDO_CONTEXT_KEY (line 3) | const V2_FIELD_CONVERT_UNDO_CONTEXT_KEY = '__teable_v2_field_convert_und... type IV2FieldConvertUndoContext (line 5) | interface IV2FieldConvertUndoContext { FILE: apps/nestjs-backend/src/features/v2/v2-user-rename-propagation.service.ts type IUserRenamePropagationRequest (line 7) | type IUserRenamePropagationRequest = { class V2UserRenamePropagationService (line 20) | class V2UserRenamePropagationService { method constructor (line 23) | constructor(private readonly v2ContainerService: V2ContainerService) {} method propagateUserRename (line 25) | async propagateUserRename(input: IUserRenamePropagationRequest): Promi... FILE: apps/nestjs-backend/src/features/v2/v2.controller.ts class V2Controller (line 18) | class V2Controller { method constructor (line 19) | constructor( method tables (line 25) | tables() { FILE: apps/nestjs-backend/src/features/v2/v2.module.ts class V2Module (line 108) | class V2Module {} FILE: apps/nestjs-backend/src/features/view/constant.ts constant ROW_ORDER_FIELD_PREFIX (line 4) | const ROW_ORDER_FIELD_PREFIX = '__row'; FILE: apps/nestjs-backend/src/features/view/model/calendar-view.dto.ts class CalendarViewDto (line 4) | class CalendarViewDto extends CalendarViewCore { FILE: apps/nestjs-backend/src/features/view/model/factory.ts function createViewInstanceByRaw (line 12) | function createViewInstanceByRaw(viewRaw: View) { function createViewVoByRaw (line 33) | function createViewVoByRaw(viewRaw: View): IViewVo { type IViewInstance (line 55) | type IViewInstance = ReturnType; FILE: apps/nestjs-backend/src/features/view/model/form-view.dto.ts class FormViewDto (line 4) | class FormViewDto extends FormViewCore { FILE: apps/nestjs-backend/src/features/view/model/gallery-view.dto.ts class GalleryViewDto (line 4) | class GalleryViewDto extends GalleryViewCore { FILE: apps/nestjs-backend/src/features/view/model/grid-view.dto.ts class GridViewDto (line 4) | class GridViewDto extends GridViewCore { FILE: apps/nestjs-backend/src/features/view/model/kanban-view.dto.ts class KanbanViewDto (line 4) | class KanbanViewDto extends KanbanViewCore { FILE: apps/nestjs-backend/src/features/view/model/plugin-view.dto.ts class PluginViewDto (line 4) | class PluginViewDto extends PluginViewCore { FILE: apps/nestjs-backend/src/features/view/open-api/view-open-api-v2.service.ts class ViewOpenApiV2Service (line 14) | class ViewOpenApiV2Service { method constructor (line 15) | constructor( method throwV2Error (line 20) | private throwV2Error( method updateRecordOrders (line 36) | async updateRecordOrders( FILE: apps/nestjs-backend/src/features/view/open-api/view-open-api.controller.ts class ViewOpenApiController (line 74) | class ViewOpenApiController { method constructor (line 75) | constructor( method getView (line 85) | async getView( method getViews (line 94) | async getViews(@Param('tableId') tableId: string): Promise { method createView (line 101) | async createView( method deleteView (line 110) | async deleteView( method updateName (line 120) | async updateName( method updateDescription (line 137) | async updateDescription( method updateLocked (line 154) | async updateLocked( method updateShareMeta (line 171) | async updateShareMeta( method manualSort (line 181) | async manualSort( method updateColumnMeta (line 191) | async updateColumnMeta( method updateViewFilter (line 207) | async updateViewFilter( method updateViewSort (line 224) | async updateViewSort( method updateViewGroup (line 241) | async updateViewGroup( method updateViewOptions (line 258) | async updateViewOptions( method updateViewOrder (line 274) | async updateViewOrder( method updateRecordOrders (line 288) | async updateRecordOrders( method refreshShareId (line 311) | async refreshShareId( method enableShare (line 320) | async enableShare( method disableShare (line 329) | async disableShare( method getFilterLinkRecords (line 338) | async getFilterLinkRecords( method getSnapshotBulk (line 347) | async getSnapshotBulk(@Param('tableId') tableId: string, @Query('ids')... method getDocIds (line 353) | async getDocIds(@Param('tableId') tableId: string) { method pluginInstall (line 359) | async pluginInstall( method getPluginInstall (line 368) | getPluginInstall( method pluginUpdateStorage (line 377) | async pluginUpdateStorage( method duplicateView (line 387) | async duplicateView(@Param('tableId') tableId: string, @Param('viewId'... FILE: apps/nestjs-backend/src/features/view/open-api/view-open-api.module.ts class ViewOpenApiModule (line 29) | class ViewOpenApiModule {} FILE: apps/nestjs-backend/src/features/view/open-api/view-open-api.service.ts class ViewOpenApiService (line 66) | class ViewOpenApiService { method constructor (line 69) | constructor( method createView (line 82) | async createView(tableId: string, viewRo: IViewRo) { method deleteView (line 98) | async deleteView(tableId: string, viewId: string, windowId?: string) { method createViewInner (line 115) | private async createViewInner(tableId: string, viewRo: IViewRo): Promi... method deleteViewInner (line 119) | private async deleteViewInner(tableId: string, viewId: string) { method updateRecordOrderSql (line 123) | private updateRecordOrderSql(orderRawSql: string, dbTableName: string,... method manualSort (line 143) | async manualSort(tableId: string, viewId: string, viewOrderRo: IManual... method updateViewColumnMeta (line 182) | async updateViewColumnMeta( method updateShareMeta (line 283) | async updateShareMeta(tableId: string, viewId: string, viewShareMetaRo... method validateFilter (line 287) | async validateFilter(tableId: string, filter: IFilter) { method validateSort (line 328) | async validateSort(tableId: string, sort: ISort) { method validateGroup (line 349) | async validateGroup(tableId: string, group: IGroup) { method setViewProperty (line 370) | async setViewProperty( method updateViewByOps (line 433) | async updateViewByOps(tableId: string, viewId: string, ops: IOtOperati... method patchViewOptions (line 439) | async patchViewOptions( method shuffle (line 503) | async shuffle(tableId: string) { method updateViewOrder (line 528) | async updateViewOrder( method shuffleRecords (line 615) | async shuffleRecords(dbTableName: string, indexField: string) { method updateRecordOrdersInner (line 639) | async updateRecordOrdersInner(props: { method updateRecordIndexes (line 713) | async updateRecordIndexes( method updateRecordOrders (line 732) | async updateRecordOrders( method refreshShareId (line 789) | async refreshShareId(tableId: string, viewId: string) { method enableShare (line 827) | async enableShare(tableId: string, viewId: string) { method disableShare (line 880) | async disableShare(tableId: string, viewId: string) { method collectFilterLinkFieldRecords (line 921) | private collectFilterLinkFieldRecords(linkFields: Record { method getViews (line 311) | async getViews(tableId: string, ids?: string[]): Promise { method createView (line 324) | async createView(tableId: string, viewRo: IViewRo): Promise { method deleteView (line 334) | async deleteView(tableId: string, viewId: string) { method updateViewSort (line 379) | async updateViewSort(tableId: string, viewId: string, sort: ISort) { method updateViewByOps (line 431) | async updateViewByOps(tableId: string, viewId: string, ops: IOtOperati... method batchUpdateViewByOps (line 435) | async batchUpdateViewByOps(tableId: string, opsMap: { [viewId: string]... method create (line 531) | async create(tableId: string, view: IViewVo) { method del (line 535) | async del(_version: number, _tableId: string, viewId: string) { method getColumnsMetaMap (line 545) | async getColumnsMetaMap(tableId: string, fieldIds: string[]): Promise<... method getUpdateViewContext (line 564) | getUpdateViewContext(ops: IOtOperation[]) { method getBatchUpdateViewContext (line 601) | getBatchUpdateViewContext(opsMap: { [viewId: string]: IOtOperation[] }) { method mergeUpdatedViewColumnMeta (line 631) | mergeUpdatedViewColumnMeta( method mergeUpdatedViewColumnMetaByOpContexts (line 653) | mergeUpdatedViewColumnMetaByOpContexts(opContexts: IUpdateViewColumnMe... method mergeSetViewPropertyByOpContexts (line 672) | mergeSetViewPropertyByOpContexts(opContexts: ISetViewPropertyOpContext... method batchUpdateDB (line 699) | async batchUpdateDB( method getSnapshotBulk (line 742) | async getSnapshotBulk(tableId: string, ids: string[]): Promise, fieldId: s... method getDeleteGroupByFieldIdOps (line 953) | private getDeleteGroupByFieldIdOps(group: NonNullable, fieldId... method getDeleteColumnMetaByFieldIdOps (line 961) | private getDeleteColumnMetaByFieldIdOps(columnMeta: NonNullable) {} method use (line 14) | use(req: Request, res: Response, next: NextFunction) { FILE: apps/nestjs-backend/src/observability/observability.module.ts class ObservabilityModule (line 6) | class ObservabilityModule {} FILE: apps/nestjs-backend/src/observability/profiling/profiler.module.ts class ProfilerModule (line 9) | class ProfilerModule {} FILE: apps/nestjs-backend/src/observability/profiling/profiler.service.ts class ProfilerService (line 24) | class ProfilerService implements OnModuleInit, OnModuleDestroy { method constructor (line 41) | constructor( method onModuleInit (line 56) | async onModuleInit() { method onModuleDestroy (line 74) | async onModuleDestroy() { method startSession (line 86) | private startSession(): boolean { method stopSession (line 108) | private async stopSession(): Promise { method generateProfileFilename (line 128) | private generateProfileFilename() { method saveProfile (line 137) | private async saveProfile(profile: inspector.Profiler.Profile): Promis... method startPeriodicSave (line 161) | private startPeriodicSave() { method saveAndRestart (line 184) | private async saveAndRestart(): Promise { method uploadToStorage (line 237) | private async uploadToStorage(filename: string, buffer: Buffer): Promi... method waitForSaveCompletion (line 293) | private async waitForSaveCompletion(maxWaitMs = 5000): Promise { method cleanup (line 313) | private async cleanup(): Promise { method manualSave (line 362) | async manualSave() { FILE: apps/nestjs-backend/src/performance-cache/cache-metrics/metrics.module.ts class CacheMetricsModule (line 8) | class CacheMetricsModule {} FILE: apps/nestjs-backend/src/performance-cache/cache-metrics/metrics.service.ts class CacheMetricsService (line 5) | class CacheMetricsService { method recordHit (line 26) | recordHit(cacheType: string, attributes?: Record): void { method recordMiss (line 33) | recordMiss(cacheType: string, attributes?: Record): vo... method recordGetTime (line 40) | recordGetTime(cacheType: string, durationMs: number, attributes?: Reco... method recordHitRate (line 47) | recordHitRate(cacheType: string, hitRate: number, attributes?: Record<... FILE: apps/nestjs-backend/src/performance-cache/decorator.ts constant DEFAULT_OPTIONS (line 10) | const DEFAULT_OPTIONS: Partial = { function PerformanceCache (line 52) | function PerformanceCache(options: ICacheDecoratorOptions = {}) { function generateCacheKey (line 96) | function generateCacheKey( function getInjectedService (line 114) | function getInjectedService( FILE: apps/nestjs-backend/src/performance-cache/generate-keys.ts function generateRecordCacheKey (line 3) | function generateRecordCacheKey( function generateAggCacheKey (line 12) | function generateAggCacheKey( function generateServiceCacheKey (line 21) | function generateServiceCacheKey(className: string, methodName: string, ... function generateUserCacheKey (line 25) | function generateUserCacheKey(userId: string) { function generateCollaboratorCacheKey (line 29) | function generateCollaboratorCacheKey(resourceId: string) { function generateAccessTokenCacheKey (line 33) | function generateAccessTokenCacheKey(id: string) { function generateSettingCacheKey (line 37) | function generateSettingCacheKey() { function generateIntegrationCacheKey (line 41) | function generateIntegrationCacheKey(spaceId: string) { function generateBaseNodeListCacheKey (line 45) | function generateBaseNodeListCacheKey(baseId: string) { function generateTemplateCacheKeyByBaseId (line 49) | function generateTemplateCacheKeyByBaseId(baseId: string) { function generateTemplateCategoryCacheKey (line 53) | function generateTemplateCategoryCacheKey() { function generateTemplatePermalinkCacheKey (line 57) | function generateTemplatePermalinkCacheKey(identifier: string) { function generateInstanceBillableUserCountCacheKey (line 61) | function generateInstanceBillableUserCountCacheKey() { function generateBaseShareListCacheKey (line 65) | function generateBaseShareListCacheKey(baseId: string) { FILE: apps/nestjs-backend/src/performance-cache/module.ts class PerformanceCacheModule (line 11) | class PerformanceCacheModule {} FILE: apps/nestjs-backend/src/performance-cache/performance-cache.decorator.spec.ts class TestService (line 11) | @Injectable() method constructor (line 15) | constructor(private readonly performanceCacheService: PerformanceCache... method basicMethod (line 19) | async basicMethod(value: string): Promise { method customKeyMethod (line 30) | async customKeyMethod(userId: number, type: string): Promise { method conditionalMethod (line 40) | async conditionalMethod(value: string, _enableCache: boolean): Promise... method methodWithCacheKey (line 46) | async methodWithCacheKey(data: string): Promise { method noConcurrentPrevention (line 56) | async noConcurrentPrevention(value: string): Promise { method longOperation (line 67) | async longOperation(id: string): Promise { method normalOperation (line 79) | async normalOperation(value: string): Promise { method errorMethod (line 86) | async errorMethod(): Promise { method getCacheStats (line 92) | getCacheStats() { method resetCacheStats (line 97) | resetCacheStats() { method clearCache (line 102) | async clearCache() { FILE: apps/nestjs-backend/src/performance-cache/service.ts class PerformanceCacheService (line 13) | class PerformanceCacheService(key: TKey, options: ICacheOptions = {}) { method set (line 154) | async set( method del (line 184) | async del(key: TKey): Promise { method mget (line 201) | async mget( method mset (line 233) | async mset( method _clear (line 262) | async _clear() { method getStats (line 280) | getStats(): ICacheStats { method resetStats (line 287) | resetStats(): void { method getTypeStats (line 297) | getTypeStats() { method resetTypeStats (line 301) | resetTypeStats(): void { method wrap (line 309) | async wrap( method executeAndCache (line 380) | private async executeAndCache( FILE: apps/nestjs-backend/src/performance-cache/types.ts type IPerformanceCacheStore (line 8) | interface IPerformanceCacheStore { type ICacheOptions (line 55) | interface ICacheOptions { type ICacheDecoratorOptions (line 71) | interface ICacheDecoratorOptions extends ICacheOptions { type ICacheStats (line 85) | interface ICacheStats { FILE: apps/nestjs-backend/src/share-db/interface.ts type IReadonlyAdapterService (line 4) | interface IReadonlyAdapterService { type IShareDbReadonlyAdapterService (line 18) | interface IShareDbReadonlyAdapterService extends IReadonlyAdapterService { type IAdapterService (line 31) | interface IAdapterService { type IShareDbConfig (line 44) | interface IShareDbConfig { type RawOpType (line 48) | enum RawOpType { type IEditOp (line 54) | type IEditOp = Omit; type IDeleteOp (line 55) | type IDeleteOp = Omit; type ICreateOp (line 56) | type ICreateOp = Omit; type IRawOp (line 58) | type IRawOp = ICreateOp | IDeleteOp | IEditOp; type IRawOpMap (line 60) | interface IRawOpMap { FILE: apps/nestjs-backend/src/share-db/metrics/realtime-metrics.module.ts class RealtimeMetricsModule (line 8) | class RealtimeMetricsModule {} FILE: apps/nestjs-backend/src/share-db/metrics/realtime-metrics.service.ts class RealtimeMetricsService (line 5) | class RealtimeMetricsService { method recordConnectionOpen (line 38) | recordConnectionOpen(): void { method recordConnectionClose (line 43) | recordConnectionClose(): void { method recordConnectionError (line 48) | recordConnectionError(): void { method recordOperationSubmit (line 52) | recordOperationSubmit(durationMs?: number): void { method recordOperationError (line 59) | recordOperationError(errorType: string): void { method recordOpsPublished (line 63) | recordOpsPublished(count: number): void { FILE: apps/nestjs-backend/src/share-db/readonly/field-readonly.service.ts class FieldReadonlyServiceAdapter (line 11) | class FieldReadonlyServiceAdapter method constructor (line 15) | constructor( method getDocIdsByQuery (line 22) | getDocIdsByQuery(tableId: string, query: IGetFieldsQuery = {}) { method getSnapshotBulk (line 41) | getSnapshotBulk(tableId: string, ids: string[]) { method getVersionAndType (line 63) | getVersionAndType(tableId: string, fieldId: string) { method getVersionAndTypeMap (line 80) | getVersionAndTypeMap(tableId: string, fieldIds: string[]) { FILE: apps/nestjs-backend/src/share-db/readonly/readonly.module.ts class ReadonlyModule (line 22) | class ReadonlyModule {} FILE: apps/nestjs-backend/src/share-db/readonly/readonly.service.ts class ReadonlyService (line 7) | class ReadonlyService { method constructor (line 11) | constructor(clsService: ClsService) { method formatVersionAndType (line 21) | formatVersionAndType(record?: { version: number; deletedTime: Date | n... FILE: apps/nestjs-backend/src/share-db/readonly/record-readonly.service.ts class RecordReadonlyServiceAdapter (line 13) | class RecordReadonlyServiceAdapter method constructor (line 17) | constructor( method getDocIdsByQuery (line 25) | getDocIdsByQuery(tableId: string, query: IGetRecordsRo = {}) { method getSnapshotBulk (line 53) | getSnapshotBulk( method validateTable (line 80) | private async validateTable(tableId: string) { method getVersionAndType (line 97) | async getVersionAndType(tableId: string, recordId: string) { method getVersionAndTypeMap (line 108) | async getVersionAndTypeMap(tableId: string, recordIds: string[]) { FILE: apps/nestjs-backend/src/share-db/readonly/table-readonly.service.ts class TableReadonlyServiceAdapter (line 10) | class TableReadonlyServiceAdapter method constructor (line 14) | constructor( method getDocIdsByQuery (line 21) | getDocIdsByQuery(baseId: string) { method getSnapshotBulk (line 34) | getSnapshotBulk(baseId: string, ids: string[]) { method getVersionAndType (line 51) | getVersionAndType(baseId: string, tableId: string) { method getVersionAndTypeMap (line 68) | getVersionAndTypeMap(baseId: string, tableIds: string[]) { FILE: apps/nestjs-backend/src/share-db/readonly/types.ts type IReadonlyServiceContext (line 3) | interface IReadonlyServiceContext extends IClsStore { FILE: apps/nestjs-backend/src/share-db/readonly/view-readonly.service.ts class ViewReadonlyServiceAdapter (line 10) | class ViewReadonlyServiceAdapter method constructor (line 14) | constructor( method getDocIdsByQuery (line 21) | getDocIdsByQuery(tableId: string) { method getSnapshotBulk (line 39) | getSnapshotBulk(tableId: string, ids: string[]) { method getVersionAndType (line 61) | getVersionAndType(tableId: string, viewId: string) { method getVersionAndTypeMap (line 78) | getVersionAndTypeMap(tableId: string, viewIds: string[]) { FILE: apps/nestjs-backend/src/share-db/repair-attachment-op/repair-attachment-op.module.ts class RepairAttachmentOpModule (line 10) | class RepairAttachmentOpModule {} FILE: apps/nestjs-backend/src/share-db/repair-attachment-op/repair-attachment-op.service.ts class RepairAttachmentOpService (line 15) | class RepairAttachmentOpService { method constructor (line 16) | constructor( method isEditOp (line 22) | private isEditOp(rawOp: EditOp | CreateOp | DeleteOp): rawOp is EditOp { method getAttachmentCell (line 26) | private getAttachmentCell(op: IOtOperation) { method getCollectionsAttachmentToken (line 37) | private getCollectionsAttachmentToken(rawOp: EditOp | CreateOp | Delet... method getThumbnailPathTokenMap (line 55) | private async getThumbnailPathTokenMap(tokens: string[]) { method getCachePreviewUrlTokenMap (line 80) | private async getCachePreviewUrlTokenMap(tokens: string[]) { method getCollectionsAttachmentsContext (line 99) | async getCollectionsAttachmentsContext(rawOpMaps: IRawOpMap[]) { method presignedAttachmentUrl (line 124) | private async presignedAttachmentUrl( method repairAttachmentOp (line 172) | async repairAttachmentOp( FILE: apps/nestjs-backend/src/share-db/share-db.adapter.ts type ICollectionSnapshot (line 44) | interface ICollectionSnapshot { type IProjection (line 50) | type IProjection = { [fieldNameOrId: string]: boolean }; class ShareDbAdapter (line 53) | class ShareDbAdapter extends ShareDb.DB { method constructor (line 58) | constructor( method getReadonlyService (line 71) | getReadonlyService(type: IdPrefix): IShareDbReadonlyAdapterService { method getAuthHeaders (line 122) | private getAuthHeaders(options: any) { method queryPoll (line 134) | async queryPoll( method skipPoll (line 169) | skipPoll( method close (line 181) | close(callback: () => void) { method commit (line 187) | async commit() { method snapshots2Map (line 191) | private snapshots2Map(snapshots: ({ id: string } & T)[]): Record vo... method handleMessage (line 124) | handleMessage(channel: string, message: string) { method _unsubscribe (line 128) | _unsubscribe(channel: string, callback: (err: ShareDBError | null) => ... method _publish (line 134) | async _publish(channels: string[], data: unknown, callback: (err: Shar... FILE: apps/nestjs-backend/src/swagger.ts function setupSwagger (line 12) | async function setupSwagger( FILE: apps/nestjs-backend/src/tracing.ts constant ENV_DEFAULTS (line 76) | const ENV_DEFAULTS = { type EnvConfigKey (line 99) | type EnvConfigKey = keyof typeof ENV_DEFAULTS.development; method onStart (line 247) | onStart(span): void { method onEnd (line 256) | onEnd(span): void { FILE: apps/nestjs-backend/src/tracing/base-tracing.service.ts method withActiveSpan (line 8) | protected withActiveSpan(fn: (span: Span) => void): void { FILE: apps/nestjs-backend/src/tracing/decorators/span.ts function Span (line 12) | function Span(name?: string, options: SpanOptions = {}): MethodDecorator { FILE: apps/nestjs-backend/src/tracing/route-tracing.interceptor.ts class RouteTracingInterceptor (line 21) | class RouteTracingInterceptor implements NestInterceptor { method constructor (line 24) | constructor(@Optional() @Inject(ConfigService) configService?: ConfigS... method intercept (line 29) | intercept(context: ExecutionContext, next: CallHandler): Observable; FILE: apps/nestjs-backend/src/types/redlock.d.ts class ExecutionError (line 3) | class ExecutionError extends Error { class ResourceLockedError (line 7) | class ResourceLockedError extends ExecutionError {} type RedlockAbortSignal (line 9) | interface RedlockAbortSignal { type Settings (line 14) | interface Settings { type ExecutionResult (line 22) | interface ExecutionResult { class Lock (line 27) | class Lock { class Redlock (line 32) | class Redlock { FILE: apps/nestjs-backend/src/types/session.ts type ISessionData (line 3) | interface ISessionData extends SessionData { FILE: apps/nestjs-backend/src/utils/db-helpers.ts function getDriverName (line 5) | function getDriverName(knex: Knex | Knex.QueryBuilder) { function isPostgreSQL (line 9) | function isPostgreSQL(knex: Knex) { function isSQLite (line 13) | function isSQLite(knex: Knex) { FILE: apps/nestjs-backend/src/utils/db-validation-error.ts type PostgresErrorCode (line 2) | enum PostgresErrorCode { type SqliteErrorCode (line 7) | enum SqliteErrorCode { FILE: apps/nestjs-backend/src/utils/encryptor.ts type IEncryptionOptions (line 3) | interface IEncryptionOptions { class Encryptor (line 10) | class Encryptor { method constructor (line 13) | constructor(options: IEncryptionOptions) { method encrypt (line 20) | encrypt(data: T): string { method decrypt (line 31) | decrypt(encryptedData: string): T { FILE: apps/nestjs-backend/src/utils/file-utils.spec.ts method read (line 12) | read() { method read (line 27) | read() { FILE: apps/nestjs-backend/src/utils/file-utils.ts class FileUtils (line 8) | class FileUtils { method getHash (line 17) | static async getHash(input: string | ReadableStream | Buffer): Promise... FILE: apps/nestjs-backend/src/utils/filter-has-me.ts function filterHasMe (line 3) | function filterHasMe(filter: IFilter | string | undefined | null) { FILE: apps/nestjs-backend/src/utils/filter.ts constant SPECIAL_OPERATOR_FIELD_TYPE_SET (line 15) | const SPECIAL_OPERATOR_FIELD_TYPE_SET = new Set([ FILE: apps/nestjs-backend/src/utils/major-field-keys-changed.ts constant NON_INFECT_OPTION_KEYS (line 6) | const NON_INFECT_OPTION_KEYS = new Set([ function majorFieldKeysChanged (line 25) | function majorFieldKeysChanged(oldField: IFieldVo, fieldRo: IConvertFiel... FILE: apps/nestjs-backend/src/utils/name-conversion.ts function convertNameToValidCharacter (line 3) | function convertNameToValidCharacter(name: string, maxLength = 10): stri... FILE: apps/nestjs-backend/src/utils/postgres-regex-escape.ts function escapePostgresRegex (line 13) | function escapePostgresRegex(input: string): string { function escapeJsonbRegex (line 29) | function escapeJsonbRegex(input: string): string { FILE: apps/nestjs-backend/src/utils/retry-decorator.spec.ts class TestService (line 5) | class TestService { method testMethod (line 7) | async testMethod() { method testMethod2 (line 20) | async testMethod2() { FILE: apps/nestjs-backend/src/utils/retry-decorator.ts type IRetryOptions (line 6) | interface IRetryOptions { type IRetryConfig (line 12) | interface IRetryConfig { function createRetryDecorator (line 19) | function createRetryDecorator(config: IRetryConfig) { FILE: apps/nestjs-backend/src/utils/sql-like-escape.ts function escapeLikeWildcards (line 4) | function escapeLikeWildcards(value: unknown): string { FILE: apps/nestjs-backend/src/utils/timing.ts type SentrySeverity (line 9) | type SentrySeverity = Extract[1... type TimingOptions (line 11) | type TimingOptions = { function Timing (line 25) | function Timing(customLoggerKeyOrOptions?: string | TimingOptions): Meth... FILE: apps/nestjs-backend/src/utils/update-order.ts function updateOrder (line 16) | async function updateOrder(params: { function updateMultipleOrders (line 68) | async function updateMultipleOrders(params: { FILE: apps/nestjs-backend/src/ws/ws.gateway.dev.ts class DevWsGateway (line 13) | class DevWsGateway implements OnModuleInit, OnModuleDestroy { method constructor (line 19) | constructor( method onModuleInit (line 25) | onModuleInit() { method getRequestFromConnection (line 105) | private getRequestFromConnection(conn: sockjs.Connection): Request { method onModuleDestroy (line 135) | async onModuleDestroy() { FILE: apps/nestjs-backend/src/ws/ws.gateway.ts class WsGateway (line 13) | class WsGateway implements OnModuleInit, OnModuleDestroy { method constructor (line 18) | constructor( method onModuleInit (line 24) | onModuleInit() { method getRequestFromConnection (line 94) | private getRequestFromConnection(conn: sockjs.Connection): Request { method onModuleDestroy (line 120) | async onModuleDestroy() { FILE: apps/nestjs-backend/src/ws/ws.module.ts class WsModule (line 16) | class WsModule {} FILE: apps/nestjs-backend/src/ws/ws.service.ts class WsService (line 4) | class WsService {} FILE: apps/nestjs-backend/src/zod.validation.pipe.ts class ZodValidationPipe (line 9) | class ZodValidationPipe implements PipeTransform { method constructor (line 10) | constructor(private readonly schema: unknown) {} method transform (line 12) | public transform(value: unknown, _metadata: ArgumentMetadata): unknown { FILE: apps/nestjs-backend/test/aggregation.e2e-spec.ts function getViewAggregations (line 160) | async function getViewAggregations( function getViewRowCount (line 176) | async function getViewRowCount(tableId: string, viewId: string) { function resolveTextFieldGroupingExpectations (line 315) | function resolveTextFieldGroupingExpectations(): { FILE: apps/nestjs-backend/test/base-query.e2e-spec.ts type AggregationCase (line 27) | type AggregationCase = { FILE: apps/nestjs-backend/test/collaboration.e2e-spec.ts type ISockJSTransport (line 36) | type ISockJSTransport = 'websocket' | 'xhr-streaming'; FILE: apps/nestjs-backend/test/comprehensive-aggregation.e2e-spec.ts function getAggregationResult (line 241) | async function getAggregationResult( function verifyColumnMeta (line 255) | async function verifyColumnMeta(tableId: string, viewId: string) { FILE: apps/nestjs-backend/test/comprehensive-field-filter.e2e-spec.ts function getFilterRecord (line 285) | async function getFilterRecord(tableId: string, filter: IFilter) { FILE: apps/nestjs-backend/test/comprehensive-field-sort.e2e-spec.ts function getSortedRecords (line 266) | async function getSortedRecords(tableId: string, sort: ISortItem[]) { FILE: apps/nestjs-backend/test/computed-orchestrator.e2e-spec.ts function processV2Outbox (line 91) | async function processV2Outbox(times = 1): Promise { function createAwaitWithEventV2Compatible (line 129) | function createAwaitWithEventV2Compatible( function runAndCaptureRecordUpdates (line 146) | async function runAndCaptureRecordUpdates(fn: () => Promise): Prom... type FieldChangePayload (line 197) | type FieldChangePayload = { oldValue: any; newValue: any }; type FieldChangeMap (line 198) | type FieldChangeMap = Record; type EqualityAggregateContext (line 1961) | type EqualityAggregateContext = Awaited { FILE: apps/nestjs-backend/test/conditional-rollup.e2e-spec.ts type TDeleteEventPayload (line 3614) | type TDeleteEventPayload = { FILE: apps/nestjs-backend/test/data-helpers/20x-link.ts constant DEFAULT_LINK_VALUE_INDEXS (line 35) | const DEFAULT_LINK_VALUE_INDEXS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/checkbox-field.ts constant CHECKBOX_FIELD_CASES (line 3) | const CHECKBOX_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/date-field.ts constant DATE_FIELD_CASES (line 3) | const DATE_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/multiple-select-field.ts constant MULTIPLE_SELECT_FIELD_CASES (line 3) | const MULTIPLE_SELECT_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/number-field.ts constant NUMBER_FIELD_CASES (line 3) | const NUMBER_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/single-select-field.ts constant SINGLE_SELECT_FIELD_CASES (line 3) | const SINGLE_SELECT_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/text-field.ts constant TEXT_FIELD_CASES (line 3) | const TEXT_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/aggregation-query/user-field.ts constant USER_FIELD_CASES (line 3) | const USER_FIELD_CASES = [ constant MULTIPLE_USER_FIELD_CASES (line 48) | const MULTIPLE_USER_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/checkbox-field.ts constant CHECKBOX_FIELD_CASES (line 3) | const CHECKBOX_FIELD_CASES = [ constant CHECKBOX_LOOKUP_FIELD_CASES (line 20) | const CHECKBOX_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/date-field.ts constant DATE_FIELD_CASES (line 11) | const DATE_FIELD_CASES = [ constant DATE_LOOKUP_FIELD_CASES (line 34) | const DATE_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/date-range-sets.ts constant DATE_RANGE_SETS (line 14) | const DATE_RANGE_SETS = [ constant LOOKUP_DATE_RANGE_SETS (line 69) | const LOOKUP_DATE_RANGE_SETS = [ constant DATE_RANGE_ERROR_CASES (line 91) | const DATE_RANGE_ERROR_CASES = { FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-after-sets.ts constant IS_AFTER_SETS (line 32) | const IS_AFTER_SETS = [ constant LOOKUP_IS_AFTER_SETS (line 219) | const LOOKUP_IS_AFTER_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-before-sets.ts constant IS_BEFORE_SETS (line 32) | const IS_BEFORE_SETS = [ constant LOOKUP_IS_BEFORE_SETS (line 219) | const LOOKUP_IS_BEFORE_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-not-sets.ts constant IS_NOT_SETS (line 32) | const IS_NOT_SETS = [ constant LOOKUP_IS_NOT_SETS (line 220) | const LOOKUP_IS_NOT_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-on-or-after-sets.ts constant IS_ON_OR_AFTER_SETS (line 32) | const IS_ON_OR_AFTER_SETS = [ constant LOOKUP_IS_ON_OR_AFTER_SETS (line 219) | const LOOKUP_IS_ON_OR_AFTER_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-on-or-before-sets.ts constant IS_ON_OR_BEFORE_SETS (line 32) | const IS_ON_OR_BEFORE_SETS = [ constant LOOKUP_IS_ON_OR_BEFORE_SETS (line 219) | const LOOKUP_IS_ON_OR_BEFORE_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-sets.ts constant IS_SETS (line 32) | const IS_SETS = [ constant LOOKUP_IS_SETS (line 219) | const LOOKUP_IS_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/date-field/is-with-in-sets.ts constant IS_WITH_IN_SETS (line 14) | const IS_WITH_IN_SETS = [ constant LOOKUP_IS_WITH_IN_SETS (line 91) | const LOOKUP_IS_WITH_IN_SETS = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/multiple-select-field.ts constant MULTIPLE_SELECT_FIELD_CASES (line 11) | const MULTIPLE_SELECT_FIELD_CASES = [ constant MULTIPLE_SELECT_LOOKUP_FIELD_CASES (line 63) | const MULTIPLE_SELECT_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/number-field.ts constant NUMBER_FIELD_CASES (line 12) | const NUMBER_FIELD_CASES = [ constant NUMBER_LOOKUP_FIELD_CASES (line 71) | const NUMBER_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/single-select-field.ts constant SINGLE_SELECT_FIELD_CASES (line 14) | const SINGLE_SELECT_FIELD_CASES = [ constant SINGLE_SELECT_LOOKUP_FIELD_CASES (line 59) | const SINGLE_SELECT_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/text-field.ts constant TEXT_FIELD_CASES (line 3) | const TEXT_FIELD_CASES = [ constant TEXT_LOOKUP_FIELD_CASES (line 77) | const TEXT_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/record-filter-query/user-field.ts constant USER_FIELD_CASES (line 16) | const USER_FIELD_CASES = [ constant MULTIPLE_USER_FIELD_CASES (line 68) | const MULTIPLE_USER_FIELD_CASES = [ constant USER_LOOKUP_FIELD_CASES (line 127) | const USER_LOOKUP_FIELD_CASES = [ constant MULTIPLE_USER_LOOKUP_FIELD_CASES (line 179) | const MULTIPLE_USER_LOOKUP_FIELD_CASES = [ FILE: apps/nestjs-backend/test/data-helpers/caces/view-default-share-meta.ts constant VIEW_DEFAULT_SHARE_META (line 4) | const VIEW_DEFAULT_SHARE_META: { FILE: apps/nestjs-backend/test/dead-lock.e2e-spec.ts class DeadLockService (line 29) | class DeadLockService { method transaction1 (line 30) | async transaction1(prismaService: PrismaService) { method transaction2 (line 49) | async transaction2(prismaService: PrismaService) { method retryTransaction1 (line 69) | async retryTransaction1(prismaService: PrismaService) { method retryTransaction2 (line 74) | async retryTransaction2(prismaService: PrismaService) { method createDeadlock (line 78) | async createDeadlock(prismaService: PrismaService) { method createDeadlockWithRetry (line 82) | async createDeadlockWithRetry(prismaService: PrismaService) { FILE: apps/nestjs-backend/test/field-converting.e2e-spec.ts function expectUpdate (line 110) | async function expectUpdate( function convertFieldByCanaryV2 (line 151) | async function convertFieldByCanaryV2(tableId: string, fieldId: string, ... FILE: apps/nestjs-backend/test/field.e2e-spec.ts function createFieldByType (line 148) | async function createFieldByType( function createFieldWithUnique (line 682) | async function createFieldWithUnique( function createFieldWithNotNull (line 696) | async function createFieldWithNotNull( FILE: apps/nestjs-backend/test/filter.e2e-spec.ts function updateViewFilter (line 18) | async function updateViewFilter(tableId: string, viewId: string, filterR... FILE: apps/nestjs-backend/test/formula-datetime-format.e2e-spec.ts constant DATETIME_FORMAT_SPECIFIER_CASES (line 11) | const DATETIME_FORMAT_SPECIFIER_CASES = [ FILE: apps/nestjs-backend/test/formula-fromnow-tonow.e2e-spec.ts constant FLOAT_COMPARISON_TOLERANCE (line 17) | const FLOAT_COMPARISON_TOLERANCE = 1e-9; FILE: apps/nestjs-backend/test/formula-int-search-link-regression.e2e-spec.ts function waitForFormulaValue (line 27) | async function waitForFormulaValue(opts: { FILE: apps/nestjs-backend/test/formula-meta.e2e-spec.ts function waitForFormulaValue (line 22) | async function waitForFormulaValue( function waitForFormulaText (line 40) | async function waitForFormulaText( FILE: apps/nestjs-backend/test/formula.e2e-spec.ts type DateAddNormalizedUnit (line 61) | type DateAddNormalizedUnit = type OperatorTestContext (line 719) | type OperatorTestContext = { type ExtendedOperatorTestContext (line 727) | type ExtendedOperatorTestContext = OperatorTestContext & Record Promis... type TruthinessCase (line 4828) | type TruthinessCase = { type SumArgSource (line 5895) | type SumArgSource = 'literal' | 'field' | 'formula'; FILE: apps/nestjs-backend/test/import-base.e2e-spec.ts function waitForComputedRecord (line 59) | async function waitForComputedRecord( function waitForRecordWithFieldValue (line 78) | async function waitForRecordWithFieldValue( function getAttachmentService (line 98) | function getAttachmentService(app: INestApplication) { FILE: apps/nestjs-backend/test/integrity.e2e-spec.ts function executeKnex (line 45) | async function executeKnex(builder: Knex.SchemaBuilder | Knex.QueryBuild... function getColumnValue (line 63) | async function getColumnValue(tableName: string, columnName: string, rec... function getJunctionForeignIds (line 69) | async function getJunctionForeignIds( FILE: apps/nestjs-backend/test/large-table-operations.e2e-spec.ts type ILargeTableContext (line 30) | interface ILargeTableContext { constant TARGET_RECORDS (line 44) | const TARGET_RECORDS = 10_000; constant INSERT_BATCH_SIZE (line 45) | const INSERT_BATCH_SIZE = 200; constant INITIAL_LINKED_RECORDS (line 46) | const INITIAL_LINKED_RECORDS = 50; constant LINK_SETUP_BATCH (line 47) | const LINK_SETUP_BATCH = 40; constant LINK_FIELD_NAME (line 223) | const LINK_FIELD_NAME = 'Benchmark Links'; constant LOOKUP_FIELD_NAME (line 224) | const LOOKUP_FIELD_NAME = 'Benchmark Lookup'; constant ROLLUP_FIELD_NAME (line 225) | const ROLLUP_FIELD_NAME = 'Benchmark Rollup'; constant FORMULA_FIELD_NAME (line 226) | const FORMULA_FIELD_NAME = 'Benchmark Formula'; constant CONTEXT_NOT_INITIALIZED_MESSAGE (line 227) | const CONTEXT_NOT_INITIALIZED_MESSAGE = 'Large table context is not init... function ensureLargeTableContext (line 231) | async function ensureLargeTableContext(): Promise { function getTimedRecordsCreation (line 506) | async function getTimedRecordsCreation( FILE: apps/nestjs-backend/test/link-bulk-conversion.e2e-spec.ts constant AGENCY_CODES (line 21) | const AGENCY_CODES = [ constant TOTAL_RECORDS (line 34) | const TOTAL_RECORDS = 20_000; constant PAGE_SIZE (line 35) | const PAGE_SIZE = 1_000; FILE: apps/nestjs-backend/test/lookup.e2e-spec.ts function updateTableFields (line 119) | async function updateTableFields(table: ITableFullVo) { function getFieldByType (line 201) | function getFieldByType(fields: IFieldVo[], type: FieldType) { function getFieldByName (line 209) | function getFieldByName(fields: IFieldVo[], name: string) { function lookupFrom (line 217) | async function lookupFrom(table: ITableFullVo, lookupFieldId: string) { function expectLookup (line 245) | async function expectLookup(table: ITableFullVo, fieldType: FieldType, u... function expectLinkText (line 264) | async function expectLinkText( function refreshFields (line 726) | async function refreshFields(table: ITableFullVo) { FILE: apps/nestjs-backend/test/plugin-chart.e2e-spec.ts function preparePluginPanel (line 85) | async function preparePluginPanel(table: ITableFullVo) { function prepareDashboard (line 193) | async function prepareDashboard(table: ITableFullVo) { FILE: apps/nestjs-backend/test/record-bulk-delete.e2e-spec.ts constant PERF_PREFIX (line 19) | const PERF_PREFIX = '[Record bulk delete]'; function collectAllRecords (line 219) | async function collectAllRecords(tableId: string): Promise { function measure (line 237) | async function measure(label: string, fn: () => Promise): Promise<... FILE: apps/nestjs-backend/test/record-filter-query-issues.e2e-spec.ts function getFilteredRecords (line 152) | async function getFilteredRecords(tableId: string, filter: IFilter) { function getAggregationValue (line 156) | async function getAggregationValue(tableId: string, fieldId: string, fun... FILE: apps/nestjs-backend/test/record-filter-query.e2e-spec.ts function getFilterRecord (line 60) | async function getFilterRecord(tableId: string, viewId: string, filter: ... FILE: apps/nestjs-backend/test/rollup.e2e-spec.ts function updateTableFields (line 108) | async function updateTableFields(table: ITableFullVo) { function getFieldByType (line 174) | function getFieldByType(fields: IFieldVo[], type: FieldType) { function getFieldByName (line 182) | function getFieldByName(fields: IFieldVo[], name: string) { function updateRecordField (line 190) | async function updateRecordField( function rollupFrom (line 206) | async function rollupFrom( FILE: apps/nestjs-backend/test/table-import.e2e-spec.ts type TestFileFormat (line 34) | enum TestFileFormat { type ITestFile (line 70) | interface ITestFile { FILE: apps/nestjs-backend/test/table.e2e-spec.ts function processV2Outbox (line 148) | async function processV2Outbox(times = 1): Promise { function waitForDeleteTableCleanup (line 179) | async function waitForDeleteTableCleanup( FILE: apps/nestjs-backend/test/template-cover-crop.e2e-spec.ts function uploadTemplateCoverImage (line 67) | async function uploadTemplateCoverImage(imageHeight: number) { FILE: apps/nestjs-backend/test/utils/axios-instance/new-user.ts function createNewUserAxios (line 11) | async function createNewUserAxios({ email, password }: { email: string; ... FILE: apps/nestjs-backend/test/utils/data.generator.ts function addRecords (line 28) | function addRecords(count: number) { FILE: apps/nestjs-backend/test/utils/event-promise.ts function createEventPromise (line 4) | function createEventPromise(eventEmitterService: EventEmitterService, ev... function createAwaitWithEvent (line 18) | function createAwaitWithEvent(eventEmitterService: EventEmitterService, ... function createAwaitWithEventWithResult (line 27) | function createAwaitWithEventWithResult( function createAwaitWithEventWithResultWithCount (line 60) | function createAwaitWithEventWithResultWithCount( FILE: apps/nestjs-backend/test/utils/field-mock.ts constant FIELD_MOCK_DATA (line 4) | const FIELD_MOCK_DATA: IFieldRo[] = [ FILE: apps/nestjs-backend/test/utils/init-app.ts function initApp (line 81) | async function initApp() { function runWithTestUser (line 161) | async function runWithTestUser( function getTableIndexService (line 189) | async function getTableIndexService(app: INestApplication) { function createTable (line 193) | async function createTable(baseId: string, tableVo: ICreateTableRo, expe... function deleteTable (line 207) | async function deleteTable(baseId: string, tableId: string, expectStatus... function permanentDeleteTable (line 221) | async function permanentDeleteTable(baseId: string, tableId: string, exp... type IMakeOptional (line 235) | type IMakeOptional = Omit & Partial { function getView (line 556) | async function getView(tableId: string, viewId: string): Promise { function createView (line 561) | async function createView(tableId: string, viewRo: IViewRo) { function updateViewColumnMeta (line 566) | async function updateViewColumnMeta( function updateViewFilter (line 575) | async function updateViewFilter(tableId: string, viewId: string, filterR... function createSpace (line 580) | async function createSpace(spaceRo: ICreateSpaceRo) { function deleteSpace (line 585) | async function deleteSpace(spaceId: string) { function permanentDeleteSpace (line 590) | async function permanentDeleteSpace(spaceId: string) { function createBase (line 595) | async function createBase(baseRo: ICreateBaseRo) { function deleteBase (line 600) | async function deleteBase(baseId: string) { function permanentDeleteBase (line 605) | async function permanentDeleteBase(baseId: string) { FILE: apps/nestjs-backend/test/utils/record-mock.ts function rectifyField (line 14) | async function rectifyField( function generateFieldData (line 38) | async function generateFieldData(params: { function seeding (line 87) | async function seeding(tableId: string, mockDataNum: number) { FILE: apps/nestjs-backend/test/utils/seed.ts function run (line 4) | async function run() { FILE: apps/nestjs-backend/test/utils/testing-logger.ts class TestingLogger (line 5) | class TestingLogger extends ConsoleLogger { method constructor (line 6) | constructor() { method log (line 14) | log(message: string, ...optionalParams: any[]) { method warn (line 21) | warn(message: string) { method debug (line 28) | debug(message: string, ...optionalParams: any[]) { method verbose (line 35) | verbose(message: string) { method error (line 42) | error(message: string, ...optionalParams: any[]) { FILE: apps/nestjs-backend/test/utils/wait.ts function waitFor (line 4) | async function waitFor( function subscribeDocs (line 25) | async function subscribeDocs(docs: Doc[], timeoutMs = 4000): Promis... FILE: apps/nestjs-backend/test/v2-action-trigger-field-conversion.e2e-spec.ts type IActionTrigger (line 15) | interface IActionTrigger { FILE: apps/nestjs-backend/test/view-option.e2e-spec.ts function updateViewOptions (line 27) | async function updateViewOptions(tableId: string, viewId: string, viewOp... FILE: apps/nestjs-backend/vitest-e2e.setup.ts type ITestConfig (line 32) | interface ITestConfig { type IInitAppReturnType (line 42) | interface IInitAppReturnType { function prepareSqliteEnv (line 67) | function prepareSqliteEnv() { function compileWorkerFile (line 89) | function compileWorkerFile() { function setup (line 102) | async function setup() { FILE: apps/nextjs-app/instrumentation.ts function register (line 4) | async function register() { FILE: apps/nextjs-app/next-i18next.config.js function getLocalPath (line 14) | function getLocalPath() { FILE: apps/nextjs-app/next.config.js constant NEXT_BUILD_ENV_OUTPUT (line 23) | const NEXT_BUILD_ENV_OUTPUT = process.env?.NEXT_BUILD_ENV_OUTPUT ?? 'cla... constant NEXT_BUILD_ENV_TSCONFIG (line 24) | const NEXT_BUILD_ENV_TSCONFIG = process.env?.NEXT_BUILD_ENV_TSCONFIG ?? ... constant NEXT_BUILD_ENV_TYPECHECK (line 26) | const NEXT_BUILD_ENV_TYPECHECK = trueEnv.includes(process.env?.NEXT_BUIL... constant NEXT_BUILD_ENV_SOURCEMAPS (line 27) | const NEXT_BUILD_ENV_SOURCEMAPS = trueEnv.includes( constant NEXT_BUILD_ENV_CSP (line 31) | const NEXT_BUILD_ENV_CSP = trueEnv.includes(process.env?.NEXT_BUILD_ENV_... constant NEXT_BUILD_ENV_SENTRY_ENABLED (line 33) | const NEXT_BUILD_ENV_SENTRY_ENABLED = trueEnv.includes( constant NEXT_BUILD_ENV_SENTRY_DEBUG (line 37) | const NEXT_BUILD_ENV_SENTRY_DEBUG = trueEnv.includes( constant NEXT_BUILD_ENV_SENTRY_TRACING (line 40) | const NEXT_BUILD_ENV_SENTRY_TRACING = trueEnv.includes( constant NEXT_BUILD_ENV_SENTRY_SOURCEMAPS_UPLOAD (line 44) | const NEXT_BUILD_ENV_SENTRY_SOURCEMAPS_UPLOAD = trueEnv.includes( constant NEXTJS_SOCKET_PORT (line 48) | const NEXTJS_SOCKET_PORT = process.env.SOCKET_PORT || '3001'; method rewrites (line 220) | async rewrites() { method headers (line 230) | async headers() { FILE: apps/nextjs-app/playwright.config.ts type IWebServerMode (line 10) | type IWebServerMode = (typeof webServerModes)[number]; type IWebServerConfig (line 18) | type IWebServerConfig = { cmd: string; timeout: number; retries: number }; function getNextJsEnv (line 48) | function getNextJsEnv(): Record { FILE: apps/nextjs-app/public/streamsaver/sw.js function createStream (line 53) | function createStream(port) { FILE: apps/nextjs-app/sentry.client.config.ts type Window (line 8) | interface Window { FILE: apps/nextjs-app/src/AppProviders.tsx type Props (line 10) | type Props = PropsWithChildren; FILE: apps/nextjs-app/src/backend/api/rest/get-user.ts function getUserMe (line 4) | async function getUserMe(cookie?: string) { FILE: apps/nextjs-app/src/backend/api/rest/ssr-api.ts class SsrApi (line 85) | class SsrApi { method constructor (line 90) | constructor() { method configureBaseHeaders (line 97) | configureBaseHeaders(base: IGetBaseVo | undefined) { method configureShareHeaders (line 118) | configureShareHeaders(shareId: string) { method getTable (line 126) | async getTable( method getFields (line 177) | async getFields(tableId: string, query?: IGetFieldsQuery) { method getViewList (line 183) | async getViewList(tableId: string) { method getTables (line 189) | async getTables(baseId: string) { method getDefaultViewId (line 195) | async getDefaultViewId(baseId: string, tableId: string) { method getRecord (line 201) | async getRecord(tableId: string, recordId: string) { method getBaseById (line 209) | async getBaseById(baseId: string) { method getSpaceById (line 215) | async getSpaceById(spaceId: string) { method getSpaceList (line 221) | async getSpaceList() { method getBaseList (line 225) | async getBaseList() { method getPinList (line 229) | async getPinList() { method getBasePermission (line 233) | async getBasePermission(baseId: string) { method getTablePermission (line 239) | async getTablePermission(baseId: string, tableId: string) { method getSpaceCollaboratorList (line 245) | async getSpaceCollaboratorList(spaceId: string, query?: ListSpaceColla... method getSubscriptionSummary (line 253) | async getSubscriptionSummary(spaceId: string) { method getSubscriptionSummaryList (line 259) | async getSubscriptionSummaryList() { method acceptInvitationLink (line 265) | async acceptInvitationLink(acceptInvitationLinkRo: AcceptInvitationLin... method getShareView (line 271) | async getShareView(shareId: string) { method getBaseShare (line 277) | async getBaseShare(shareId: string) { method updateNotificationStatus (line 283) | async updateNotificationStatus(notificationId: string, data: IUpdateNo... method getSetting (line 289) | async getSetting() { method getPublicSetting (line 293) | async getPublicSetting() { method getUserMe (line 297) | async getUserMe() { method getSharedBase (line 301) | async getSharedBase() { method getGroupPoints (line 305) | async getGroupPoints(tableId: string, query: IGroupPointsRo) { method getDashboard (line 317) | async getDashboard(baseId: string, dashboardId: string) { method getDashboardList (line 323) | async getDashboardList(baseId: string) { method getUserLastVisit (line 329) | async getUserLastVisit(resourceType: LastVisitResourceType, parentReso... method getUserLastVisitBaseNode (line 338) | async getUserLastVisitBaseNode(params: IGetUserLastVisitBaseNodeRo) { method getBaseNodeList (line 345) | async getBaseNodeList(baseId: string) { method getInstanceUsage (line 351) | async getInstanceUsage() { method getRecentlyBase (line 355) | async getRecentlyBase() { method createBase (line 361) | async createBase(createBaseRo: ICreateBaseRo) { method getTemplatePermalink (line 365) | async getTemplatePermalink(identifier: string) { FILE: apps/nextjs-app/src/components/Banner.tsx type Props (line 3) | type Props = { FILE: apps/nextjs-app/src/components/Guide.tsx constant GUIDE_PREFIX (line 14) | const GUIDE_PREFIX = 't-guide-'; constant GUIDE_CREATE_SPACE (line 16) | const GUIDE_CREATE_SPACE = GUIDE_PREFIX + 'create-space'; constant GUIDE_CREATE_BASE (line 17) | const GUIDE_CREATE_BASE = GUIDE_PREFIX + 'create-base'; constant GUIDE_CREATE_TABLE (line 18) | const GUIDE_CREATE_TABLE = GUIDE_PREFIX + 'create-table'; constant GUIDE_CREATE_VIEW (line 19) | const GUIDE_CREATE_VIEW = GUIDE_PREFIX + 'create-view'; constant GUIDE_VIEW_FILTERING (line 20) | const GUIDE_VIEW_FILTERING = GUIDE_PREFIX + 'view-filtering'; constant GUIDE_VIEW_SORTING (line 21) | const GUIDE_VIEW_SORTING = GUIDE_PREFIX + 'view-sorting'; constant GUIDE_VIEW_GROUPING (line 22) | const GUIDE_VIEW_GROUPING = GUIDE_PREFIX + 'view-grouping'; constant GUIDE_API_BUTTON (line 23) | const GUIDE_API_BUTTON = GUIDE_PREFIX + 'api-button'; type StepKey (line 25) | enum StepKey { type EnhanceStep (line 36) | type EnhanceStep = { key: StepKey; step: Step }; FILE: apps/nextjs-app/src/components/RouterProgress.tsx function RouterProgressBar (line 9) | function RouterProgressBar() { FILE: apps/nextjs-app/src/components/Selector.tsx type ISelectorProps (line 5) | type ISelectorProps = IUISelectorProps; FILE: apps/nextjs-app/src/components/google-ads.tsx type Window (line 3) | interface Window { type IUserInfo (line 9) | interface IUserInfo { function sha256 (line 16) | async function sha256(message: string): Promise { function getCookie (line 24) | function getCookie(name: string): string | null { function hasAdConsent (line 37) | function hasAdConsent(): boolean { function trackSignUpConversion (line 56) | async function trackSignUpConversion(conversionId?: string, userInfo?: I... FILE: apps/nextjs-app/src/components/store/guide.ts type ICompletedGuideMapState (line 5) | interface ICompletedGuideMapState { FILE: apps/nextjs-app/src/features/app/automation/Pages.tsx function AutomationPage (line 8) | function AutomationPage() { FILE: apps/nextjs-app/src/features/app/automation/workflow-panel/WorkFlowPanel.tsx type WorkFlowPanelRef (line 4) | interface WorkFlowPanelRef { type WorkFlowPanelProps (line 13) | interface WorkFlowPanelProps { FILE: apps/nextjs-app/src/features/app/automation/workflow-panel/WorkFlowPanelModal.tsx type AlertCloseDialogProps (line 29) | interface AlertCloseDialogProps { type AlertCloseDialogRef (line 33) | interface AlertCloseDialogRef { FILE: apps/nextjs-app/src/features/app/automation/workflow-panel/useWorkFlowPaneStore.ts type From (line 6) | type From = z.infer; type IWorkFlowPanelState (line 8) | interface IWorkFlowPanelState { FILE: apps/nextjs-app/src/features/app/base-node/TablePage.tsx type IQueryParams (line 13) | interface IQueryParams { FILE: apps/nextjs-app/src/features/app/base-node/types.ts type ITablePageProps (line 9) | interface ITablePageProps { type IBaseNodePageProps (line 17) | type IBaseNodePageProps = IBasePageProps & Partial; type ISSRContext (line 19) | interface ISSRContext { type SSRResult (line 28) | type SSRResult = GetServerSidePropsResult; type SSRHandler (line 30) | type SSRHandler = ( FILE: apps/nextjs-app/src/features/app/blocks/App.tsx function AppPage (line 7) | function AppPage() { FILE: apps/nextjs-app/src/features/app/blocks/AuthorityMatrix.tsx function AuthorityMatrixPage (line 7) | function AuthorityMatrixPage() { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/SettingPage.tsx type ISettingPageProps (line 29) | interface ISettingPageProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ConfigurationList.tsx type IList (line 11) | interface IList { type IConfigurationListProps (line 35) | interface IConfigurationListProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/CopyInstance.tsx type ICopyInstanceProps (line 4) | interface ICopyInstanceProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AIConfigurationStatus.tsx type ConfigStatus (line 8) | type ConfigStatus = 'complete' | 'incomplete' | 'warning'; type IConfigCheckItem (line 10) | interface IConfigCheckItem { type IAIConfigurationStatusProps (line 18) | interface IAIConfigurationStatusProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AIControlCard.tsx type SwitchListProps (line 16) | interface SwitchListProps { type AIActions (line 22) | enum AIActions { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AIModelPreferencesCard.tsx type IAIModelPreferencesCardProps (line 20) | interface IAIModelPreferencesCardProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AIProviderCard.tsx type IAIProviderCardProps (line 23) | interface IAIProviderCardProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AISetupWizard.tsx type IAISetupStep (line 8) | interface IAISetupStep { type IAISetupWizardProps (line 16) | interface IAISetupWizardProps { function AISetupWizard (line 20) | function AISetupWizard({ children }: IAISetupWizardProps) { type LLMApiMode (line 26) | type LLMApiMode = 'gateway' | 'custom'; function useAISetupSteps (line 29) | function useAISetupSteps({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AiFormWizard.tsx type IAIConfigFormWizardProps (line 28) | interface IAIConfigFormWizardProps { function AIConfigFormWizard (line 35) | function AIConfigFormWizard({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/AiModelSelect.tsx function AIModelSelect (line 34) | function AIModelSelect({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/BatchTestModels.tsx type IBatchTestModelsProps (line 16) | interface IBatchTestModelsProps { constant CONCURRENCY (line 35) | const CONCURRENCY = 5; constant TEXT_MODEL_TIMEOUT_MS (line 36) | const TEXT_MODEL_TIMEOUT_MS = 30000; constant IMAGE_MODEL_TIMEOUT_MS (line 37) | const IMAGE_MODEL_TIMEOUT_MS = 120000; FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/DefaultModelsStep.tsx type IChatModel (line 16) | interface IChatModel { type IDefaultModelsStepProps (line 22) | interface IDefaultModelsStepProps { function DefaultModelsStep (line 29) | function DefaultModelsStep({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/GatewayModelPickerDialog.tsx constant CAPABILITY_LABELS (line 26) | const CAPABILITY_LABELS: Record = { type IPickerModel (line 39) | interface IPickerModel { type PriceDisplayMode (line 52) | type PriceDisplayMode = 'usd' | 'credits' | 'none'; type IGatewayModelPickerDialogProps (line 54) | interface IGatewayModelPickerDialogProps { function usdToCreditsPerMillion (line 87) | function usdToCreditsPerMillion(usdPerToken: string | undefined): number... function formatCreditRate (line 97) | function formatCreditRate(credits: number | undefined, freeLabel: string... function formatUsdPriceShort (line 106) | function formatUsdPriceShort(price: string | undefined, freeLabel: strin... function generateLabel (line 118) | function generateLabel(modelId: string, apiName?: string): string { function detectIsImageModel (line 129) | function detectIsImageModel(model: IPickerModel): boolean { function GatewayModelPickerDialog (line 135) | function GatewayModelPickerDialog({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/GatewayModelsStep.tsx function GatewayModelsStep (line 27) | function GatewayModelsStep({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/LLMApiConfigStep.tsx type ILLMApiConfigStepProps (line 24) | interface ILLMApiConfigStepProps { function LLMApiConfigStep (line 63) | function LLMApiConfigStep({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/LlmProviderForm.tsx constant CUSTOM_MODEL_DOC_URL (line 46) | const CUSTOM_MODEL_DOC_URL = 'https://help.teable.ai/en/basic/ai/custom-... type TestResult (line 48) | interface TestResult { type IModelTestStatus (line 55) | interface IModelTestStatus { constant TEXT_MODEL_TIMEOUT_MS (line 64) | const TEXT_MODEL_TIMEOUT_MS = 30000; constant IMAGE_MODEL_TIMEOUT_MS (line 65) | const IMAGE_MODEL_TIMEOUT_MS = 120000; constant CONCURRENCY (line 66) | const CONCURRENCY = 3; type ErrorPattern (line 76) | type ErrorPattern = { constant ERROR_PATTERNS (line 82) | const ERROR_PATTERNS: ErrorPattern[] = [ function matchesKeywords (line 111) | function matchesKeywords(text: string, keywords: string[]): boolean { function checkMissingV1Suffix (line 115) | function checkMissingV1Suffix( function analyzeError (line 129) | function analyzeError( type LLMProviderFormProps (line 169) | interface LLMProviderFormProps { type RateFieldKey (line 268) | type RateFieldKey = type ModelRatesConfigProps (line 277) | interface ModelRatesConfigProps { function onSubmit (line 507) | function onSubmit(data: LLMProvider) { function handleSubmit (line 511) | function handleSubmit() { type IModelTestPillProps (line 991) | interface IModelTestPillProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/LlmproviderManage.tsx type IModelTestResult (line 32) | interface IModelTestResult { type ILLMProviderManageProps (line 41) | interface ILLMProviderManageProps { type IModelRowProps (line 231) | interface IModelRowProps { FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/SetupStepCard.tsx type ISetupStepCardProps (line 7) | interface ISetupStepCardProps { function SetupStepCard (line 19) | function SetupStepCard({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/ai-model-select/GatewayModelOption.tsx type IGatewayModelOptionProps (line 16) | interface IGatewayModelOptionProps { function GatewayModelOption (line 26) | function GatewayModelOption({ FILE: apps/nextjs-app/src/features/app/blocks/admin/setting/components/ai-config/ai-model-select/ModelSelectTrigger.tsx type IModelSelectTriggerProps (line 13) | interface IModelSelectTriggerProps extends ComponentPropsWithoutRef & { children: string[] }; FILE: apps/nextjs-app/src/features/app/blocks/base/base-node/hooks/useBaseNodeCrud.ts type IUseBaseNodeCrudOptions (line 24) | interface IUseBaseNodeCrudOptions { type BaseNodeCrudHooks (line 126) | type BaseNodeCrudHooks = ReturnType; FILE: apps/nextjs-app/src/features/app/blocks/base/base-side-bar/BaseNodeAddResourceButton.tsx type BaseNodeAddResourceButtonProps (line 21) | interface BaseNodeAddResourceButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/base/base-side-bar/BaseNodeMore.tsx type IBaseNodeMoreProps (line 100) | interface IBaseNodeMoreProps { type ICommonOperationProps (line 126) | interface ICommonOperationProps extends IBaseNodeMoreProps { FILE: apps/nextjs-app/src/features/app/blocks/base/base-side-bar/BaseNodeShareIndicator.tsx type IBaseNodeShareIndicatorProps (line 38) | interface IBaseNodeShareIndicatorProps { FILE: apps/nextjs-app/src/features/app/blocks/base/base-side-bar/BaseNodeStarButton.tsx type IBaseNodeStarButtonProps (line 7) | interface IBaseNodeStarButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/base/base-side-bar/BaseNodeTree.tsx constant INDENTATION_WIDTH (line 65) | const INDENTATION_WIDTH = 24; constant GROUP_ACTIVE_WIDTH_CLS (line 66) | const GROUP_ACTIVE_WIDTH_CLS = constant GROUP_ACTIVE_OPACITY_CLS (line 68) | const GROUP_ACTIVE_OPACITY_CLS = constant GROUP_ACTIVE_HIDDEN_CLS (line 70) | const GROUP_ACTIVE_HIDDEN_CLS = constant SCROLL_EDGE_THRESHOLD (line 72) | const SCROLL_EDGE_THRESHOLD = 60; constant SCROLL_MAX_SPEED (line 73) | const SCROLL_MAX_SPEED = 15; type TreeMode (line 135) | type TreeMode = 'view' | 'edit'; type IBaseNodeTreeProps (line 137) | interface IBaseNodeTreeProps { FILE: apps/nextjs-app/src/features/app/blocks/base/duplicate/useDuplicateBaseStore.ts type IDuplicateBaseState (line 4) | interface IDuplicateBaseState { FILE: apps/nextjs-app/src/features/app/blocks/base/duplicate/useTemplateCreateBaseStore.ts type ITemplateCreateBaseState (line 3) | interface ITemplateCreateBaseState { FILE: apps/nextjs-app/src/features/app/blocks/billing/useSpaceSubscriptionStore.ts type ISpaceSubscriptionState (line 4) | interface ISpaceSubscriptionState { FILE: apps/nextjs-app/src/features/app/blocks/chart/components/ChartProvider.tsx type IChartContext (line 5) | interface IChartContext { FILE: apps/nextjs-app/src/features/app/blocks/chart/components/chart/chart-config/common/ComboLineStyleEditor.tsx type ILineStyle (line 6) | type ILineStyle = Extract... FILE: apps/nextjs-app/src/features/app/blocks/chart/components/chart/chart-config/common/NumberInput.tsx type INumberInputProps (line 4) | interface INumberInputProps { FILE: apps/nextjs-app/src/features/app/blocks/chart/components/chart/chart-config/form/ComboXAxisEditor.tsx type ComboXAxis (line 8) | type ComboXAxis = NonNullable[number]; FILE: apps/nextjs-app/src/features/app/blocks/chart/components/chart/chart-config/form/utils.ts type ComboXAxis (line 3) | type ComboXAxis = NonNullable[number]; type ComboYAxis (line 4) | type ComboYAxis = NonNullable[number]; FILE: apps/nextjs-app/src/features/app/blocks/chart/components/chart/chart-show/types.ts type IChartBase (line 1) | interface IChartBase { FILE: apps/nextjs-app/src/features/app/blocks/chart/constant.ts constant COLOR_MAXIMUM (line 1) | const COLOR_MAXIMUM = 30; FILE: apps/nextjs-app/src/features/app/blocks/chart/types.ts type IChartBaseAxisDisplayLine (line 14) | type IChartBaseAxisDisplayLine = z.infer; type IChartXAxisDisplay (line 30) | type IChartXAxisDisplay = z.infer; type IChartYAxisDisplay (line 42) | type IChartYAxisDisplay = z.infer; type IChartPadding (line 57) | type IChartPadding = z.infer; type IGoalLine (line 59) | type IGoalLine = z.infer; type IComboConfig (line 88) | type IComboConfig = z.infer; type IComboType (line 92) | type IComboType = z.infer; type IBarConfig (line 99) | type IBarConfig = z.infer; type ILineConfig (line 105) | type ILineConfig = z.infer; type IAreaConfig (line 112) | type IAreaConfig = z.infer; type IPieConfig (line 131) | type IPieConfig = z.infer; type ITableConfigColumn (line 139) | type ITableConfigColumn = z.infer; type ITableConfig (line 145) | type ITableConfig = z.infer; type IChartConfig (line 155) | type IChartConfig = z.infer; type IChartStorage (line 157) | interface IChartStorage { type IPageParams (line 162) | interface IPageParams { FILE: apps/nextjs-app/src/features/app/blocks/dashboard/Dashboard.tsx class DashboardCharts (line 13) | class DashboardCharts { method init (line 18) | init() { method addChart (line 33) | addChart(instance: Bar | Pie | Line, key?: string) { type ILayout (line 41) | interface ILayout extends Layout { FILE: apps/nextjs-app/src/features/app/blocks/design/TableDetail.tsx type EditableFieldProps (line 15) | interface EditableFieldProps { FILE: apps/nextjs-app/src/features/app/blocks/design/data-table/DataTable.tsx function DataTable (line 18) | function DataTable() { FILE: apps/nextjs-app/src/features/app/blocks/design/data-table/useDataColumns.tsx function checkBox (line 9) | function checkBox(key: string) { function useDataColumns (line 18) | function useDataColumns() { FILE: apps/nextjs-app/src/features/app/blocks/erd/BaseErdTableNode.tsx type IBaseErdTableNodeProps (line 9) | interface IBaseErdTableNodeProps extends IBaseErdTableNode { FILE: apps/nextjs-app/src/features/app/blocks/graph/ProgressBar.tsx function ProgressBar (line 4) | function ProgressBar({ duration, cellCount }: { duration: number; cellCo... FILE: apps/nextjs-app/src/features/app/blocks/graph/usePlan.ts function usePlan (line 6) | function usePlan({ FILE: apps/nextjs-app/src/features/app/blocks/import-table/TableImport.tsx type ITableImportProps (line 53) | interface ITableImportProps { type ITableImportOptions (line 61) | type ITableImportOptions = IImportOption & { type Step (line 65) | enum Step { FILE: apps/nextjs-app/src/features/app/blocks/import-table/UrlPanel.tsx type IUrlPanel (line 11) | interface IUrlPanel { FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/CollapsePanel.tsx type ICollapsePanel (line 17) | interface ICollapsePanel { type IInplaceCollapsePanel (line 22) | interface IInplaceCollapsePanel { FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/FieldSelector.tsx type IFieldSelector (line 19) | interface IFieldSelector { function FieldSelector (line 30) | function FieldSelector(props: IFieldSelector) { FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/InplaceFieldConfigPanel.tsx type IInplaceFieldConfigPanel (line 12) | interface IInplaceFieldConfigPanel { type IInplaceOption (line 20) | type IInplaceOption = Pick< FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/inplace-panel/InplacePreviewColumn.tsx type IPreviewColumnProps (line 21) | interface IPreviewColumnProps { FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/new-create-panel/FieldConfigPanel.tsx type ITableImportOptions (line 10) | type ITableImportOptions = IImportOption & { type IFieldConfigPanel (line 14) | interface IFieldConfigPanel { FILE: apps/nextjs-app/src/features/app/blocks/import-table/field-config-panel/new-create-panel/PreviewColumn.tsx type IPreviewColumnProps (line 20) | interface IPreviewColumnProps { FILE: apps/nextjs-app/src/features/app/blocks/import-table/upload-panel/Process.tsx type IFileItemProps (line 6) | interface IFileItemProps { FILE: apps/nextjs-app/src/features/app/blocks/import-table/upload-panel/Trigger.tsx type IUploadProps (line 6) | interface IUploadProps { FILE: apps/nextjs-app/src/features/app/blocks/import-table/upload-panel/UploadPanel.tsx type IUploadPanelProps (line 11) | interface IUploadPanelProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/SettingRight.tsx type ISettingRight (line 6) | interface ISettingRight { FILE: apps/nextjs-app/src/features/app/blocks/setting/SettingRightTitle.tsx type ISettingRightTitle (line 5) | interface ISettingRightTitle { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/AccessTokenList.tsx type IAccessTokenListProps (line 25) | interface IAccessTokenListProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/PersonAccessTokenForm.tsx type IAccessTokenFormProps (line 15) | interface IAccessTokenFormProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/AccessList.tsx type IAccessListProps (line 12) | interface IAccessListProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/AccessSelect.tsx type IValue (line 24) | interface IValue { type IFormAccess (line 30) | interface IFormAccess { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/AccessTokenForm.tsx type IFormType (line 20) | type IFormType = 'new' | 'edit'; type ISubmitData (line 22) | type ISubmitData = { type IAccessTokenForm (line 27) | interface IAccessTokenForm { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/AccessTokenFormEdit.tsx type IAccessTokenFormEditProps (line 8) | interface IAccessTokenFormEditProps extends IAccessTokenForm<'edit'> { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/ExpirationSelect.tsx type IExpirationSelect (line 19) | interface IExpirationSelect { FILE: apps/nextjs-app/src/features/app/blocks/setting/access-token/form/RefreshToken.tsx type IRefreshTokenProps (line 23) | interface IRefreshTokenProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/components/FormItem.tsx type IFormItemProps (line 7) | interface IFormItemProps { type IFormItemRef (line 16) | interface IFormItemRef { FILE: apps/nextjs-app/src/features/app/blocks/setting/components/FormPageLayout.tsx type IFormPageLayoutProps (line 5) | interface IFormPageLayoutProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/components/ScopesSelect.tsx type IScopesSelectProps (line 8) | interface IScopesSelectProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/OAuthAppPage.tsx type IFormType (line 15) | type IFormType = 'new' | 'edit'; FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/manage/CallbackEditor.tsx type ICallbackEditorProps (line 7) | interface ICallbackEditorProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/manage/List.tsx type IOAuthAppListProps (line 14) | interface IOAuthAppListProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/manage/OAuthAppEdit.tsx type IOAuthAppEditProps (line 17) | interface IOAuthAppEditProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/manage/OAuthAppForm.tsx type IOAuthAppFormProps (line 23) | interface IOAuthAppFormProps { type IOAuthAppFormRef (line 29) | interface IOAuthAppFormRef { FILE: apps/nextjs-app/src/features/app/blocks/setting/oauth-app/manage/OAuthAppNew.tsx type IOAuthAppNewProps (line 9) | interface IOAuthAppNewProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/plugin/PluginPage.tsx type IFormType (line 14) | type IFormType = 'new' | 'edit'; FILE: apps/nextjs-app/src/features/app/blocks/setting/query-builder/AIContextPanel.tsx type IAIContextPanelProps (line 11) | interface IAIContextPanelProps { type IFieldInfo (line 16) | interface IFieldInfo { FILE: apps/nextjs-app/src/features/app/blocks/setting/query-builder/PreviewScript.tsx type QueryParamsTableProps (line 171) | interface QueryParamsTableProps { FILE: apps/nextjs-app/src/features/app/blocks/setting/query-builder/SortBuilder.tsx type ISortProps (line 9) | interface ISortProps { function OrderByBuilder (line 14) | function OrderByBuilder(props: ISortProps) { FILE: apps/nextjs-app/src/features/app/blocks/setting/query-builder/useTransformFieldKey.ts function useTransformFieldKey (line 13) | function useTransformFieldKey() { FILE: apps/nextjs-app/src/features/app/blocks/share/base/share-base-ssr.ts type IShareBasePagePropsBase (line 16) | interface IShareBasePagePropsBase extends IBaseNodePageProps { type IShareBaseSSROptions (line 64) | interface IShareBaseSSROptions { FILE: apps/nextjs-app/src/features/app/blocks/share/view/ShareViewPage.tsx type IShareViewPageProps (line 26) | interface IShareViewPageProps { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/form/FormViewBase.tsx type IFormViewBaseProps (line 5) | interface IFormViewBaseProps { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/grid/GridViewBase.tsx type IGridViewProps (line 69) | interface IGridViewProps { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/grid/aggregation/AggregationProvider.tsx type IAggregationProviderProps (line 17) | interface IAggregationProviderProps { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/grid/aggregation/GroupPointProvider.tsx type GroupPointProviderProps (line 17) | interface GroupPointProviderProps { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/grid/toolbar/Sort.tsx type ISortProps (line 7) | interface ISortProps { function Sort (line 13) | function Sort(props: ISortProps) { FILE: apps/nextjs-app/src/features/app/blocks/share/view/component/share-view-filter/ShareViewFilter.tsx type IShareViewFilterProps (line 8) | type IShareViewFilterProps = ComponentProps; type ICustomerValueComponentProps (line 9) | type ICustomerValueComponentProps = ComponentProps; FILE: apps/nextjs-app/src/features/app/blocks/space-setting/SpaceInnerSettingModal.tsx type ISpaceInnerSettingModalProps (line 17) | interface ISpaceInnerSettingModalProps { type SettingTab (line 24) | enum SettingTab { FILE: apps/nextjs-app/src/features/app/blocks/space-setting/integration/components/AiConfig.tsx type IAIConfigProps (line 28) | interface IAIConfigProps { FILE: apps/nextjs-app/src/features/app/blocks/space-setting/integration/components/IntegrationCard.tsx type IIntegrationCardProps (line 17) | interface IIntegrationCardProps { FILE: apps/nextjs-app/src/features/app/blocks/space/BaseCard.tsx type IBaseCard (line 18) | interface IBaseCard { FILE: apps/nextjs-app/src/features/app/blocks/space/BaseItem.tsx type IBaseItemProps (line 27) | interface IBaseItemProps { FILE: apps/nextjs-app/src/features/app/blocks/space/BaseList.tsx type ViewMode (line 43) | enum ViewMode { type IBaseListProps (line 48) | interface IBaseListProps { FILE: apps/nextjs-app/src/features/app/blocks/space/ColorBg.tsx function ColorBg (line 6) | function ColorBg({ emoji }: { emoji?: string }) { FILE: apps/nextjs-app/src/features/app/blocks/space/DraggableBaseGrid.tsx type IDraggableBaseGridProps (line 11) | interface IDraggableBaseGridProps { FILE: apps/nextjs-app/src/features/app/blocks/space/DraggableBaseRows.tsx type IDraggableBaseRowsProps (line 12) | interface IDraggableBaseRowsProps { FILE: apps/nextjs-app/src/features/app/blocks/space/FreshSettingGuideDialog.tsx constant FRESH_INSTANCE_WINDOW_HOURS (line 14) | const FRESH_INSTANCE_WINDOW_HOURS = 4; FILE: apps/nextjs-app/src/features/app/blocks/space/NoBasesPlaceholder.tsx type INoBasesPlaceholderProps (line 16) | interface INoBasesPlaceholderProps { FILE: apps/nextjs-app/src/features/app/blocks/space/SpaceCard.tsx type ISpaceCard (line 26) | interface ISpaceCard { FILE: apps/nextjs-app/src/features/app/blocks/space/component/BaseActionTrigger.tsx type IBaseActionTrigger (line 23) | interface IBaseActionTrigger { FILE: apps/nextjs-app/src/features/app/blocks/space/component/EditableSpaceSelect.tsx type IEditableSpaceSelect (line 9) | interface IEditableSpaceSelect { FILE: apps/nextjs-app/src/features/app/blocks/space/component/SpaceActionTrigger.tsx type ISpaceActionTrigger (line 16) | interface ISpaceActionTrigger { FILE: apps/nextjs-app/src/features/app/blocks/space/component/upload-panel/ImportLogPanel.tsx type ILogEntry (line 6) | interface ILogEntry { type IImportLogPanelProps (line 12) | interface IImportLogPanelProps { FILE: apps/nextjs-app/src/features/app/blocks/space/component/upload-panel/Process.tsx type IFileItemProps (line 6) | interface IFileItemProps { FILE: apps/nextjs-app/src/features/app/blocks/space/component/upload-panel/Trigger.tsx type IUploadProps (line 4) | interface IUploadProps { FILE: apps/nextjs-app/src/features/app/blocks/space/component/upload-panel/UploadPanel.tsx type IUploadPanelProps (line 11) | interface IUploadPanelProps { FILE: apps/nextjs-app/src/features/app/blocks/space/component/upload-panel/UploadPanelDialog.tsx constant PHASE_I18N_MAP (line 20) | const PHASE_I18N_MAP: Record = { type IUploadPanelDialogProps (line 40) | interface IUploadPanelDialogProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/ItemButton.tsx type IItemButtonProps (line 4) | interface IItemButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/PinItem.tsx type IPinItemProps (line 12) | interface IPinItemProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/SpaceItem.tsx type IProps (line 15) | interface IProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/SpaceOperation.tsx type ISpaceOperationProps (line 10) | interface ISpaceOperationProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/SpaceQuickSearch.tsx type Props (line 31) | interface Props { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/SpaceSwitcher.tsx type ISpaceSwitcherProps (line 48) | interface ISpaceSwitcherProps { FILE: apps/nextjs-app/src/features/app/blocks/space/space-side-bar/StarButton.tsx type IStarButtonProps (line 17) | interface IStarButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/table-list/TableListItem.tsx type IProps (line 15) | interface IProps { FILE: apps/nextjs-app/src/features/app/blocks/table-list/TableOperation.tsx type ITableOperationProps (line 42) | interface ITableOperationProps { FILE: apps/nextjs-app/src/features/app/blocks/table-list/useAddTable.ts function useAddTable (line 47) | function useAddTable() { FILE: apps/nextjs-app/src/features/app/blocks/table/Table.tsx type ITableProps (line 39) | interface ITableProps { FILE: apps/nextjs-app/src/features/app/blocks/table/store/use-locked-view-tip-store.ts type ILockedViewTipState (line 5) | interface ILockedViewTipState { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/AddPluginView.tsx type IAddPluginViewProps (line 19) | interface IAddPluginViewProps { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/Collaborators.tsx type CollaboratorsProps (line 11) | interface CollaboratorsProps { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/TableInfo.tsx type ITableInfoProps (line 18) | interface ITableInfoProps { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/publish-base/AppPublishContext.tsx type IAppPublishContextValue (line 4) | interface IAppPublishContextValue { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/publish-base/NodeSelect.tsx type INodeSelectProps (line 20) | interface INodeSelectProps { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/publish-base/NodeTreeSelect.tsx type INodeSelectProps (line 27) | interface INodeSelectProps { constant INDENTATION_WIDTH (line 42) | const INDENTATION_WIDTH = 16; FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/publish-base/PublishBaseDialog.tsx type IPublishBaseDialogProps (line 66) | interface IPublishBaseDialogProps { FILE: apps/nextjs-app/src/features/app/blocks/table/table-header/publish-base/UnpublishedAppsDialog.tsx type IUnpublishedApp (line 21) | interface IUnpublishedApp { type IUnpublishedAppsDialogProps (line 30) | interface IUnpublishedAppsDialogProps { FILE: apps/nextjs-app/src/features/app/blocks/trash/SpaceInnerTrashModal.tsx type ISpaceInnerTrashModalProps (line 29) | interface ISpaceInnerTrashModalProps { FILE: apps/nextjs-app/src/features/app/blocks/trash/components/TableTrash.tsx type ITableTrashProps (line 22) | interface ITableTrashProps { FILE: apps/nextjs-app/src/features/app/blocks/trash/components/TableTrashDialog.tsx type ITableTrashDialogProps (line 13) | interface ITableTrashDialogProps { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/AddEventButton.tsx type IAddEventButtonProps (line 8) | interface IAddEventButtonProps { constant ADD_EVENT_BUTTON_CLASS_NAME (line 17) | const ADD_EVENT_BUTTON_CLASS_NAME = 'add-event-btn'; FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/Calendar.tsx constant ADD_EVENT_BUTTON_CLASS_NAME (line 41) | const ADD_EVENT_BUTTON_CLASS_NAME = 'calendar-add-event-button'; constant MORE_LINK_TEXT_CLASS_NAME (line 42) | const MORE_LINK_TEXT_CLASS_NAME = 'calendar-custom-more-link-text'; constant FULL_CALENDAR_LOCALE_MAP (line 44) | const FULL_CALENDAR_LOCALE_MAP = { constant DATE_PICKER_LOCAL_MAP (line 53) | const DATE_PICKER_LOCAL_MAP = { type ICalendarProps (line 61) | interface ICalendarProps { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/CalendarConfig.tsx constant DEFAULT_COLOR (line 22) | const DEFAULT_COLOR = Colors.PurpleLight2; FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/EventList.tsx type IEventListProps (line 11) | interface IEventListProps { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/EventListContainer.tsx type IEventListContainerProps (line 10) | interface IEventListContainerProps { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/components/EventMenu.tsx type IMenuItemProps (line 21) | interface IMenuItemProps { type MenuItemType (line 30) | enum MenuItemType { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/context/CalendarContext.ts type ICalendarContext (line 8) | interface ICalendarContext { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/hooks/useEventMenuStore.ts type IEventMenu (line 4) | interface IEventMenu { type IEventMenuState (line 13) | interface IEventMenuState { FILE: apps/nextjs-app/src/features/app/blocks/view/calendar/type.ts type ICalendarPermission (line 1) | interface ICalendarPermission { FILE: apps/nextjs-app/src/features/app/blocks/view/constant.ts constant VIEW_ICON_MAP (line 11) | const VIEW_ICON_MAP = { FILE: apps/nextjs-app/src/features/app/blocks/view/field/useFieldSettingStore.ts type IFieldSetting (line 4) | interface IFieldSetting { type IGridViewState (line 10) | interface IGridViewState { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FormCellEditor.tsx type IFormCellEditor (line 16) | interface IFormCellEditor { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FormField.tsx type IFormFieldEditorProps (line 9) | interface IFormFieldEditorProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FormFieldEditor.tsx type IFormFieldEditorProps (line 19) | interface IFormFieldEditorProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FormPreviewer.tsx type IFormPreviewerProps (line 5) | interface IFormPreviewerProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FormSidebar.tsx type IDragItemProps (line 26) | interface IDragItemProps { type IFormSidebarProps (line 84) | interface IFormSidebarProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/FromBody.tsx type IFormBodyProps (line 16) | interface IFormBodyProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/ShareUserEditor.tsx type IShareUserEditor (line 9) | interface IShareUserEditor { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/share-link-editor/FormLinkEditor.tsx type IShareFormLinkEditorProps (line 11) | interface IShareFormLinkEditorProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/components/share-link-editor/LinkRecordList.tsx type ILinkRecordListProps (line 7) | interface ILinkRecordListProps { FILE: apps/nextjs-app/src/features/app/blocks/view/form/constant.ts constant FORM_SIDEBAR_DROPPABLE_ID (line 1) | const FORM_SIDEBAR_DROPPABLE_ID = 'form-sidebar'; constant FORM_EDITOR_DROPPABLE_ID (line 2) | const FORM_EDITOR_DROPPABLE_ID = 'form-editor'; FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/components/Card.tsx type IKanbanCardProps (line 35) | interface IKanbanCardProps { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/components/CardCarousel.tsx type ICardCarouselProps (line 16) | interface ICardCarouselProps { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/components/SortableItem.tsx type SortableProps (line 4) | interface SortableProps { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/context/GalleryContext.ts type IGalleryContext (line 7) | interface IGalleryContext { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/hooks/useCacheRecords.ts type UseVirtualRecordsReturn (line 7) | interface UseVirtualRecordsReturn { constant DEFAULT_TAKE (line 15) | const DEFAULT_TAKE = 300; constant CACHE_COUNT (line 16) | const CACHE_COUNT = 800; FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/type.ts type IGalleryPermission (line 1) | interface IGalleryPermission { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/utils/card.ts constant CARD_STYLE (line 4) | const CARD_STYLE = { constant DEFAULT_FIELD_HEIGHT (line 14) | const DEFAULT_FIELD_HEIGHT = 20; constant CARD_COVER_HEIGHT (line 16) | const CARD_COVER_HEIGHT = 180; constant LONG_TEXT_FIELD_DISPLAY_ROWS (line 18) | const LONG_TEXT_FIELD_DISPLAY_ROWS = 4; constant FIELD_HEIGHT_MAP (line 20) | const FIELD_HEIGHT_MAP: { [key in FieldType]?: number } = { FILE: apps/nextjs-app/src/features/app/blocks/view/gallery/utils/columns.ts constant BREAKPOINTS (line 1) | const BREAKPOINTS = { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/GridViewBase.tsx type IGridViewProps (line 9) | interface IGridViewProps { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/GridViewBaseInner.tsx function getRowRangesFromSelection (line 131) | function getRowRangesFromSelection(selection: CombinedSelection): [numbe... type IGridViewBaseInnerProps (line 151) | interface IGridViewBaseInnerProps { function extract (line 552) | function extract(_start: number, _end: number, source: T[] | { [key: ... FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/AiAutoFillDialogContainer.tsx type IAiAutoFillDialogContainerProps (line 14) | interface IAiAutoFillDialogContainerProps { type IAiAutoFillDialogContainerRef (line 19) | interface IAiAutoFillDialogContainerRef { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/AiGenerateButton.tsx type IAIButtonProps (line 24) | interface IAIButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/ConfirmNewRecords.tsx type IConfirmNewRecordsProps (line 6) | interface IConfirmNewRecordsProps { type IConfirmNewRecordsRef (line 11) | interface IConfirmNewRecordsRef { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/FieldMenu.tsx type MenuItemType (line 62) | enum MenuItemType { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/GroupHeaderMenu.tsx type MenuItemType (line 32) | enum MenuItemType { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/PrefillingRowContainer.tsx type IPrefillingRowContainerProps (line 15) | interface IPrefillingRowContainerProps { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/PresortRowContainer.tsx type IRowStatusContainerProps (line 6) | interface IRowStatusContainerProps { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/RecordMenu.tsx type IMenuItemProps (line 38) | interface IMenuItemProps { type InsertRecordRender (line 49) | interface InsertRecordRender { type MenuItemType (line 55) | enum MenuItemType { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/components/ResetClickCountButton.tsx type IResetClickCountButtonProps (line 12) | interface IResetClickCountButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/const.ts constant GIRD_ROW_HEIGHT_DEFINITIONS (line 3) | const GIRD_ROW_HEIGHT_DEFINITIONS = { constant GIRD_FIELD_NAME_HEIGHT_DEFINITIONS (line 11) | const GIRD_FIELD_NAME_HEIGHT_DEFINITIONS = [0, 32, 56, 80]; FILE: apps/nextjs-app/src/features/app/blocks/view/grid/hooks/useSelectionStore.ts type ISelectionStore (line 7) | interface ISelectionStore { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/useGridSearchStore.ts type RecordMapListener (line 6) | type RecordMapListener = (recordMap: IRecordIndexMap | null) => void; type FieldsListener (line 19) | type FieldsListener = (fields: IFieldInstance[] | null) => void; type IGridRefState (line 31) | interface IGridRefState { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/utils/computeFrozenFields.ts function computeFrozenColumnCount (line 3) | function computeFrozenColumnCount({ FILE: apps/nextjs-app/src/features/app/blocks/view/grid/utils/copyAndPaste.ts type ClipboardTypes (line 17) | enum ClipboardTypes { FILE: apps/nextjs-app/src/features/app/blocks/view/grid/utils/selectionViewQuery.ts type IViewQueryLike (line 4) | type IViewQueryLike = { type ISelectionViewQuery (line 10) | type ISelectionViewQuery = Pick< FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanCard.tsx type IKanbanCardProps (line 37) | interface IKanbanCardProps { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanContainer.tsx constant EMPTY_LIST (line 18) | const EMPTY_LIST: never[] = []; FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanStack.tsx type IKanbanStackProps (line 20) | interface IKanbanStackProps { constant LOAD_COUNT (line 26) | const LOAD_COUNT = 100; constant TAKE_COUNT (line 27) | const TAKE_COUNT = 200; FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanStackContainer.tsx type IKanbanStackContainerProps (line 20) | interface IKanbanStackContainerProps { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanStackHeader.tsx type IKanbanStackHeaderProps (line 26) | interface IKanbanStackHeaderProps { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/KanbanStackTitle.tsx type IKanbanStackTitle (line 8) | interface IKanbanStackTitle { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/components/interface.ts type ICardMap (line 3) | type ICardMap = Record; FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/constant.ts constant UNCATEGORIZED_STACK_ID (line 3) | const UNCATEGORIZED_STACK_ID = 't_kanban_uncategorized'; constant UNCATEGORIZED_STACK_NAME (line 4) | const UNCATEGORIZED_STACK_NAME = 'Uncategorized'; constant UNCATEGORIZED_STACK_EMAIL (line 5) | const UNCATEGORIZED_STACK_EMAIL = 'unknown@teable.ai'; constant KANBAN_STACK_DISABLED_FIELD_TYPES (line 7) | const KANBAN_STACK_DISABLED_FIELD_TYPES = [FieldType.Attachment]; FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/context/KanbanContext.ts type IKanbanContext (line 7) | interface IKanbanContext { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/context/KanbanProvider.tsx constant UNCATEGORIZED_STACK_DATA (line 33) | const UNCATEGORIZED_STACK_DATA = { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/store/useKanbanStackCollapsed.ts type IKanbanStackCollapsedState (line 5) | interface IKanbanStackCollapsedState { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/type.ts type IStackData (line 1) | interface IStackData { type IKanbanPermission (line 7) | interface IKanbanPermission { FILE: apps/nextjs-app/src/features/app/blocks/view/kanban/utils/card.ts constant CARD_STYLE (line 6) | const CARD_STYLE = { constant DEFAULT_FIELD_HEIGHT (line 15) | const DEFAULT_FIELD_HEIGHT = 20; constant CARD_COVER_HEIGHT (line 17) | const CARD_COVER_HEIGHT = 160; constant LONG_TEXT_FIELD_DISPLAY_ROWS (line 19) | const LONG_TEXT_FIELD_DISPLAY_ROWS = 4; constant FIELD_HEIGHT_MAP (line 21) | const FIELD_HEIGHT_MAP: { [key in FieldType]?: number } = { FILE: apps/nextjs-app/src/features/app/blocks/view/list/DraggableWrapper.tsx type IProvidedProps (line 8) | type IProvidedProps = ReturnType & { FILE: apps/nextjs-app/src/features/app/blocks/view/list/ViewListItem.tsx type IProps (line 39) | interface IProps { FILE: apps/nextjs-app/src/features/app/blocks/view/list/useAddView.ts function useAddView (line 9) | function useAddView() { FILE: apps/nextjs-app/src/features/app/blocks/view/list/useDeleteView.ts function useDeleteView (line 5) | function useDeleteView(viewId: string) { FILE: apps/nextjs-app/src/features/app/blocks/view/search/SearchButton.tsx type ISearchButtonProps (line 49) | interface ISearchButtonProps { FILE: apps/nextjs-app/src/features/app/blocks/view/search/SearchCommand.tsx type ISearchCommand (line 51) | interface ISearchCommand { type ISearchCommandRef (line 59) | interface ISearchCommandRef { type ActionType (line 63) | enum ActionType { FILE: apps/nextjs-app/src/features/app/blocks/view/search/SearchCountPagination.tsx type PageDirection (line 21) | enum PageDirection { type ISearchMap (line 26) | type ISearchMap = Record[number]>; type ISearchCountPaginationProps (line 30) | type ISearchCountPaginationProps = Pick; type ISearchCountPaginationRef (line 32) | interface ISearchCountPaginationRef { type PageData (line 37) | interface PageData { FILE: apps/nextjs-app/src/features/app/blocks/view/tool-bar/APIDialog.tsx type APIDialogProps (line 76) | interface APIDialogProps { FILE: apps/nextjs-app/src/features/app/blocks/view/tool-bar/APIDialogContent.tsx type IFieldInfo (line 46) | interface IFieldInfo { constant TOKEN_PLACEHOLDER (line 108) | const TOKEN_PLACEHOLDER = ''; type APIDialogContentProps (line 469) | interface APIDialogContentProps { FILE: apps/nextjs-app/src/features/app/blocks/view/tool-bar/ToolBarButton.tsx type IToolBarButton (line 4) | interface IToolBarButton extends React.ButtonHTMLAttributes { constant RATING_FIELD_MAXIMUM (line 61) | const RATING_FIELD_MAXIMUM = Array.from({ length: 10 }, (_, index) => { FILE: apps/nextjs-app/src/features/app/components/field-setting/options/SelectOptions/ChoiceItem.tsx type IOptionItemProps (line 7) | interface IOptionItemProps { FILE: apps/nextjs-app/src/features/app/components/field-setting/options/SelectOptions/SelectDefaultValue.tsx type ISelectDefaultValue (line 5) | interface ISelectDefaultValue { FILE: apps/nextjs-app/src/features/app/components/field-setting/show-as/MultiNumberShowAs.tsx type IMultiNumberShowAsProps (line 24) | interface IMultiNumberShowAsProps { FILE: apps/nextjs-app/src/features/app/components/field-setting/show-as/SingleLineTextShowAs.tsx type ISingleNumberShowAsProps (line 10) | interface ISingleNumberShowAsProps { FILE: apps/nextjs-app/src/features/app/components/field-setting/show-as/SingleNumberShowAs.tsx type ISingleNumberShowAsProps (line 27) | interface ISingleNumberShowAsProps { FILE: apps/nextjs-app/src/features/app/components/field-setting/show-as/UnionShowAs.tsx type IUnionShowAsProps (line 9) | interface IUnionShowAsProps { FILE: apps/nextjs-app/src/features/app/components/field-setting/type.ts type FieldOperator (line 3) | enum FieldOperator { type IFieldSetting (line 9) | interface IFieldSetting { type IFieldSettingBase (line 18) | type IFieldSettingBase = Omit & { type IFieldEditorRo (line 22) | type IFieldEditorRo = Partial & { FILE: apps/nextjs-app/src/features/app/components/notifications/NotificationActionBar.tsx type ActionBarProps (line 16) | interface ActionBarProps { FILE: apps/nextjs-app/src/features/app/components/notifications/NotificationIcon.tsx type NotificationIconProps (line 11) | interface NotificationIconProps { FILE: apps/nextjs-app/src/features/app/components/notifications/NotificationItem.tsx type INotificationItemProps (line 7) | interface INotificationItemProps { FILE: apps/nextjs-app/src/features/app/components/notifications/NotificationList.tsx type NotificationListProps (line 13) | interface NotificationListProps { FILE: apps/nextjs-app/src/features/app/components/notifications/NotificationsManage.tsx constant SHOWN_NOTIFICATIONS_LIMIT (line 22) | const SHOWN_NOTIFICATIONS_LIMIT = 100; FILE: apps/nextjs-app/src/features/app/components/notifications/notification-component/LinkNotification.tsx type LinkNotificationProps (line 9) | interface LinkNotificationProps { FILE: apps/nextjs-app/src/features/app/components/plugin-context-menu/PluginContextMenuManageDialog.tsx type IPluginContextMenuManageDialogProps (line 33) | interface IPluginContextMenuManageDialogProps { type IPluginContextMenuManageDialogRef (line 37) | interface IPluginContextMenuManageDialogRef { FILE: apps/nextjs-app/src/features/app/components/plugin-context-menu/components/useFloatPluginPosition.tsx constant DEFAULT_FLOAT_PLUGIN_WIDTH (line 8) | const DEFAULT_FLOAT_PLUGIN_WIDTH = 320; constant DEFAULT_FLOAT_PLUGIN_HEIGHT (line 9) | const DEFAULT_FLOAT_PLUGIN_HEIGHT = 200; type IFloatPluginPosition (line 11) | interface IFloatPluginPosition { type IFloatPluginsPosition (line 18) | interface IFloatPluginsPosition { FILE: apps/nextjs-app/src/features/app/components/plugin-context-menu/useActiveMenuPlugin.ts type ActiveMenuPluginState (line 3) | type ActiveMenuPluginState = { FILE: apps/nextjs-app/src/features/app/components/plugin-panel/PluginPanel.tsx type IPluginPanelProps (line 4) | interface IPluginPanelProps { FILE: apps/nextjs-app/src/features/app/components/plugin-panel/components/CreatePluginPanelDialog.tsx type ICreatePluginPanelDialogProps (line 19) | interface ICreatePluginPanelDialogProps { type ICreatePluginPanelDialogRef (line 25) | interface ICreatePluginPanelDialogRef { FILE: apps/nextjs-app/src/features/app/components/plugin-panel/hooks/usePluginPanelStore.ts type ITableState (line 5) | interface ITableState { type IPluginPanelState (line 12) | interface IPluginPanelState { constant DEFAULT_PLUGIN_PANEL_WIDTH (line 19) | const DEFAULT_PLUGIN_PANEL_WIDTH = '25%'; constant MAX_TABLES (line 20) | const MAX_TABLES = 30; FILE: apps/nextjs-app/src/features/app/components/plugin/ComponentPluginRender.tsx type IBaseProps (line 12) | type IBaseProps = { type IComponentPluginRenderProps (line 18) | type IComponentPluginRenderProps = IBaseProps & IPluginParams; FILE: apps/nextjs-app/src/features/app/components/plugin/IframePluginRender.tsx type IIframePluginRenderProps (line 12) | interface IIframePluginRenderProps extends React.IframeHTMLAttributes = { FILE: apps/nextjs-app/src/features/app/components/user/UserAvatar.tsx type UserAvatarProps (line 4) | interface UserAvatarProps { FILE: apps/nextjs-app/src/features/app/context/ShareContext.tsx type IShareContext (line 3) | interface IShareContext { FILE: apps/nextjs-app/src/features/app/context/StaticTextRegistryProvider.tsx type StaticTextRegistry (line 4) | type StaticTextRegistry = Record>; type StaticTextResolver (line 6) | type StaticTextResolver = (domain: string, key: string) => unknown | und... type StaticTextContextValue (line 8) | type StaticTextContextValue = { constant EMPTY_REGISTRY (line 13) | const EMPTY_REGISTRY: StaticTextRegistry = Object.freeze({}); constant EMPTY_CONTEXT (line 14) | const EMPTY_CONTEXT = Object.freeze({ FILE: apps/nextjs-app/src/features/app/dashboard/Pages.tsx function DashboardPage (line 19) | function DashboardPage() { FILE: apps/nextjs-app/src/features/app/dashboard/components/CreateDashboardDialog.tsx type ICreateDashboardDialogProps (line 20) | interface ICreateDashboardDialogProps { type ICreateDashboardDialogRef (line 25) | interface ICreateDashboardDialogRef { FILE: apps/nextjs-app/src/features/app/hooks/useAI.ts function useAI (line 5) | function useAI() { FILE: apps/nextjs-app/src/features/app/hooks/useBaseResource.ts type IBaseResourceBase (line 5) | interface IBaseResourceBase { type IBaseResourceEmpty (line 9) | interface IBaseResourceEmpty extends IBaseResourceBase { type IBaseResourceTable (line 13) | interface IBaseResourceTable extends IBaseResourceBase { type IBaseResourceDashboard (line 19) | interface IBaseResourceDashboard extends IBaseResourceBase { type IBaseResourceWorkflow (line 24) | interface IBaseResourceWorkflow extends IBaseResourceBase { type IBaseResourceApp (line 29) | interface IBaseResourceApp extends IBaseResourceBase { type IBaseResource (line 34) | type IBaseResource = type IBaseResourceParsed (line 41) | type IBaseResourceParsed = function parseBaseSlug (line 60) | function parseBaseSlug(slug?: string[]): IBaseResourceParsed { function useBaseResource (line 94) | function useBaseResource(): IBaseResource { FILE: apps/nextjs-app/src/features/app/hooks/useBillingLevelConfig.ts type AppSumoTier (line 6) | type AppSumoTier = 1 | 2 | 3 | 4; FILE: apps/nextjs-app/src/features/app/hooks/useDownLoad.ts type IDownloadProps (line 3) | interface IDownloadProps { constant DEFAULT_DOWNLOAD_IFRAME_ID (line 8) | const DEFAULT_DOWNLOAD_IFRAME_ID = 'teable_download_iframe_id'; FILE: apps/nextjs-app/src/features/app/hooks/useEnv.ts function useEnv (line 4) | function useEnv() { FILE: apps/nextjs-app/src/features/app/layouts/ShareBaseLayout.tsx type IShareBaseLayoutProps (line 23) | interface IShareBaseLayoutProps { FILE: apps/nextjs-app/src/features/app/utils/download-all-attachments.ts type IDownloadProgress (line 28) | interface IDownloadProgress { type IDownloadAllAttachmentsOptions (line 35) | interface IDownloadAllAttachmentsOptions { constant NAMING_SUITABLE_FIELD_TYPES (line 52) | const NAMING_SUITABLE_FIELD_TYPES: FieldType[] = [ function isFieldSuitableForNaming (line 66) | function isFieldSuitableForNaming(field: IFieldVo): boolean { type IDownloadCellAttachmentsOptions (line 70) | interface IDownloadCellAttachmentsOptions { type IDownloadResult (line 77) | interface IDownloadResult { type IAttachmentPreview (line 84) | interface IAttachmentPreview { type IAttachmentWithRowIndex (line 90) | interface IAttachmentWithRowIndex { constant PAGE_SIZE (line 98) | const PAGE_SIZE = 100; constant DOWNLOAD_CANCELLED_MESSAGE (line 99) | const DOWNLOAD_CANCELLED_MESSAGE = 'Download cancelled'; function formatFileSize (line 104) | function formatFileSize(bytes: number): string { function createAttachmentFilter (line 115) | function createAttachmentFilter(fieldId: string, existingFilter?: IFilte... function sanitizeForFilename (line 136) | function sanitizeForFilename(str: string): string { function loadAllAttachments (line 149) | async function loadAllAttachments( function getAttachmentPreview (line 272) | async function getAttachmentPreview( function getPaddedRowNumber (line 293) | function getPaddedRowNumber(rowIndex: number, totalRows: number): string { function generateFolderName (line 301) | function generateFolderName( function generateZipFileName (line 326) | function generateZipFileName( function downloadAllAttachments (line 375) | async function downloadAllAttachments( function isStreamingDownloadAvailable (line 584) | function isStreamingDownloadAvailable(): boolean { function downloadSingleAttachment (line 592) | function downloadSingleAttachment( function generateUniqueFileName (line 608) | function generateUniqueFileName(fileName: string, filenameCount: Map) { FILE: apps/nextjs-app/src/features/auth/components/TeableFooter.tsx type ITeableHeaderProps (line 5) | interface ITeableHeaderProps { FILE: apps/nextjs-app/src/features/auth/components/TurnstileWidget.tsx type Window (line 4) | interface Window { type TurnstileOptions (line 14) | interface TurnstileOptions { type TurnstileWidgetProps (line 38) | interface TurnstileWidgetProps { FILE: apps/nextjs-app/src/features/i18n/auth.config.ts type IAuthConfig (line 3) | interface IAuthConfig { FILE: apps/nextjs-app/src/features/i18n/automation.tsx type IAutomationConfig (line 3) | interface IAutomationConfig { FILE: apps/nextjs-app/src/features/i18n/base-all.config.ts type IBaseAllConfig (line 3) | interface IBaseAllConfig { FILE: apps/nextjs-app/src/features/i18n/base.config.ts type IBaseConfig (line 3) | interface IBaseConfig { FILE: apps/nextjs-app/src/features/i18n/dashboard.config.ts type IDashboardConfig (line 3) | interface IDashboardConfig { FILE: apps/nextjs-app/src/features/i18n/developer.config.ts type IDeveloperConfig (line 3) | interface IDeveloperConfig { FILE: apps/nextjs-app/src/features/i18n/oauth-app.config.ts type IOAuthAppConfig (line 3) | interface IOAuthAppConfig { FILE: apps/nextjs-app/src/features/i18n/personal-access-token.config.ts type IPersonalAccessTokenConfig (line 3) | interface IPersonalAccessTokenConfig { FILE: apps/nextjs-app/src/features/i18n/setting-plugin.config.ts type ISettingPluginConfig (line 3) | interface ISettingPluginConfig { FILE: apps/nextjs-app/src/features/i18n/setting.config.ts type ISettingConfig (line 3) | interface ISettingConfig { FILE: apps/nextjs-app/src/features/i18n/share.config.ts type IShareConfig (line 3) | interface IShareConfig { FILE: apps/nextjs-app/src/features/i18n/space.config.ts type ISpaceConfig (line 3) | interface ISpaceConfig { FILE: apps/nextjs-app/src/features/i18n/system.config.ts type ISystemConfig (line 3) | interface ISystemConfig { FILE: apps/nextjs-app/src/features/i18n/table.config.ts type ITableConfig (line 3) | interface ITableConfig { FILE: apps/nextjs-app/src/features/system/pages/ErrorPage.tsx type Props (line 5) | type Props = { FILE: apps/nextjs-app/src/features/system/pages/ForbiddenPage.tsx type ForbiddenPageProps (line 6) | type ForbiddenPageProps = { FILE: apps/nextjs-app/src/features/system/pages/HttpErrorPage.tsx type HttpErrorPageProps (line 9) | type HttpErrorPageProps = { FILE: apps/nextjs-app/src/features/system/pages/IllustrationPage.tsx type IButtonConfig (line 7) | interface IButtonConfig { type IIllustrationPageProps (line 13) | interface IIllustrationPageProps { FILE: apps/nextjs-app/src/features/system/pages/NotFoundPage.tsx type NotFoundPageProps (line 6) | type NotFoundPageProps = { FILE: apps/nextjs-app/src/features/system/pages/PaymentRequired.tsx type PaymentRequiredPageProps (line 6) | type PaymentRequiredPageProps = { FILE: apps/nextjs-app/src/lib/emoji-color.ts function getEmojiAverageColor (line 1) | function getEmojiAverageColor( function rgbToHex (line 56) | function rgbToHex(r: number, g: number, b: number): string { function getEmojiColor (line 60) | function getEmojiColor(emoji: string, size: number = 64): string { FILE: apps/nextjs-app/src/lib/ensureLogin.ts type GetServerSideProps (line 13) | type GetServerSideProps< function ensureLogin (line 19) | function ensureLogin

( function redirectSocialAuth (line 97) | function redirectSocialAuth(req: GetServerSidePropsContext['req']) { FILE: apps/nextjs-app/src/lib/get-brand.ts function getBrand (line 4) | async function getBrand(ssrApi: SsrApi) { FILE: apps/nextjs-app/src/lib/handleBase.ts function handleBase (line 8) | async function handleBase( FILE: apps/nextjs-app/src/lib/i18n/I18nNamespace.types.ts type I18nNamespace (line 3) | type I18nNamespace = keyof CustomTypeOptions['resources']; type I18nActiveNamespaces (line 8) | type I18nActiveNamespaces = Extract< FILE: apps/nextjs-app/src/lib/i18n/acceptHeader.ts type ISelection (line 6) | interface ISelection { type IOptions (line 13) | interface IOptions { function parse (line 19) | function parse(raw: string, preferences: string[] | undefined, options: ... function acceptLanguage (line 138) | function acceptLanguage(header = '', preferences?: string[]) { FILE: apps/nextjs-app/src/lib/i18n/getLocale.ts type I18NConfig (line 4) | interface I18NConfig { type IOptions (line 10) | interface IOptions { function getAcceptPreferredLocale (line 15) | function getAcceptPreferredLocale( function getLocaleFromCookie (line 29) | function getLocaleFromCookie(req: NextRequest, locales: string[]) { function detectLocale (line 36) | function detectLocale({ function getLocaleDetection (line 48) | function getLocaleDetection({ req, i18n }: IOptions) { FILE: apps/nextjs-app/src/lib/i18n/staticPageLocale.ts type LocaleLoader (line 4) | type LocaleLoader = () => Promise<{ default: Record }>; FILE: apps/nextjs-app/src/lib/server-env.ts type IServerEnv (line 3) | interface IServerEnv { FILE: apps/nextjs-app/src/lib/type.ts type IBasePageProps (line 6) | type IBasePageProps = SSRConfig & { type NextPageWithLayout (line 11) | type NextPageWithLayout

, IP = P> = NextPage<... FILE: apps/nextjs-app/src/lib/view-pages-data.ts type IViewPageProps (line 5) | interface IViewPageProps { FILE: apps/nextjs-app/src/lib/withAuthSSR.ts type SSRHttpError (line 15) | type SSRHttpError = { httpError: IHttpError }; class ForbiddenError (line 17) | class ForbiddenError extends HttpError { method constructor (line 18) | constructor(message = 'Forbidden') { type GetServerSideProps (line 23) | type GetServerSideProps< function withAuthSSR (line 33) | function withAuthSSR< FILE: apps/nextjs-app/src/lib/withEnv.ts type GetServerSideProps (line 13) | type GetServerSideProps< function withEnv (line 19) | function withEnv

( FILE: apps/nextjs-app/src/pages/402.tsx function Custom402 (line 14) | function Custom402() { FILE: apps/nextjs-app/src/pages/403.tsx function Custom403 (line 14) | function Custom403() { FILE: apps/nextjs-app/src/pages/404.tsx function Custom404 (line 21) | function Custom404() { FILE: apps/nextjs-app/src/pages/_app.tsx type AppProps (line 40) | type AppProps = NextAppProps & { type AppPropsWithLayout (line 45) | type AppPropsWithLayout = AppProps<{ FILE: apps/nextjs-app/src/pages/_document.tsx type Props (line 4) | type Props = DocumentProps & { class MyDocument (line 8) | class MyDocument extends Document { method render (line 9) | render() { FILE: apps/nextjs-app/src/pages/_error.tsx type AugmentedError (line 21) | type AugmentedError = NonNullable | null; type CustomErrorProps (line 22) | type CustomErrorProps = { type AugmentedNextPageContext (line 29) | type AugmentedNextPageContext = Omit & { FILE: apps/nextjs-app/src/pages/_monitor/preview/error-page.tsx function ErrorPageRoute (line 5) | function ErrorPageRoute() { FILE: apps/nextjs-app/src/pages/_monitor/sentry/ssr-page.tsx type Props (line 3) | type Props = { function MonitorSentrySsrRoute (line 7) | function MonitorSentrySsrRoute( FILE: apps/nextjs-app/src/pages/api/_monitor/healthcheck.ts type IHealthCheckApiPayload (line 3) | type IHealthCheckApiPayload = { function healthCheckApiRoute (line 11) | async function healthCheckApiRoute(req: NextApiRequest, res: NextApiResp... FILE: apps/nextjs-app/src/pages/api/_monitor/sentry.ts function sentryMonitorApiRoute (line 5) | async function sentryMonitorApiRoute(_req: NextApiRequest, _res: NextApi... FILE: apps/nextjs-app/src/pages/auth/forget-password.tsx function ForgetPasswordRoute (line 10) | function ForgetPasswordRoute() { FILE: apps/nextjs-app/src/pages/auth/login.tsx type Props (line 19) | type Props = { function LoginRoute (line 23) | function LoginRoute( FILE: apps/nextjs-app/src/pages/auth/reset-password.tsx function ForgetPasswordRoute (line 10) | function ForgetPasswordRoute() { FILE: apps/nextjs-app/src/pages/index.tsx type Props (line 2) | type Props = { function DemoRoute (line 6) | function DemoRoute(_props: InferGetServerSidePropsType & { options?: F... type FieldFormValidator (line 44) | type FieldFormValidator = Validator['opt... type RollupFieldConfig (line 46) | type RollupFieldConfig = Extract['... type RollupFieldOptions (line 47) | type RollupFieldOptions = Extract[... type LookupFieldOptions (line 48) | type LookupFieldOptions = Extract[... type FieldType (line 49) | type FieldType = ITableFieldInput['type']; type FieldFormApi (line 51) | type FieldFormApi = ReactFormApi; function FieldForm (line 53) | function FieldForm({ baseId, tableId, onCancel, onSuccess }: FieldFormPr... FILE: apps/playground/src/components/playground/FieldFormOptions.tsx type FieldFormOptionsProps (line 27) | interface FieldFormOptionsProps { function FieldFormOptions (line 35) | function FieldFormOptions({ FILE: apps/playground/src/components/playground/ImportCsvDialog.tsx type ImportCsvDialogProps (line 19) | type ImportCsvDialogProps = { function ImportCsvDialog (line 24) | function ImportCsvDialog({ onImport, trigger }: ImportCsvDialogProps) { FILE: apps/playground/src/components/playground/LinkFieldLabel.tsx type LinkFieldLabelProps (line 6) | type LinkFieldLabelProps = { function LinkFieldLabel (line 25) | function LinkFieldLabel({ type FieldLabelProps (line 54) | type FieldLabelProps = { function FieldLabel (line 59) | function FieldLabel({ field, className }: FieldLabelProps) { FILE: apps/playground/src/components/playground/LogPanel.tsx type LogLevelConfig (line 30) | type LogLevelConfig = { constant LOG_LEVEL_CONFIG (line 37) | const LOG_LEVEL_CONFIG: Record = { constant ALL_LEVELS (line 64) | const ALL_LEVELS: ReadonlyArray = ['debug', 'info', 'warn', 'e... type PanelSize (line 66) | type PanelSize = 'normal' | 'large'; constant PANEL_SIZE_CONFIG (line 68) | const PANEL_SIZE_CONFIG: Record; type RecordFormValidator (line 39) | type RecordFormValidator = Validator; type RecordFormValidator (line 46) | type RecordFormValidator = Validator; type LookupOptionsProps (line 17) | type LookupOptionsProps = { function LookupOptions (line 24) | function LookupOptions({ form, tableId, tables, isTablesLoading }: Looku... FILE: apps/playground/src/components/playground/field-options/NumberOptions.tsx function NumberOptions (line 12) | function NumberOptions({ form }: { form: FieldFormApi }) { FILE: apps/playground/src/components/playground/field-options/RatingOptions.tsx function RatingOptions (line 13) | function RatingOptions({ form }: { form: FieldFormApi }) { FILE: apps/playground/src/components/playground/field-options/RollupOptions.tsx type LinkFieldDto (line 16) | type LinkFieldDto = Extract; type RollupOptionsProps (line 18) | type RollupOptionsProps = { function RollupOptions (line 25) | function RollupOptions({ form, tableId, tables, isTablesLoading }: Rollu... FILE: apps/playground/src/components/playground/field-options/SelectOptions.tsx function SelectOptions (line 16) | function SelectOptions({ form }: { form: FieldFormApi }) { FILE: apps/playground/src/components/playground/field-options/SingleLineTextOptions.tsx function SingleLineTextOptions (line 12) | function SingleLineTextOptions({ form }: { form: FieldFormApi }) { FILE: apps/playground/src/components/playground/field-options/UserOptions.tsx function UserOptions (line 5) | function UserOptions({ form }: { form: FieldFormApi }) { FILE: apps/playground/src/components/playground/fieldOptionsVisitor.tsx class FieldOptionsVisitor (line 91) | class FieldOptionsVisitor implements IFieldVisitor { method visitSingleLineTextField (line 92) | visitSingleLineTextField(field: SingleLineTextField): Result { method visitNumberField (line 108) | visitNumberField(field: NumberField): Result { method visitRatingField (line 119) | visitRatingField(field: RatingField): Result { method visitFormulaField (line 127) | visitFormulaField(field: FormulaField): Result { method visitRollupField (line 155) | visitRollupField(field: RollupField): Result { method visitSingleSelectField (line 164) | visitSingleSelectField(field: SingleSelectField): Result { method visitAttachmentField (line 193) | visitAttachmentField(field: AttachmentField): Result { method visitDateField (line 197) | visitDateField(field: DateField): Result { method visitCreatedTimeField (line 208) | visitCreatedTimeField(field: CreatedTimeField): Result { method visitCreatedByField (line 243) | visitCreatedByField(field: CreatedByField): Result { method visitLastModifiedByField (line 249) | visitLastModifiedByField(field: LastModifiedByField): Result { method visitButtonField (line 267) | visitButtonField(field: ButtonField): Result { method visitLinkField (line 285) | visitLinkField(field: LinkField): Result { method visitLookupField (line 294) | visitLookupField(field: LookupField): Result { method visitConditionalRollupField (line 308) | visitConditionalRollupField(field: ConditionalRollupField): Result) { function CardHeader (line 18) | function CardHeader({ className, ...props }: React.ComponentProps<'div'>) { function CardTitle (line 31) | function CardTitle({ className, ...props }: React.ComponentProps<'div'>) { function CardDescription (line 41) | function CardDescription({ className, ...props }: React.ComponentProps<'... function CardAction (line 51) | function CardAction({ className, ...props }: React.ComponentProps<'div'>) { function CardContent (line 61) | function CardContent({ className, ...props }: React.ComponentProps<'div'... function CardFooter (line 65) | function CardFooter({ className, ...props }: React.ComponentProps<'div'>) { FILE: apps/playground/src/components/ui/checkbox.tsx function Checkbox (line 9) | function Checkbox({ className, ...props }: React.ComponentProps { function DataTable (line 68) | function DataTable({ FILE: apps/playground/src/components/ui/date-picker.tsx type DatePickerProps (line 12) | interface DatePickerProps { function DatePicker (line 19) | function DatePicker({ value, onChange, placeholder, disabled }: DatePick... FILE: apps/playground/src/components/ui/dialog.tsx function Dialog (line 7) | function Dialog({ ...props }: React.ComponentProps) { function FormLabel (line 80) | function FormLabel({ className, ...props }: React.ComponentProps) { function FormDescription (line 108) | function FormDescription({ className, ...props }: React.ComponentProps<'... function FormMessage (line 121) | function FormMessage({ className, ...props }: React.ComponentProps<'p'>) { FILE: apps/playground/src/components/ui/input.tsx function Input (line 5) | function Input({ className, type, ...props }: React.ComponentProps<'inpu... FILE: apps/playground/src/components/ui/label.tsx function Label (line 8) | function Label({ className, ...props }: React.ComponentProps) { function SidebarMenuItem (line 503) | function SidebarMenuItem({ className, ...props }: React.ComponentProps<'... function SidebarMenuAction (line 596) | function SidebarMenuAction({ function SidebarMenuBadge (line 628) | function SidebarMenuBadge({ className, ...props }: React.ComponentProps<... function SidebarMenuSkeleton (line 647) | function SidebarMenuSkeleton({ function SidebarMenuSub (line 682) | function SidebarMenuSub({ className, ...props }: React.ComponentProps<'u... function SidebarMenuSubItem (line 697) | function SidebarMenuSubItem({ className, ...props }: React.ComponentProp... function SidebarMenuSubButton (line 708) | function SidebarMenuSubButton({ FILE: apps/playground/src/components/ui/skeleton.tsx function Skeleton (line 5) | function Skeleton({ className, ...props }: React.HTMLAttributes) { function TableHeader (line 17) | function TableHeader({ className, ...props }: React.ComponentProps<'thea... function TableBody (line 21) | function TableBody({ className, ...props }: React.ComponentProps<'tbody'... function TableFooter (line 31) | function TableFooter({ className, ...props }: React.ComponentProps<'tfoo... function TableRow (line 41) | function TableRow({ className, ...props }: React.ComponentProps<'tr'>) { function TableHead (line 54) | function TableHead({ className, ...props }: React.ComponentProps<'th'>) { function TableCell (line 67) | function TableCell({ className, ...props }: React.ComponentProps<'td'>) { function TableCaption (line 80) | function TableCaption({ className, ...props }: React.ComponentProps<'cap... FILE: apps/playground/src/components/ui/textarea.tsx function Textarea (line 5) | function Textarea({ className, ...props }: React.ComponentProps<'textare... FILE: apps/playground/src/components/ui/tooltip.tsx function TooltipProvider (line 6) | function TooltipProvider({ function Tooltip (line 19) | function Tooltip({ ...props }: React.ComponentProps = { type BroadcastChannelQueryState (line 16) | type BroadcastChannelQueryState = { FILE: apps/playground/src/lib/fieldTypeIcons.ts function getFieldTypeIcon (line 57) | function getFieldTypeIcon(fieldType: string): LucideIcon { FILE: apps/playground/src/lib/nuqs/tanstackRouterAdapter.tsx function useNuqsTanstackRouterAdapter (line 12) | function useNuqsTanstackRouterAdapter(watchKeys: string[]): unstable_Ada... FILE: apps/playground/src/lib/orpc/OrpcClientContext.tsx type V2ContractRouter (line 5) | type V2ContractRouter = (typeof import('@teable/v2-contract-http'))['v2C... type V2OrpcClient (line 6) | type V2OrpcClient = ContractRouterClient; FILE: apps/playground/src/lib/orpcClient.ts type V2ContractRouter (line 6) | type V2ContractRouter = (typeof import('@teable/v2-contract-http'))['v2C... type V2OrpcClient (line 7) | type V2OrpcClient = ContractRouterClient; FILE: apps/playground/src/lib/playground/constants.ts constant PLAYGROUND_BASE_ID (line 1) | const PLAYGROUND_BASE_ID = 'bseplayground000001'; constant PLAYGROUND_BASE_NAME (line 2) | const PLAYGROUND_BASE_NAME = '__teable_playground'; constant PLAYGROUND_SPACE_ID (line 3) | const PLAYGROUND_SPACE_ID = 'spc_playground'; constant PLAYGROUND_ACTOR_ID (line 4) | const PLAYGROUND_ACTOR_ID = 'playground'; constant PLAYGROUND_BASE_ID_STORAGE_KEY (line 5) | const PLAYGROUND_BASE_ID_STORAGE_KEY = 'teable.playground.baseId'; constant PLAYGROUND_TABLE_ID_STORAGE_KEY (line 6) | const PLAYGROUND_TABLE_ID_STORAGE_KEY = 'teable.playground.tableId'; constant SANDBOX_BASE_ID (line 8) | const SANDBOX_BASE_ID = 'bseSandbox000000001'; constant SANDBOX_BASE_NAME (line 9) | const SANDBOX_BASE_NAME = '__teable_sandbox'; constant SANDBOX_SPACE_ID (line 10) | const SANDBOX_SPACE_ID = 'spcSandbox000000001'; constant SANDBOX_ACTOR_ID (line 11) | const SANDBOX_ACTOR_ID = 'sandbox'; constant SANDBOX_BASE_ID_STORAGE_KEY (line 12) | const SANDBOX_BASE_ID_STORAGE_KEY = 'teable.sandbox.baseId'; constant SANDBOX_TABLE_ID_STORAGE_KEY (line 13) | const SANDBOX_TABLE_ID_STORAGE_KEY = 'teable.sandbox.tableId'; constant SANDBOX_PGLITE_CONNECTION_STRING (line 14) | const SANDBOX_PGLITE_CONNECTION_STRING = 'idb://teable'; FILE: apps/playground/src/lib/playground/databaseUrl.ts constant PLAYGROUND_DB_URL_STORAGE_KEY (line 1) | const PLAYGROUND_DB_URL_STORAGE_KEY = 'teable.playground.dbUrl'; constant PLAYGROUND_DB_CONNECTIONS_STORAGE_KEY (line 2) | const PLAYGROUND_DB_CONNECTIONS_STORAGE_KEY = 'teable.playground.dbConne... constant PLAYGROUND_DB_URL_HEADER (line 3) | const PLAYGROUND_DB_URL_HEADER = 'x-playground-db-url'; constant PLAYGROUND_DB_URL_QUERY_PARAM (line 4) | const PLAYGROUND_DB_URL_QUERY_PARAM = 'dbUrl'; type PlaygroundDbConnection (line 6) | interface PlaygroundDbConnection { FILE: apps/playground/src/lib/playground/environment.ts type PlaygroundEnvironment (line 60) | type PlaygroundEnvironment = typeof remoteEnvironment | typeof sandboxEn... FILE: apps/playground/src/lib/sandboxOrpcClient.ts type V2ContractRouter (line 29) | type V2ContractRouter = (typeof import('@teable/v2-contract-http'))['v2C... type V2OrpcClient (line 30) | type V2OrpcClient = ContractRouterClient; type SandboxHandler (line 32) | type SandboxHandler = (input: unknown, executionContext: IExecutionConte... FILE: apps/playground/src/lib/shareDb.ts type ShareDbDocStatus (line 6) | type ShareDbDocStatus = 'idle' | 'connecting' | 'ready' | 'error'; type ShareDbDocState (line 8) | type ShareDbDocState = { type ShareDbQueryState (line 14) | type ShareDbQueryState = { type SharedConnection (line 23) | type SharedConnection = { FILE: apps/playground/src/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: apps/playground/src/routes/$baseId.$tableId.$recordId.tsx function PlaygroundRecordRouteWrapper (line 10) | function PlaygroundRecordRouteWrapper() { FILE: apps/playground/src/routes/$baseId.$tableId.tsx function TableLayoutRoute (line 10) | function TableLayoutRoute() { FILE: apps/playground/src/routes/$baseId.tsx function PlaygroundBaseRoute (line 61) | function PlaygroundBaseRoute() { type PlaygroundBaseLayoutProps (line 70) | type PlaygroundBaseLayoutProps = { function PlaygroundBaseLayout (line 74) | function PlaygroundBaseLayout({ baseId }: PlaygroundBaseLayoutProps) { type PlaygroundBasePageProps (line 353) | type PlaygroundBasePageProps = { function PlaygroundBasePage (line 370) | function PlaygroundBasePage({ type PlaygroundBaseHeaderProps (line 421) | type PlaygroundBaseHeaderProps = { function PlaygroundBaseHeader (line 434) | function PlaygroundBaseHeader({ type PlaygroundErrorStateProps (line 489) | type PlaygroundErrorStateProps = { function PlaygroundErrorState (line 493) | function PlaygroundErrorState({ message }: PlaygroundErrorStateProps) { function PlaygroundBaseLoadingState (line 504) | function PlaygroundBaseLoadingState() { type PlaygroundTablesCardProps (line 528) | type PlaygroundTablesCardProps = { function PlaygroundTablesCard (line 534) | function PlaygroundTablesCard({ baseId, tables, searchValue }: Playgroun... type PlaygroundBaseEmptyStateProps (line 597) | type PlaygroundBaseEmptyStateProps = { function PlaygroundBaseEmptyState (line 608) | function PlaygroundBaseEmptyState({ FILE: apps/playground/src/routes/__root.tsx type MyRouterContext (line 10) | interface MyRouterContext { function RootDocument (line 60) | function RootDocument({ children }: { children: React.ReactNode }) { FILE: apps/playground/src/routes/api.computed-tasks.$taskId.retry-now.ts function handlePost (line 16) | async function handlePost({ params }: { params: { taskId: string } }) { FILE: apps/playground/src/routes/api.computed-tasks.dead-letters.$taskId.replay.ts function handlePost (line 15) | async function handlePost({ params }: { params: { taskId: string } }) { FILE: apps/playground/src/routes/api.computed-tasks.dead-letters.$taskId.ts function handleDelete (line 14) | async function handleDelete({ params }: { params: { taskId: string } }) { FILE: apps/playground/src/routes/api.computed-tasks.dead-letters.ts function handleGet (line 14) | async function handleGet() { FILE: apps/playground/src/routes/api.computed-tasks.outbox.ts function handleGet (line 14) | async function handleGet() { FILE: apps/playground/src/routes/api.db.check.ts type CheckRequestBody (line 6) | type CheckRequestBody = { function handleCheck (line 34) | async function handleCheck({ request }: { request: Request }) { FILE: apps/playground/src/routes/api.logs.stream.ts function handleSSE (line 9) | async function handleSSE({ request }: { request: Request }) { FILE: apps/playground/src/routes/api.meta.$tableId.check.stream.ts type MetaCheckSSEResult (line 15) | interface MetaCheckSSEResult { function handleSSE (line 31) | async function handleSSE({ FILE: apps/playground/src/routes/api.rpc.$.ts function handle (line 53) | async function handle({ request }: { request: Request }) { FILE: apps/playground/src/routes/api.schema.$tableId.check.stream.ts function handleSSE (line 22) | async function handleSSE({ FILE: apps/playground/src/routes/api.underlying.$tableId.ts type UnderlyingDataResponse (line 13) | type UnderlyingDataResponse = { function handleGet (line 20) | async function handleGet({ FILE: apps/playground/src/routes/computed-tasks.tsx function ComputedTasksPage (line 11) | function ComputedTasksPage() { FILE: apps/playground/src/routes/index.tsx type RedirectTarget (line 19) | type RedirectTarget = function PlaygroundIndex (line 26) | function PlaygroundIndex() { FILE: apps/playground/src/routes/sandbox/$baseId.$tableId.$recordId.tsx function SandboxRecordRoute (line 11) | function SandboxRecordRoute() { FILE: apps/playground/src/routes/sandbox/$baseId.$tableId.tsx function SandboxTableLayout (line 11) | function SandboxTableLayout() { FILE: apps/playground/src/routes/sandbox/$baseId.tsx function SandboxBaseRoute (line 11) | function SandboxBaseRoute() { FILE: apps/playground/src/server/otel.ts class OpenTelemetrySpan (line 111) | class OpenTelemetrySpan implements ISpan { method constructor (line 112) | constructor(public readonly span: ApiSpan) {} method setAttribute (line 114) | setAttribute(key: string, value: SpanAttributeValue): void { method setAttributes (line 118) | setAttributes(attributes: SpanAttributes): void { method recordError (line 122) | recordError(message: string): void { method end (line 127) | end(): void { class OpenTelemetryTracer (line 132) | class OpenTelemetryTracer implements ITracer { method constructor (line 133) | constructor(private readonly name = 'v2-core') {} method startSpan (line 135) | startSpan(name: string, attributes?: SpanAttributes): ISpan { method withSpan (line 141) | async withSpan(span: ISpan, callback: () => Promise): Promise { method getActiveSpan (line 148) | getActiveSpan(): ISpan | undefined { FILE: apps/playground/src/server/playgroundDbContext.ts type PlaygroundDbContext (line 3) | type PlaygroundDbContext = { FILE: apps/playground/src/server/playgroundLogger.ts type GlobalWithLogger (line 24) | type GlobalWithLogger = typeof globalThis & { FILE: apps/playground/src/server/shareDbServer.ts constant DEFAULT_SHAREDB_PORT (line 18) | const DEFAULT_SHAREDB_PORT = 3101; type ShareDbRuntime (line 20) | type ShareDbRuntime = { FILE: apps/playground/src/types/sharedb-pubsub.d.ts class PubSub (line 4) | class PubSub extends ShareDB.PubSub {} class MemoryPubSub (line 10) | class MemoryPubSub extends ShareDB.PubSub {} FILE: apps/playground/vite.config.ts constant PLAYGROUND_PORT (line 51) | const PLAYGROUND_PORT = 3100; method resolveId (line 86) | resolveId(id) { method config (line 106) | config(viteConfig) { FILE: packages/common-i18n/src/I18nNamespaces.ts type I18nNamespaces (line 16) | interface I18nNamespaces { FILE: packages/core/src/array/ArrayUtils.ts class ArrayUtils (line 3) | class ArrayUtils { method getRandom (line 4) | static getRandom(items: T[]): T { method removeItem (line 8) | static removeItem(arr: T[], item: T): T[] { FILE: packages/core/src/asserts/asserts.ts type IMsgOrErrorFactory (line 3) | type IMsgOrErrorFactory = string | (() => Error); function assertNonEmptyString (line 5) | function assertNonEmptyString( function assertIncludes (line 16) | function assertIncludes( function assertIsPresent (line 35) | function assertIsPresent( function assertSafeInteger (line 44) | function assertSafeInteger( function createAssertException (line 53) | function createAssertException(msgOrErrorFactory?: string | (() => Error... function assertNever (line 85) | function assertNever(value: never, noThrow?: boolean): never { FILE: packages/core/src/asserts/lang.ts constant LOCALES (line 1) | const LOCALES = ['en', 'zh', 'fr'] as const; FILE: packages/core/src/auth/actions.ts type ActionPrefix (line 4) | enum ActionPrefix { type SpaceAction (line 29) | type SpaceAction = z.infer; type BaseAction (line 46) | type BaseAction = z.infer; type TableAction (line 60) | type TableAction = z.infer; type ViewAction (line 70) | type ViewAction = z.infer; type FieldAction (line 74) | type FieldAction = z.infer; type RecordAction (line 85) | type RecordAction = z.infer; type AutomationAction (line 94) | type AutomationAction = z.infer; type AppAction (line 98) | type AppAction = z.infer; type UserAction (line 102) | type UserAction = z.infer; type TableRecordHistoryAction (line 106) | type TableRecordHistoryAction = z.infer; type EnterpriseAction (line 114) | type EnterpriseAction = z.infer; type Action (line 116) | type Action = type ActionPrefixMap (line 130) | type ActionPrefixMap = { FILE: packages/core/src/auth/anonymous.ts constant ANONYMOUS_USER_ID (line 1) | const ANONYMOUS_USER_ID = 'anonymous'; constant ANONYMOUS_USER (line 6) | const ANONYMOUS_USER = { FILE: packages/core/src/auth/app-robot.ts constant APP_ROBOT_ID (line 2) | const APP_ROBOT_ID = 'appRobot'; constant APP_ROBOT_USER (line 4) | const APP_ROBOT_USER = { FILE: packages/core/src/auth/automation-robot.ts constant AUTOMATION_ROBOT_ID (line 2) | const AUTOMATION_ROBOT_ID = 'automationRobot'; constant AUTOMATION_ROBOT_USER (line 4) | const AUTOMATION_ROBOT_USER = { FILE: packages/core/src/auth/oauth.ts constant OAUTH_ACTIONS (line 12) | const OAUTH_ACTIONS: ( FILE: packages/core/src/auth/role/base.ts type IBaseRole (line 18) | type IBaseRole = z.infer; type ExcludeSpaceAction (line 20) | type ExcludeSpaceAction = T extends SpaceAction ? never : T; type BasePermission (line 22) | type BasePermission = ExcludeSpaceAction; FILE: packages/core/src/auth/role/share.ts type ShareViewAction (line 4) | type ShareViewAction = ViewAction | FieldAction | RecordAction; FILE: packages/core/src/auth/role/space.ts type ISpaceAction (line 3) | type ISpaceAction = Action; FILE: packages/core/src/auth/role/table.ts type ITableRole (line 14) | type ITableRole = z.infer; type TablePermission (line 16) | type TablePermission = ViewAction | FieldAction | RecordAction | TableAc... FILE: packages/core/src/auth/role/types.ts type IRole (line 21) | type IRole = z.infer; FILE: packages/core/src/auth/system.ts constant SYSTEM_USER_ID (line 1) | const SYSTEM_USER_ID = 'system'; FILE: packages/core/src/auth/types.ts type ExcludeAction (line 2) | type ExcludeAction = T extends F ? n... type PickAction (line 5) | type PickAction = T extends F ? T : ... FILE: packages/core/src/convert/nulls-to-undefined.ts function nullsToUndefined (line 4) | function nullsToUndefined(obj: T): IRecursivelyReplaceNullWithUndefin... function nullsToUndefinedShallow (line 19) | function nullsToUndefinedShallow(obj: T): IRecursivelyReplaceNullWith... FILE: packages/core/src/convert/string-convert.ts function stringToSafeInteger (line 3) | function stringToSafeInteger(value: string | unknown): number | null { function stringToFloat (line 10) | function stringToFloat(value: string | unknown): number | null { FILE: packages/core/src/errors/extract-error-message.ts function extractErrorMessage (line 14) | function extractErrorMessage(error: unknown): string { function getStringField (line 37) | function getStringField(obj: Record, field: string): st... function getNestedErrorMessage (line 42) | function getNestedErrorMessage(obj: Record): string | n... function getResponseBodyMessage (line 50) | function getResponseBodyMessage(obj: Record): string | ... FILE: packages/core/src/errors/http/http-response.types.ts type IHttpError (line 4) | type IHttpError = { type HttpErrorCode (line 15) | enum HttpErrorCode { type ICustomHttpExceptionData (line 68) | type ICustomHttpExceptionData = Record = { FILE: packages/core/src/formula/errors/circular-reference.error.ts class CircularReferenceError (line 14) | class CircularReferenceError extends Error { method constructor (line 19) | constructor(fieldId: string, expansionStack: string[] = []) { method getCircularChain (line 39) | getCircularChain(): string[] { method getCircularDescription (line 46) | getCircularDescription(): string { FILE: packages/core/src/formula/function-aliases.ts constant FUNCTION_NAME_ALIASES (line 9) | const FUNCTION_NAME_ALIASES: Record = { FILE: packages/core/src/formula/function-convertor.interface.ts type FormulaParamType (line 5) | type FormulaParamType = 'string' | 'number' | 'boolean' | 'datetime' | '... type IFormulaParamFieldMetadata (line 7) | interface IFormulaParamFieldMetadata { type IFormulaParamMetadata (line 17) | interface IFormulaParamMetadata { type IFieldMap (line 26) | type IFieldMap = Map; type ITeableToDbFunctionConverter (line 33) | interface ITeableToDbFunctionConverter { FILE: packages/core/src/formula/functions/array.ts type IUnionType (line 11) | type IUnionType = string | number | boolean | null | IUnionType[]; class CountAll (line 71) | class CountAll extends ArrayFunc { method validateParams (line 83) | validateParams(params: TypedValue[]) { method getReturnType (line 89) | getReturnType(params: TypedValue[]) { method eval (line 94) | eval(params: TypedValue[]): number { class CountA (line 105) | class CountA extends ArrayFunc { method validateParams (line 117) | validateParams(params: TypedValue[]) { method getReturnType (line 123) | getReturnType(params: TypedValue[]) { method eval (line 128) | eval(params: TypedValue[]): number { class Count (line 133) | class Count extends ArrayFunc { method validateParams (line 145) | validateParams(params: TypedValue[]) { method getReturnType (line 151) | getReturnType(params: TypedValue[]) { method eval (line 156) | eval(params: TypedValue[]): number { class ArrayJoin (line 161) | class ArrayJoin extends ArrayFunc { method validateParams (line 168) | validateParams(params: TypedValue[]) { method getReturnType (line 174) | getReturnType(params: TypedValue[]) { method eval (line 179) | eval(params: TypedValue[]): string ... class ArrayUnique (line 186) | class ArrayUnique extends ArrayFunc { method validateParams (line 198) | validateParams(params: TypedValue[]) { method getReturnType (line 204) | getReturnType(params: TypedValue[]) { method eval (line 209) | eval(params: TypedValue[]): IUnionType | null { class ArrayFlatten (line 216) | class ArrayFlatten extends ArrayFunc { method validateParams (line 228) | validateParams(params: TypedValue[]) { method getReturnType (line 234) | getReturnType(params: TypedValue[]) { method eval (line 239) | eval(params: TypedValue[]): IUnionType | null { class ArrayCompact (line 245) | class ArrayCompact extends ArrayFunc { method validateParams (line 257) | validateParams(params: TypedValue[]) { method getReturnType (line 263) | getReturnType(params: TypedValue[]) { method eval (line 268) | eval(params: TypedValue[]): IUnionType | null { FILE: packages/core/src/formula/functions/common.ts type FormulaFuncType (line 6) | enum FormulaFuncType { type IFormulaContext (line 15) | interface IFormulaContext { type FunctionName (line 59) | enum FunctionName { FILE: packages/core/src/formula/functions/date-time.ts function isISODateString (line 54) | function isISODateString(dateString: string) { class Today (line 108) | class Today extends DateTimeFunc { method validateParams (line 116) | validateParams(_params: TypedValue[]) {} method getReturnType (line 118) | getReturnType() { method eval (line 122) | eval(_params: TypedValue[], context: IFormulaContext): string | null { class Now (line 127) | class Now extends DateTimeFunc { method validateParams (line 135) | validateParams(_params: TypedValue[]) {} method getReturnType (line 137) | getReturnType(params?: TypedValue[]) { method eval (line 142) | eval(_params: TypedValue[], context: IFormulaContext): string | null { class Year (line 147) | class Year extends DateTimeFunc { method validateParams (line 154) | validateParams(params: TypedValue[]) { method getReturnType (line 160) | getReturnType(params?: TypedValue[]) { method eval (line 165) | eval(params: TypedValue[], context: IFormulaContext): n... class Month (line 171) | class Month extends DateTimeFunc { method validateParams (line 178) | validateParams(params: TypedValue[]) { method getReturnType (line 184) | getReturnType(params?: TypedValue[]) { method eval (line 189) | eval(params: TypedValue[], context: IFormulaContext): n... class WeekNum (line 196) | class WeekNum extends DateTimeFunc { method validateParams (line 203) | validateParams(params: TypedValue[]) { method getReturnType (line 209) | getReturnType(params?: TypedValue[]) { method eval (line 214) | eval(params: TypedValue[], context: IFormulaContext): n... class Weekday (line 220) | class Weekday extends DateTimeFunc { method validateParams (line 227) | validateParams(params: TypedValue[]) { method getReturnType (line 233) | getReturnType(params?: TypedValue[]) { method eval (line 238) | eval(params: TypedValue[], context: IFormulaContext): n... class Day (line 251) | class Day extends DateTimeFunc { method validateParams (line 258) | validateParams(params: TypedValue[]) { method getReturnType (line 264) | getReturnType(params?: TypedValue[]) { method eval (line 269) | eval(params: TypedValue[], context: IFormulaContext): n... class Hour (line 275) | class Hour extends DateTimeFunc { method validateParams (line 282) | validateParams(params: TypedValue[]) { method getReturnType (line 288) | getReturnType(params?: TypedValue[]) { method eval (line 293) | eval(params: TypedValue[], context: IFormulaContext): n... class Minute (line 299) | class Minute extends DateTimeFunc { method validateParams (line 306) | validateParams(params: TypedValue[]) { method getReturnType (line 312) | getReturnType(params?: TypedValue[]) { method eval (line 317) | eval(params: TypedValue[], context: IFormulaContext): n... class Second (line 323) | class Second extends DateTimeFunc { method validateParams (line 330) | validateParams(params: TypedValue[]) { method getReturnType (line 336) | getReturnType(params?: TypedValue[]) { method eval (line 341) | eval(params: TypedValue[], context: IFormulaContext): n... class FromNow (line 347) | class FromNow extends DateTimeFunc { method validateParams (line 354) | validateParams(params: TypedValue[]) { method getReturnType (line 360) | getReturnType(params?: TypedValue[]) { method eval (line 365) | eval(params: TypedValue[], context: IFormulaC... class ToNow (line 374) | class ToNow extends FromNow { method validateParams (line 377) | validateParams(params: TypedValue[]) { class DatetimeDiff (line 384) | class DatetimeDiff extends DateTimeFunc { method validateParams (line 391) | validateParams(params: TypedValue[]) { method getReturnType (line 397) | getReturnType(params?: TypedValue[]) { method eval (line 402) | eval(params: TypedValue[], context: IFormulaC... class Workday (line 413) | class Workday extends DateTimeFunc { method validateParams (line 420) | validateParams(params: TypedValue[]) { method getReturnType (line 426) | getReturnType(params?: TypedValue[]) { method eval (line 431) | eval(params: TypedValue[], context: IFormulaCo... class WorkdayDiff (line 480) | class WorkdayDiff extends DateTimeFunc { method validateParams (line 487) | validateParams(params: TypedValue[]) { method getReturnType (line 493) | getReturnType(params?: TypedValue[]) { method eval (line 498) | eval(params: TypedValue[], context: IFormulaCo... class IsSame (line 537) | class IsSame extends DateTimeFunc { method validateParams (line 544) | validateParams(params: TypedValue[]) { method getReturnType (line 550) | getReturnType(params?: TypedValue[]) { method eval (line 555) | eval(params: TypedValue[], context: IFormulaContext): b... class IsAfter (line 566) | class IsAfter extends DateTimeFunc { method validateParams (line 573) | validateParams(params: TypedValue[]) { method getReturnType (line 579) | getReturnType(params?: TypedValue[]) { method eval (line 584) | eval(params: TypedValue[], context: IFormulaContext): b... class IsBefore (line 595) | class IsBefore extends DateTimeFunc { method validateParams (line 602) | validateParams(params: TypedValue[]) { method getReturnType (line 608) | getReturnType(params?: TypedValue[]) { method eval (line 613) | eval(params: TypedValue[], context: IFormulaContext): b... class DateAdd (line 624) | class DateAdd extends DateTimeFunc { method validateParams (line 631) | validateParams(params: TypedValue[]) { method getReturnType (line 637) | getReturnType(params?: TypedValue[]) { method eval (line 642) | eval(params: TypedValue[], context: IFormulaCo... class Datestr (line 653) | class Datestr extends DateTimeFunc { method validateParams (line 660) | validateParams(params: TypedValue[]) { method getReturnType (line 666) | getReturnType(params?: TypedValue[]) { method eval (line 671) | eval(params: TypedValue[], context: IFormulaContext): s... class Timestr (line 680) | class Timestr extends DateTimeFunc { method validateParams (line 687) | validateParams(params: TypedValue[]) { method getReturnType (line 693) | getReturnType(params?: TypedValue[]) { method eval (line 698) | eval(params: TypedValue[], context: IFormulaContext): s... class DatetimeFormat (line 707) | class DatetimeFormat extends DateTimeFunc { method validateParams (line 714) | validateParams(params: TypedValue[]) { method getReturnType (line 720) | getReturnType(params?: TypedValue[]) { method eval (line 725) | eval(params: TypedValue[], context: IFormulaContext): s... class DatetimeParse (line 735) | class DatetimeParse extends DateTimeFunc { method validateParams (line 742) | validateParams(params: TypedValue[]) { method getReturnType (line 748) | getReturnType(params?: TypedValue[]) { method eval (line 753) | eval(params: TypedValue[], context: IFormulaContext): s... class CreatedTime (line 773) | class CreatedTime extends DateTimeFunc { method validateParams (line 781) | validateParams() {} method getReturnType (line 783) | getReturnType() { method eval (line 787) | eval(params: TypedValue[], context: IFormulaContext): s... class LastModifiedTime (line 792) | class LastModifiedTime extends DateTimeFunc { method validateParams (line 804) | validateParams(params: TypedValue[]): void { method getReturnType (line 811) | getReturnType(params?: TypedValue[]) { method eval (line 816) | eval(params: TypedValue[], context: IFormulaContext): s... FILE: packages/core/src/formula/functions/factory.ts constant FUNCTIONS (line 82) | const FUNCTIONS: Record = { FILE: packages/core/src/formula/functions/logical.ts class If (line 10) | class If extends LogicalFunc { method validateParams (line 22) | validateParams(params: TypedValue[]) { method getReturnType (line 28) | getReturnType(params?: TypedValue[]) { method eval (line 57) | eval( class Switch (line 65) | class Switch extends LogicalFunc { method validateParams (line 77) | validateParams(params: TypedValue[]) { method getReturnType (line 83) | getReturnType(params?: TypedValue[]) { method eval (line 118) | eval( class And (line 150) | class And extends LogicalFunc { method validateParams (line 157) | validateParams(params: TypedValue[]) { method getReturnType (line 163) | getReturnType(params?: TypedValue[]) { method eval (line 168) | eval(params: TypedValue[]): boolean { class Or (line 181) | class Or extends LogicalFunc { method validateParams (line 188) | validateParams(params: TypedValue[]) { method getReturnType (line 194) | getReturnType(params?: TypedValue[]) { method eval (line 199) | eval(params: TypedValue[]): boolean { class Xor (line 212) | class Xor extends LogicalFunc { method validateParams (line 219) | validateParams(params: TypedValue[]) { method getReturnType (line 225) | getReturnType(params?: TypedValue[]) { method eval (line 230) | eval(params: TypedValue[]): boolean { class Not (line 247) | class Not extends LogicalFunc { method validateParams (line 254) | validateParams(params: TypedValue[]) { method getReturnType (line 260) | getReturnType(params?: TypedValue[]) { method eval (line 265) | eval(params: TypedValue[]): boolean { class Blank (line 270) | class Blank extends LogicalFunc { method validateParams (line 278) | validateParams() {} method getReturnType (line 280) | getReturnType() { method eval (line 284) | eval(): null { class FormulaBaseError (line 289) | class FormulaBaseError extends Error { method constructor (line 290) | constructor(message?: string) { class FormulaError (line 296) | class FormulaError extends LogicalFunc { method validateParams (line 304) | validateParams() {} method getReturnType (line 306) | getReturnType() { method eval (line 310) | eval(params: TypedValue[]) { class IsError (line 316) | class IsError extends LogicalFunc { method validateParams (line 328) | validateParams(params: TypedValue[]) { method getReturnType (line 334) | getReturnType(params?: TypedValue[]) { method eval (line 339) | eval(params: TypedValue[]): boolean { FILE: packages/core/src/formula/functions/numeric.ts class Sum (line 17) | class Sum extends NumericFunc { method validateParams (line 24) | validateParams(params: TypedValue[]) { method getReturnType (line 35) | getReturnType(params?: TypedValue[]) { method eval (line 40) | eval(params: TypedValue[]): number ... class Average (line 60) | class Average extends NumericFunc { method validateParams (line 67) | validateParams(params: TypedValue[]) { method getReturnType (line 78) | getReturnType(params?: TypedValue[]) { method eval (line 83) | eval(params: TypedValue[]): number ... class Max (line 110) | class Max extends NumericFunc { method validateParams (line 117) | validateParams(params: TypedValue[]) { method getReturnType (line 130) | getReturnType(params?: TypedValue[]) { method eval (line 135) | eval( class Min (line 172) | class Min extends NumericFunc { method validateParams (line 179) | validateParams(params: TypedValue[]) { method getReturnType (line 192) | getReturnType(params?: TypedValue[]) { method eval (line 197) | eval( class Round (line 235) | class Round extends NumericFunc { method validateParams (line 242) | validateParams(params: TypedValue[]) { method getReturnType (line 253) | getReturnType(params?: TypedValue[]) { method eval (line 258) | eval(params: TypedValue[]): number | null { class RoundUp (line 267) | class RoundUp extends NumericFunc { method validateParams (line 274) | validateParams(params: TypedValue[]) { method getReturnType (line 285) | getReturnType(params?: TypedValue[]) { method eval (line 290) | eval(params: TypedValue[]): number | null { class RoundDown (line 301) | class RoundDown extends NumericFunc { method validateParams (line 308) | validateParams(params: TypedValue[]) { method getReturnType (line 319) | getReturnType(params?: TypedValue[]) { method eval (line 324) | eval(params: TypedValue[]): number | null { class Ceiling (line 335) | class Ceiling extends NumericFunc { method validateParams (line 342) | validateParams(params: TypedValue[]) { method getReturnType (line 353) | getReturnType(params?: TypedValue[]) { method eval (line 358) | eval(params: TypedValue[]): number | null { class Floor (line 367) | class Floor extends NumericFunc { method validateParams (line 374) | validateParams(params: TypedValue[]) { method getReturnType (line 385) | getReturnType(params?: TypedValue[]) { method eval (line 390) | eval(params: TypedValue[]): number | null { class Even (line 399) | class Even extends NumericFunc { method validateParams (line 406) | validateParams(params: TypedValue[]) { method getReturnType (line 417) | getReturnType(params?: TypedValue[]) { method eval (line 422) | eval(params: TypedValue[]): number | null { class Odd (line 431) | class Odd extends NumericFunc { method validateParams (line 438) | validateParams(params: TypedValue[]) { method getReturnType (line 449) | getReturnType(params?: TypedValue[]) { method eval (line 454) | eval(params: TypedValue[]): number | null { class Int (line 463) | class Int extends NumericFunc { method validateParams (line 470) | validateParams(params: TypedValue[]) { method getReturnType (line 481) | getReturnType(params?: TypedValue[]) { method eval (line 486) | eval(params: TypedValue[]): number | null { class Abs (line 493) | class Abs extends NumericFunc { method validateParams (line 500) | validateParams(params: TypedValue[]) { method getReturnType (line 511) | getReturnType(params?: TypedValue[]) { method eval (line 516) | eval(params: TypedValue[]): number | null { class Sqrt (line 523) | class Sqrt extends NumericFunc { method validateParams (line 530) | validateParams(params: TypedValue[]) { method getReturnType (line 541) | getReturnType(params?: TypedValue[]) { method eval (line 546) | eval(params: TypedValue[]): number | null { class Power (line 553) | class Power extends NumericFunc { method validateParams (line 560) | validateParams(params: TypedValue[]) { method getReturnType (line 571) | getReturnType(params?: TypedValue[]) { method eval (line 576) | eval(params: TypedValue[]): number | null { class Exp (line 584) | class Exp extends NumericFunc { method validateParams (line 591) | validateParams(params: TypedValue[]) { method getReturnType (line 602) | getReturnType(params?: TypedValue[]) { method eval (line 607) | eval(params: TypedValue[]): number | null { class Log (line 614) | class Log extends NumericFunc { method validateParams (line 621) | validateParams(params: TypedValue[]) { method getReturnType (line 632) | getReturnType(params?: TypedValue[]) { method eval (line 637) | eval(params: TypedValue[]): number | null { class Mod (line 645) | class Mod extends NumericFunc { method validateParams (line 652) | validateParams(params: TypedValue[]) { method getReturnType (line 663) | getReturnType(params?: TypedValue[]) { method eval (line 668) | eval(params: TypedValue[]): number | null { class Value (line 677) | class Value extends NumericFunc { method validateParams (line 684) | validateParams(params: TypedValue[]) { method getReturnType (line 695) | getReturnType(params?: TypedValue[]) { method eval (line 700) | eval(params: TypedValue[]): number | null { FILE: packages/core/src/formula/functions/system.ts class TextAll (line 10) | class TextAll extends SystemFunc { method validateParams (line 17) | validateParams(params: TypedValue[]) { method getReturnType (line 23) | getReturnType(params: TypedValue[]) { method eval (line 30) | eval(params: TypedValue[]): boolean | number | string | (string | null... class RecordId (line 47) | class RecordId extends SystemFunc { method validateParams (line 55) | validateParams() {} method getReturnType (line 57) | getReturnType() { method eval (line 61) | eval(_params: TypedValue[], context: IFormulaContext): ... class AutoNumber (line 66) | class AutoNumber extends SystemFunc { method validateParams (line 74) | validateParams() {} method getReturnType (line 76) | getReturnType() { method eval (line 80) | eval(_params: TypedValue[], context: IFormulaContext): ... FILE: packages/core/src/formula/functions/text.ts class Concatenate (line 39) | class Concatenate extends TextFunc { method validateParams (line 46) | validateParams(params: TypedValue[]) { method getReturnType (line 52) | getReturnType(params?: TypedValue[]) { method eval (line 57) | eval(params: TypedValue[]): string ... class Substitute (line 284) | class Substitute extends TextFunc { method validateParams (line 291) | validateParams(params: TypedValue[]) { method getReturnType (line 297) | getReturnType(params?: TypedValue[]) { method eval (line 302) | eval(params: TypedValue[]): string ... class Upper (line 349) | class Upper extends TextFunc { method validateParams (line 356) | validateParams(params: TypedValue[]) { method getReturnType (line 362) | getReturnType(params?: TypedValue[]) { method eval (line 367) | eval(params: TypedValue[]): string ... class Rept (line 376) | class Rept extends TextFunc { method validateParams (line 383) | validateParams(params: TypedValue[]) { method getReturnType (line 389) | getReturnType(params?: TypedValue[]) { method eval (line 394) | eval(params: TypedValue[]): string ... class T (line 432) | class T extends TextFunc { method validateParams (line 444) | validateParams(params: TypedValue[]) { method getReturnType (line 450) | getReturnType(params?: TypedValue[]) { method eval (line 455) | eval( class Len (line 468) | class Len extends TextFunc { method validateParams (line 475) | validateParams(params: TypedValue[]) { method getReturnType (line 481) | getReturnType(params?: TypedValue[]) { method eval (line 486) | eval(params: TypedValue[]): number ... class EncodeUrlComponent (line 495) | class EncodeUrlComponent extends TextFunc { method validateParams (line 502) | validateParams(params: TypedValue[]) { method getReturnType (line 508) | getReturnType(params?: TypedValue[]) { method eval (line 513) | eval(params: TypedValue[]): string ... FILE: packages/core/src/formula/typed-value-converter.ts class TypedValueConverter (line 5) | class TypedValueConverter { method transformMultipleValue (line 7) | transformMultipleValue(typedValue: TypedValue, func: FormulaFunc): Typ... method convertTypedValue (line 22) | convertTypedValue(typedValue: TypedValue, func: FormulaFunc): TypedVal... method convertUnsupportedValue (line 47) | private convertUnsupportedValue( method convertDatetimeValue (line 72) | private convertDatetimeValue(value: unknown, inputValueType: CellValue... method convertBooleanValue (line 89) | private convertBooleanValue(value: unknown, inputValueType: CellValueT... method convertNumberValue (line 100) | private convertNumberValue(value: unknown, inputValueType: CellValueTy... method convertStringValue (line 118) | private convertStringValue(value: unknown, inputValueType: CellValueTy... FILE: packages/core/src/formula/typed-value.ts class TypedValue (line 6) | class TypedValue { method constructor (line 7) | constructor( method toPlain (line 15) | toPlain(): any { FILE: packages/core/src/formula/visitor.ts class EvalVisitor (line 34) | class EvalVisitor method constructor (line 39) | constructor( method visitRoot (line 47) | visitRoot(ctx: RootContext) { method visitStringLiteral (line 51) | visitStringLiteral(ctx: StringLiteralContext): any { method unescapeString (line 60) | private unescapeString(str: string): string { method visitIntegerLiteral (line 87) | visitIntegerLiteral(ctx: IntegerLiteralContext): any { method visitDecimalLiteral (line 93) | visitDecimalLiteral(ctx: DecimalLiteralContext): any { method visitBooleanLiteral (line 99) | visitBooleanLiteral(ctx: BooleanLiteralContext): any { method visitLeftWhitespaceOrComments (line 105) | visitLeftWhitespaceOrComments(ctx: LeftWhitespaceOrCommentsContext): a... method visitRightWhitespaceOrComments (line 109) | visitRightWhitespaceOrComments(ctx: RightWhitespaceOrCommentsContext):... method visitBrackets (line 113) | visitBrackets(ctx: BracketsContext): any { method getBinaryOpValueType (line 117) | private getBinaryOpValueType( method transformNodeValue (line 159) | private transformNodeValue(typedValue: TypedValue, ctx: BinaryOpContex... method transformUnaryNodeValue (line 200) | private transformUnaryNodeValue(typedValue: TypedValue) { method visitUnaryOp (line 221) | visitUnaryOp(ctx: UnaryOpContext) { method visitBinaryOp (line 228) | visitBinaryOp(ctx: BinaryOpContext) { method areValuesEqual (line 307) | private areValuesEqual( method areValuesNotEqual (line 322) | private areValuesNotEqual( method normalizeEqualityValues (line 338) | private normalizeEqualityValues( method shouldNormalizeBlankEquality (line 357) | private shouldNormalizeBlankEquality( method normalizeBlankEqualityValue (line 369) | private normalizeBlankEqualityValue(typedValue: TypedValue, value: unk... method isStringLikeTypedValue (line 381) | private isStringLikeTypedValue(typedValue: TypedValue): boolean { method isNumericLikeTypedValue (line 393) | private isNumericLikeTypedValue(typedValue: TypedValue): boolean { method createTypedValueByField (line 405) | private createTypedValueByField(field: FieldCore) { method visitFieldReferenceCurly (line 426) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext) { method transformTypedValue (line 442) | private transformTypedValue(typedValue: TypedValue, func: FormulaFunc)... method visitFunctionCall (line 446) | visitFunctionCall(ctx: FunctionCallContext) { method defaultResult (line 485) | protected defaultResult() { FILE: packages/core/src/models/aggregation/statistics-func.enum.ts type StatisticsFunc (line 1) | enum StatisticsFunc { type NoneFunc (line 24) | enum NoneFunc { FILE: packages/core/src/models/channel.ts function getCollaboratorsChannel (line 1) | function getCollaboratorsChannel(tableId: string) { function getCellCollaboratorsChannel (line 5) | function getCellCollaboratorsChannel(tableId: string) { function getUserNotificationChannel (line 9) | function getUserNotificationChannel(userId: string) { function getActionTriggerChannel (line 13) | function getActionTriggerChannel(tableIdOrViewId: string) { function getBasePermissionUpdateChannel (line 17) | function getBasePermissionUpdateChannel(baseId: string) { function getTableImportChannel (line 21) | function getTableImportChannel(tableId: string) { function getCommentChannel (line 25) | function getCommentChannel(tableId: string, recordId: string) { function getTableCommentChannel (line 29) | function getTableCommentChannel(tableId: string) { function getTableButtonClickChannel (line 33) | function getTableButtonClickChannel(tableId: string) { function getToolCallChannel (line 37) | function getToolCallChannel(toolCallId: string) { function getChatChannel (line 41) | function getChatChannel(chatId: string) { function getBaseNodeChannel (line 45) | function getBaseNodeChannel(baseId: string) { function getWorkflowTestChannel (line 49) | function getWorkflowTestChannel(workflowId: string) { FILE: packages/core/src/models/field/ai-config/attachment.ts type ImageQuality (line 5) | enum ImageQuality { constant IMAGE_RESOLUTIONS (line 13) | const IMAGE_RESOLUTIONS = ['1K', '2K', '4K'] as const; type IImageResolution (line 15) | type IImageResolution = (typeof IMAGE_RESOLUTIONS)[number]; constant RESOLUTION_PIXEL_MAP (line 19) | const RESOLUTION_PIXEL_MAP: Record = { constant IMAGE_ASPECT_RATIOS (line 28) | const IMAGE_ASPECT_RATIOS = [ type IImageAspectRatio (line 39) | type IImageAspectRatio = (typeof IMAGE_ASPECT_RATIOS)[number]; type IAttachmentFieldGenerateImageAIConfig (line 62) | type IAttachmentFieldGenerateImageAIConfig = z.infer< type IAttachmentFieldCustomizeAIConfig (line 71) | type IAttachmentFieldCustomizeAIConfig = z.infer< type IAttachmentFieldAIConfig (line 80) | type IAttachmentFieldAIConfig = z.infer; FILE: packages/core/src/models/field/ai-config/index.ts type IFieldAIConfig (line 25) | type IFieldAIConfig = z.infer; FILE: packages/core/src/models/field/ai-config/multiple-select.ts type IMultipleSelectFieldTagAIConfig (line 10) | type IMultipleSelectFieldTagAIConfig = z.infer; FILE: packages/core/src/models/field/ai-config/single-select.ts type ISingleSelectFieldClassifyAIConfig (line 10) | type ISingleSelectFieldClassifyAIConfig = z.infer< type ISingleSelectFieldCustomizeAIConfig (line 20) | type ISingleSelectFieldCustomizeAIConfig = z.infer< type ISingleSelectFieldAIConfig (line 29) | type ISingleSelectFieldAIConfig = z.infer; type ITextFieldExtractInfoAIConfig (line 30) | type ITextFieldExtractInfoAIConfig = z.infer; FILE: packages/core/src/models/field/color-utils.ts type IRGB (line 7) | interface IRGB { type IColorUtils (line 21) | interface IColorUtils { method randomColor (line 138) | randomColor(exists?: string[], num = 1) { method getRandomColorFromStr (line 160) | getRandomColorFromStr(str: string): Colors { method getRandomHexFromStr (line 166) | getRandomHexFromStr(str: string) { function getSeed (line 180) | function getSeed(str: string) { constant COLOR_PALETTE (line 203) | const COLOR_PALETTE = generateColorPalette(); FILE: packages/core/src/models/field/colors.ts type Colors (line 1) | enum Colors { FILE: packages/core/src/models/field/conditional.constants.ts constant CONDITIONAL_QUERY_MAX_LIMIT (line 13) | const CONDITIONAL_QUERY_MAX_LIMIT = resolvedMax; constant CONDITIONAL_QUERY_DEFAULT_LIMIT (line 14) | const CONDITIONAL_QUERY_DEFAULT_LIMIT = Math.min(resolvedDefault, resolv... FILE: packages/core/src/models/field/constant.ts type FieldType (line 2) | enum FieldType { type DbFieldType (line 25) | enum DbFieldType { type CellValueType (line 35) | enum CellValueType { type Relationship (line 42) | enum Relationship { constant PRIMARY_SUPPORTED_TYPES (line 60) | const PRIMARY_SUPPORTED_TYPES = new Set([ constant IMPORT_SUPPORTED_TYPES (line 77) | const IMPORT_SUPPORTED_TYPES = [ constant UNIQUE_VALIDATION_FIELD_TYPES (line 89) | const UNIQUE_VALIDATION_FIELD_TYPES = new Set([ constant NOT_NULL_VALIDATION_FIELD_TYPES (line 96) | const NOT_NULL_VALIDATION_FIELD_TYPES = new Set([ FILE: packages/core/src/models/field/derivate/abstract/formula.field.abstract.ts method parse (line 38) | static parse(expression: string) { method tree (line 60) | protected get tree() { method evaluate (line 68) | evaluate(dependFieldMap: { [fieldId: string]: FieldCore }, record: IReco... method cellValue2String (line 73) | cellValue2String(cellValue?: unknown) { method convertStringToCellValue (line 86) | convertStringToCellValue(_value: string): null { method item2String (line 90) | item2String(value?: unknown) { method repair (line 109) | repair(_value: unknown): null { method validateCellValue (line 113) | validateCellValue(value: unknown) { FILE: packages/core/src/models/field/derivate/abstract/select-option.schema.ts type ISelectFieldChoice (line 12) | type ISelectFieldChoice = z.infer; type ISelectFieldOptions (line 33) | type ISelectFieldOptions = z.infer; type ISelectFieldOptionsRo (line 34) | type ISelectFieldOptionsRo = z.infer; FILE: packages/core/src/models/field/derivate/abstract/select.field.abstract.ts type ISelectFieldChoice (line 17) | type ISelectFieldChoice = z.infer; type ISelectFieldOptions (line 36) | type ISelectFieldOptions = z.infer; type ISelectFieldOptionsRo (line 38) | type ISelectFieldOptionsRo = z.infer; method defaultOptions (line 45) | static defaultOptions(): ISelectFieldOptions { method innerChoicesMap (line 55) | get innerChoicesMap() { method validateOptions (line 62) | validateOptions() { method cellValue2String (line 66) | cellValue2String(cellValue?: unknown) { method item2String (line 78) | item2String(value?: unknown): string { method validateCellValue (line 91) | validateCellValue(cellValue: unknown) { FILE: packages/core/src/models/field/derivate/abstract/user.field.abstract.ts type IUserCellValue (line 12) | type IUserCellValue = z.infer; method item2String (line 19) | item2String(value: unknown) { method cellValue2String (line 32) | cellValue2String(cellValue?: unknown) { method validateCellValue (line 39) | validateCellValue(cellValue: unknown) { FILE: packages/core/src/models/field/derivate/attachment-option.schema.ts type IAttachmentFieldOptions (line 5) | type IAttachmentFieldOptions = z.infer; type IAttachmentItemRo (line 31) | type IAttachmentItemRo = z.infer; type IAttachmentCellValue (line 37) | type IAttachmentCellValue = z.infer; type IAttachmentCellValueRo (line 39) | type IAttachmentCellValueRo = z.infer; class AttachmentFieldCore (line 41) | class AttachmentFieldCore extends FieldCore { method defaultOptions (line 54) | static defaultOptions(): IAttachmentFieldOptions { method itemString (line 58) | static itemString(name: string, token: string) { method cellValue2String (line 62) | cellValue2String(cellValue?: unknown) { method convertStringToCellValue (line 71) | convertStringToCellValue(_value: string, _ctx?: unknown): IAttachmentC... method repair (line 75) | repair(value: unknown) { method validateOptions (line 86) | validateOptions() { method validateCellValue (line 90) | validateCellValue(cellValue: unknown) { method item2String (line 94) | item2String(value: unknown) { method accept (line 102) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/auto-number-option.schema.ts type IAutoNumberFieldOptions (line 7) | type IAutoNumberFieldOptions = z.infer(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/button-option.schema.ts type IButtonFieldOptions (line 30) | type IButtonFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/button.field.ts type IButtonFieldCellValue (line 13) | type IButtonFieldCellValue = z.infer; class ButtonFieldCore (line 15) | class ButtonFieldCore extends FieldCore { method defaultOptions (line 24) | static defaultOptions(): IButtonFieldOptions { method cellValue2String (line 31) | cellValue2String(_cellValue?: unknown) { method item2String (line 35) | item2String(_value?: unknown): string { method convertStringToCellValue (line 39) | convertStringToCellValue(_value: string): string | null { method repair (line 43) | repair(_value: unknown) { method validateOptions (line 47) | validateOptions() { method validateCellValue (line 51) | validateCellValue(value: unknown) { method accept (line 59) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/checkbox-option.schema.ts type ICheckboxFieldOptions (line 7) | type ICheckboxFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/checkbox.field.ts type ICheckboxCellValue (line 10) | type ICheckboxCellValue = z.infer; class CheckboxFieldCore (line 12) | class CheckboxFieldCore extends FieldCore { method defaultOptions (line 21) | static defaultOptions(): ICheckboxFieldOptions { method cellValue2String (line 25) | cellValue2String(cellValue?: unknown) { method convertStringToCellValue (line 37) | convertStringToCellValue(value: string): boolean | null { method repair (line 46) | repair(value: unknown) { method item2String (line 64) | item2String(item?: unknown) { method validateOptions (line 68) | validateOptions() { method validateCellValue (line 73) | validateCellValue(value: unknown) { method accept (line 84) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/conditional-rollup-option.schema.ts type IConditionalRollupFieldOptions (line 21) | type IConditionalRollupFieldOptions = z.infer(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/created-by-option.schema.ts type ICreatedByFieldOptions (line 6) | type ICreatedByFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/created-by.field.ts class CreatedByFieldCore (line 10) | class CreatedByFieldCore extends UserAbstractCore { method isStructuredCellValue (line 15) | override get isStructuredCellValue() { method convertStringToCellValue (line 19) | convertStringToCellValue(_value: string) { method getIsPersistedAsGeneratedColumn (line 23) | getIsPersistedAsGeneratedColumn(): boolean { method shouldPersistAuditValue (line 27) | shouldPersistAuditValue(): boolean { method repair (line 31) | repair(_value: unknown) { method validateOptions (line 35) | validateOptions() { method accept (line 39) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/created-time-option.schema.ts type ICreatedTimeFieldOptions (line 9) | type ICreatedTimeFieldOptions = z.infer(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/date-option.schema.ts type IDateFieldOptions (line 16) | type IDateFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/date.field.spec.ts constant DEFAULT_TIME_ZONE (line 12) | const DEFAULT_TIME_ZONE = 'utc'; FILE: packages/core/src/models/field/derivate/date.field.ts type IDateCellValue (line 22) | type IDateCellValue = z.infer; class DateFieldCore (line 24) | class DateFieldCore extends FieldCore { method defaultOptions (line 33) | static defaultOptions(): IDateFieldOptions { method getDatetimeFormatting (line 39) | getDatetimeFormatting() { method cellValue2String (line 43) | cellValue2String(cellValue?: unknown) { method defaultTzFormat (line 52) | private defaultTzFormat(value: string) { method parseUsingFieldFormatting (line 63) | private parseUsingFieldFormatting(value: string): string | null { method convertStringToCellValue (line 84) | convertStringToCellValue(value: string): string | null { method item2String (line 106) | item2String(item?: unknown) { method repair (line 110) | repair(value: unknown) { method validateOptions (line 122) | validateOptions() { method validateCellValue (line 126) | validateCellValue(cellValue: unknown) { method validateCellValueLoose (line 133) | validateCellValueLoose(cellValue: unknown) { method accept (line 140) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/formula-option.schema.ts type IFormulaFieldOptions (line 15) | type IFormulaFieldOptions = z.infer; type IFormulaFieldMeta (line 24) | type IFormulaFieldMeta = z.infer; FILE: packages/core/src/models/field/derivate/formula.field.ts type IFormulaCellValue (line 18) | type IFormulaCellValue = z.infer; class FormulaFieldCore (line 20) | class FormulaFieldCore extends FormulaAbstractCore { method defaultOptions (line 21) | static defaultOptions(cellValueType: CellValueType): IFormulaFieldOpti... method convertExpressionIdToName (line 29) | static convertExpressionIdToName( method convertExpressionNameToId (line 46) | static convertExpressionNameToId( method getReferenceFieldIds (line 63) | static getReferenceFieldIds(expression: string) { method getParsedValueType (line 69) | static getParsedValueType(expression: string, dependFieldMap: { [field... method getExpression (line 85) | getExpression(): string { method getReferenceFieldIds (line 89) | getReferenceFieldIds() { method getReferenceFields (line 99) | getReferenceFields(tableDomain: TableDomain): FieldCore[] { method hasUnresolvedReferences (line 118) | hasUnresolvedReferences(tableDomain: TableDomain, visited: Set... method getLinkFields (line 138) | override getLinkFields(tableDomain: TableDomain): LinkFieldCore[] { method getGeneratedColumnName (line 151) | getGeneratedColumnName(): string { method getIsPersistedAsGeneratedColumn (line 155) | getIsPersistedAsGeneratedColumn() { method recalculateFieldTypes (line 164) | recalculateFieldTypes(fieldMap: Record): void { method validateOptions (line 176) | validateOptions() { method accept (line 186) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/last-modified-by-option.schema.ts type ILastModifiedByFieldOptions (line 9) | type ILastModifiedByFieldOptions = z.infer): boolean { method getIsPersistedAsGeneratedColumn (line 34) | getIsPersistedAsGeneratedColumn(): boolean { method shouldPersistAuditValue (line 38) | shouldPersistAuditValue(): boolean { method repair (line 42) | repair(_value: unknown) { method validateOptions (line 46) | validateOptions() { method accept (line 50) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/last-modified-time-option.schema.ts type ILastModifiedTimeFieldOptions (line 12) | type ILastModifiedTimeFieldOptions = z.infer): boolean { method accept (line 59) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/link-option.schema.ts type ILinkFieldOptions (line 47) | type ILinkFieldOptions = z.infer; type ILinkFieldMeta (line 56) | type ILinkFieldMeta = z.infer; type ILinkFieldOptionsRo (line 72) | type ILinkFieldOptionsRo = z.infer; FILE: packages/core/src/models/field/derivate/link.field.ts type ILinkCellValue (line 19) | type ILinkCellValue = z.infer; class LinkFieldCore (line 34) | class LinkFieldCore extends FieldCore { method defaultOptions (line 35) | static defaultOptions(): Partial { method isStructuredCellValue (line 39) | override get isStructuredCellValue() { method getHasOrderColumn (line 53) | getHasOrderColumn(): boolean { method getOrderColumnName (line 61) | getOrderColumnName(): string { method getIsMultiValue (line 87) | getIsMultiValue() { method cellValue2String (line 92) | cellValue2String(cellValue?: unknown) { method convertStringToCellValue (line 99) | convertStringToCellValue(_value: string): string[] | null { method repair (line 103) | repair(value: unknown) { method validateOptions (line 115) | validateOptions() { method validateCellValue (line 119) | validateCellValue(value: unknown) { method item2String (line 131) | item2String(value: unknown) { method accept (line 138) | accept(visitor: IFieldVisitor): T { method getForeignTableId (line 145) | getForeignTableId(): string | undefined { method getForeignLookupField (line 155) | override getForeignLookupField(foreignTable: TableDomain): FieldCore |... method mustGetForeignLookupField (line 175) | mustGetForeignLookupField(tableDomain: TableDomain): FieldCore { method getLookupFields (line 183) | getLookupFields(tableDomain: TableDomain) { method getRollupFields (line 193) | getRollupFields(tableDomain: TableDomain) { method getFilter (line 203) | override getFilter(): IFilter | undefined { FILE: packages/core/src/models/field/derivate/long-text-option.schema.ts type ILongTextShowAs (line 7) | type ILongTextShowAs = z.infer; type ILongTextFieldOptions (line 19) | type ILongTextFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/long-text.field.ts type ILongTextCellValue (line 9) | type ILongTextCellValue = z.infer; class LongTextFieldCore (line 11) | class LongTextFieldCore extends FieldCore { method defaultOptions (line 20) | static defaultOptions(): ILongTextFieldOptions { method cellValue2String (line 24) | cellValue2String(cellValue?: unknown) { method item2String (line 31) | item2String(value?: unknown): string { method convertStringToCellValue (line 35) | convertStringToCellValue(value: string): string | null { method repair (line 47) | repair(value: unknown) { method validateOptions (line 58) | validateOptions() { method validateCellValue (line 62) | validateCellValue(value: unknown) { method accept (line 74) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/multiple-select.field.ts type IMultipleSelectCellValue (line 8) | type IMultipleSelectCellValue = z.infer(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/number-option.schema.ts type INumberFieldOptionsRo (line 16) | type INumberFieldOptionsRo = z.infer; type INumberFieldOptions (line 18) | type INumberFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/number.field.ts type INumberCellValue (line 16) | type INumberCellValue = z.infer; class NumberFieldCore (line 18) | class NumberFieldCore extends FieldCore { method defaultOptions (line 27) | static defaultOptions(): INumberFieldOptions { method cellValue2String (line 33) | cellValue2String(cellValue?: unknown) { method item2String (line 45) | item2String(value?: unknown): string { method convertStringToCellValue (line 49) | convertStringToCellValue(value: string): number | null { method repair (line 57) | repair(value: unknown) { method validateOptions (line 71) | validateOptions() { method validateCellValue (line 80) | validateCellValue(value: unknown) { method accept (line 87) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/rating-option.schema.ts type RatingIcon (line 4) | enum RatingIcon { constant RATING_ICON_COLORS (line 15) | const RATING_ICON_COLORS = [ type IRatingColors (line 23) | type IRatingColors = z.infer; type IRatingFieldOptions (line 31) | type IRatingFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/rating.field.ts class RatingFieldCore (line 10) | class RatingFieldCore extends FieldCore { method defaultOptions (line 19) | static defaultOptions(): IRatingFieldOptions { method cellValue2String (line 27) | cellValue2String(cellValue?: unknown) { method item2String (line 39) | item2String(value?: unknown): string { method convertStringToCellValue (line 46) | convertStringToCellValue(value: string): number | null { method repair (line 55) | repair(value: unknown) { method validateOptions (line 69) | validateOptions() { method validateCellValue (line 73) | validateCellValue(value: unknown) { method accept (line 96) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/rollup-option.schema.ts constant ROLLUP_FUNCTIONS (line 8) | const ROLLUP_FUNCTIONS = [ type RollupFunction (line 25) | type RollupFunction = (typeof ROLLUP_FUNCTIONS)[number]; constant BASE_ROLLUP_FUNCTIONS (line 27) | const BASE_ROLLUP_FUNCTIONS: RollupFunction[] = [ constant NUMBER_ROLLUP_FUNCTIONS (line 37) | const NUMBER_ROLLUP_FUNCTIONS: RollupFunction[] = [ constant DATETIME_ROLLUP_FUNCTIONS (line 44) | const DATETIME_ROLLUP_FUNCTIONS: RollupFunction[] = ['max({values})', 'm... constant BOOLEAN_ROLLUP_FUNCTIONS (line 46) | const BOOLEAN_ROLLUP_FUNCTIONS: RollupFunction[] = [ type IRollupFieldOptions (line 89) | type IRollupFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/rollup.field.ts type IRollupCellValue (line 18) | type IRollupCellValue = z.infer; class RollupFieldCore (line 20) | class RollupFieldCore extends FormulaAbstractCore { method defaultOptions (line 21) | static defaultOptions(cellValueType: CellValueType): IRollupFieldOptio... method getParsedValueType (line 29) | static getParsedValueType( method validateOptions (line 60) | validateOptions() { method getForeignTableId (line 73) | getForeignTableId(): string | undefined { method accept (line 77) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/single-line-text-option.schema.ts type ISingleLineTextFieldOptions (line 13) | type ISingleLineTextFieldOptions = z.infer(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/single-select.field.ts type ISingleSelectCellValue (line 8) | type ISingleSelectCellValue = z.infer; class SingleSelectFieldCore (line 10) | class SingleSelectFieldCore extends SelectFieldCore { method convertStringToCellValue (line 15) | convertStringToCellValue(value: string, shouldExtend?: boolean): strin... method repair (line 36) | repair(value: unknown) { method accept (line 48) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/derivate/user-option.schema.ts type IUserFieldOptions (line 21) | type IUserFieldOptions = z.infer; FILE: packages/core/src/models/field/derivate/user.field.ts type IUser (line 7) | interface IUser { type IContext (line 13) | interface IContext { class UserFieldCore (line 22) | class UserFieldCore extends UserAbstractCore { method defaultOptions (line 26) | static defaultOptions() { method isStructuredCellValue (line 30) | override get isStructuredCellValue() { method convertStringToCellValue (line 38) | convertStringToCellValue( method matchUser (line 57) | private matchUser(value: string, userSets: IUser[] = []) { method repair (line 65) | repair(value: unknown) { method validateOptions (line 76) | validateOptions() { method accept (line 80) | accept(visitor: IFieldVisitor): T { FILE: packages/core/src/models/field/field-unions.schema.ts type IFieldOptionsRo (line 99) | type IFieldOptionsRo = z.infer; type IFieldOptionsVo (line 100) | type IFieldOptionsVo = z.infer; type IFieldMetaVo (line 101) | type IFieldMetaVo = z.infer; FILE: packages/core/src/models/field/field-visitor.interface.ts type IFieldVisitor (line 27) | interface IFieldVisitor { FILE: packages/core/src/models/field/field.schema.ts type IFieldVo (line 149) | type IFieldVo = z.infer; type IFieldPropertyKey (line 151) | type IFieldPropertyKey = keyof Omit; constant FIELD_RO_PROPERTIES (line 153) | const FIELD_RO_PROPERTIES = [ constant FIELD_VO_PROPERTIES (line 164) | const FIELD_VO_PROPERTIES = [ type IFieldRo (line 349) | type IFieldRo = z.infer; type IConvertFieldRo (line 351) | type IConvertFieldRo = z.infer; type IUpdateFieldRo (line 353) | type IUpdateFieldRo = z.infer; type IGetFieldsQuery (line 366) | type IGetFieldsQuery = z.infer; FILE: packages/core/src/models/field/field.ts method dbFieldNames (line 27) | get dbFieldNames() { method validateCellValueWithNotNull (line 102) | validateCellValueWithNotNull(value: unknown): ZodSafeParseResult; FILE: packages/core/src/models/field/formatting/index.ts type IUnionFormatting (line 14) | type IUnionFormatting = IDatetimeFormatting | INumberFormatting; FILE: packages/core/src/models/field/formatting/number.ts type NumberFormattingType (line 3) | enum NumberFormattingType { type IDecimalFormatting (line 42) | type IDecimalFormatting = z.infer; type IPercentFormatting (line 44) | type IPercentFormatting = z.infer; type ICurrencyFormatting (line 46) | type ICurrencyFormatting = z.infer; type INumberFormatting (line 48) | type INumberFormatting = z.infer; FILE: packages/core/src/models/field/formatting/time-zone.ts constant TIME_ZONE_LIST (line 8) | const TIME_ZONE_LIST = [ FILE: packages/core/src/models/field/lookup-options-base.schema.ts function getLookupOptionsError (line 85) | function getLookupOptionsError(input: Record) { type ILookupOptionsVo (line 170) | type ILookupOptionsVo = z.infer; type ILookupOptionsRo (line 171) | type ILookupOptionsRo = z.infer; type ILookupLinkOptions (line 172) | type ILookupLinkOptions = z.infer; type ILookupConditionalOptions (line 173) | type ILookupConditionalOptions = z.infer; type ILookupConditionalOptionsVo (line 176) | type ILookupConditionalOptionsVo = z.infer; FILE: packages/core/src/models/field/show-as/number.ts type SingleNumberDisplayType (line 4) | enum SingleNumberDisplayType { type MultiNumberDisplayType (line 9) | enum MultiNumberDisplayType { type ISingleNumberShowAs (line 39) | type ISingleNumberShowAs = z.infer; type IMultiNumberShowAs (line 41) | type IMultiNumberShowAs = z.infer; type INumberShowAs (line 49) | type INumberShowAs = z.infer; FILE: packages/core/src/models/field/show-as/text.ts type SingleLineTextDisplayType (line 3) | enum SingleLineTextDisplayType { type ISingleLineTextShowAs (line 20) | type ISingleLineTextShowAs = z.infer; FILE: packages/core/src/models/field/utils/get-db-field-type.ts function getDbFieldType (line 8) | function getDbFieldType( FILE: packages/core/src/models/field/zod-error.ts type IFieldValidateData (line 18) | interface IFieldValidateData { type IValidateFieldOptionProps (line 25) | interface IValidateFieldOptionProps { FILE: packages/core/src/models/interface.ts type ISnapshotBase (line 1) | interface ISnapshotBase { FILE: packages/core/src/models/notification/action-trigger.schema.ts type ITableActionKey (line 25) | type ITableActionKey = z.infer; type IViewActionKey (line 27) | type IViewActionKey = z.infer; FILE: packages/core/src/models/notification/notification.enum.ts type NotificationTypeEnum (line 1) | enum NotificationTypeEnum { type NotificationStatesEnum (line 9) | enum NotificationStatesEnum { FILE: packages/core/src/models/notification/notification.schema.ts type INotificationSystemIcon (line 8) | type INotificationSystemIcon = z.infer; type INotificationUserIcon (line 15) | type INotificationUserIcon = z.infer; type INotificationIcon (line 18) | type INotificationIcon = z.infer; type INotificationUrl (line 29) | type INotificationUrl = z.infer; type INotification (line 41) | type INotification = z.infer; type INotificationBuffer (line 47) | type INotificationBuffer = z.infer; FILE: packages/core/src/models/op.ts type IOTPath (line 3) | type IOTPath = (string | number)[]; type IOtOperation (line 5) | interface IOtOperation { FILE: packages/core/src/models/record/record.ts type FieldKeyType (line 5) | enum FieldKeyType { type CellFormat (line 11) | enum CellFormat { class RecordCore (line 16) | class RecordCore { method constructor (line 17) | constructor(protected fieldMap: { [fieldId: string]: FieldCore }) {} method getCellValue (line 35) | getCellValue(fieldId: string): unknown { method getCellValueAsString (line 39) | getCellValueAsString(fieldId: string) { type IRecord (line 75) | type IRecord = z.infer; FILE: packages/core/src/models/table/table-domain.ts class TableDomain (line 13) | class TableDomain { method constructor (line 25) | constructor(params: { method getTableNameAndId (line 48) | getTableNameAndId() { method fields (line 55) | get fields(): TableFields { method fieldList (line 62) | get fieldList(): readonly FieldCore[] { method fieldMap (line 66) | get fieldMap(): IFieldMap { method fieldCount (line 73) | get fieldCount(): number { method hasFields (line 80) | get hasFields(): boolean { method getFieldsByProjection (line 84) | getFieldsByProjection(projection?: string[]): FieldCore[] { method getFieldsMap (line 98) | getFieldsMap(fieldKeyType: FieldKeyType): Map { method addField (line 114) | addField(field: FieldCore): void { method addFields (line 121) | addFields(fields: FieldCore[]): void { method removeField (line 128) | removeField(fieldId: string): boolean { method getField (line 135) | getField(fieldId: string): FieldCore | undefined { method mustGetField (line 142) | mustGetField(fieldId: string): FieldCore { method getFieldByName (line 153) | getFieldByName(name: string): FieldCore | undefined { method getFieldByDbName (line 160) | getFieldByDbName(dbFieldName: string): FieldCore | undefined { method hasField (line 167) | hasField(fieldId: string): boolean { method hasFieldName (line 174) | hasFieldName(name: string): boolean { method getPrimaryField (line 181) | getPrimaryField(): FieldCore | undefined { method getLastModifiedFields (line 188) | getLastModifiedFields(): FieldCore[] { method getComputedFields (line 195) | getComputedFields(): FieldCore[] { method getLookupFields (line 202) | getLookupFields(): FieldCore[] { method updateField (line 209) | updateField(fieldId: string, updatedField: FieldCore): boolean { method getFieldIds (line 216) | getFieldIds(): string[] { method getFieldNames (line 223) | getFieldNames(): string[] { method createFieldMap (line 230) | createFieldMap(): Map { method createFieldNameMap (line 237) | createFieldNameMap(): Map { method filterFields (line 244) | filterFields(predicate: (field: FieldCore) => boolean): FieldCore[] { method mapFields (line 251) | mapFields(mapper: (field: FieldCore) => T): T[] { method getLinkFieldsByProjection (line 255) | getLinkFieldsByProjection(projection?: Iterable): FieldCore[] { method getAllForeignTableIds (line 277) | getAllForeignTableIds(fieldIds?: string[]): Set { method expandFieldIdsWithLinkDependencies (line 287) | private expandFieldIdsWithLinkDependencies(fieldIds: Iterable)... method clone (line 325) | clone(): TableDomain { method toPlainObject (line 342) | toPlainObject() { FILE: packages/core/src/models/table/table-fields.ts class TableFields (line 17) | class TableFields { method constructor (line 20) | constructor(fields: FieldCore[] = []) { method fields (line 27) | get fields(): readonly FieldCore[] { method length (line 34) | get length(): number { method ordered (line 46) | get ordered(): FieldCore[] { method isEmpty (line 158) | get isEmpty(): boolean { method add (line 165) | add(field: FieldCore): void { method addMany (line 172) | addMany(fields: FieldCore[]): void { method remove (line 179) | remove(fieldId: string): boolean { method findById (line 191) | findById(fieldId: string): FieldCore | undefined { method findByName (line 198) | findByName(name: string): FieldCore | undefined { method findByDbFieldName (line 205) | findByDbFieldName(dbFieldName: string): FieldCore | undefined { method getIds (line 212) | getIds(): string[] { method getNames (line 219) | getNames(): string[] { method filter (line 226) | filter(predicate: (field: FieldCore) => boolean): FieldCore[] { method map (line 233) | map(mapper: (field: FieldCore) => T): T[] { method hasField (line 240) | hasField(fieldId: string): boolean { method hasFieldName (line 247) | hasFieldName(name: string): boolean { method getPrimaryField (line 254) | getPrimaryField(): FieldCore | undefined { method getLastModifiedFields (line 261) | getLastModifiedFields(): FieldCore[] { method getComputedFields (line 271) | getComputedFields(): FieldCore[] { method getLinkFields (line 275) | getLinkFields(): LinkFieldCore[] { method getLookupFields (line 282) | getLookupFields(): FieldCore[] { method update (line 289) | update(fieldId: string, updatedField: FieldCore): boolean { method clear (line 301) | clear(): void { method clone (line 308) | clone(): TableFields { method toArray (line 315) | toArray(): FieldCore[] { method toFieldMap (line 322) | toFieldMap(): IFieldMap { method toFieldNameMap (line 329) | toFieldNameMap(): Map { method toFieldDbNameMap (line 333) | toFieldDbNameMap(): Map { method getAllForeignTableIds (line 341) | getAllForeignTableIds(fieldIds?: string[]): Set { method [Symbol.iterator] (line 381) | *[Symbol.iterator](): Iterator { FILE: packages/core/src/models/table/table.ts class TableCore (line 1) | class TableCore { FILE: packages/core/src/models/table/tables.ts class Tables (line 9) | class Tables { method constructor (line 14) | constructor( method tableDomains (line 27) | get tableDomains(): ReadonlyMap { method visited (line 34) | get visited(): ReadonlySet { method entryTableId (line 41) | get entryTableId(): string { method size (line 48) | get size(): number { method isEmpty (line 55) | get isEmpty(): boolean { method addTable (line 62) | addTable(tableId: string, tableDomain: TableDomain): void { method addTables (line 69) | addTables(tables: Map): void { method getTable (line 78) | getTable(tableId: string): TableDomain | undefined { method mustGetTable (line 82) | mustGetTable(tableId: string): TableDomain { method getLinkForeignTable (line 90) | getLinkForeignTable(field: LinkFieldCore): TableDomain | undefined { method mustGetLinkForeignTable (line 94) | mustGetLinkForeignTable(field: LinkFieldCore): TableDomain { method hasTable (line 105) | hasTable(tableId: string): boolean { method removeTable (line 112) | removeTable(tableId: string): boolean { method markVisited (line 119) | markVisited(tableId: string): void { method isVisited (line 126) | isVisited(tableId: string): boolean { method getTableIds (line 133) | getTableIds(): string[] { method getTableDomainByIdsArray (line 140) | getTableDomainByIdsArray(): TableDomain[] { method getVisitedTableIds (line 147) | getVisitedTableIds(): string[] { method getEntryTable (line 154) | getEntryTable(): TableDomain | undefined { method mustGetEntryTable (line 162) | mustGetEntryTable(): TableDomain { method getTableListByIds (line 170) | getTableListByIds(ids: Iterable): TableDomain[] { method getForeignTables (line 177) | getForeignTables(): Map { method getForeignTableIds (line 192) | getForeignTableIds(): string[] { method isEntryTable (line 199) | isEntryTable(tableId: string): boolean { method isForeignTable (line 206) | isForeignTable(tableId: string): boolean { method filterTables (line 213) | filterTables(predicate: (tableDomain: TableDomain, tableId: string) =>... method mapTables (line 226) | mapTables(mapper: (tableDomain: TableDomain, tableId: string) => T)... method getAllRelatedTableIds (line 237) | getAllRelatedTableIds(): Set { method getUnvisitedTables (line 253) | getUnvisitedTables(): Map { method getVisitedTables (line 268) | getVisitedTables(): Map { method clear (line 283) | clear(): void { method clone (line 291) | clone(): Tables { method toPlainObject (line 298) | toPlainObject() { method [Symbol.iterator] (line 319) | *[Symbol.iterator](): Iterator<[string, TableDomain]> { FILE: packages/core/src/models/view/column-meta.schema.ts type IColumnMeta (line 15) | type IColumnMeta = z.infer; type IGridColumnMeta (line 17) | type IGridColumnMeta = z.infer; type IKanbanColumnMeta (line 19) | type IKanbanColumnMeta = z.infer; type IGalleryColumnMeta (line 21) | type IGalleryColumnMeta = z.infer; type ICalendarColumnMeta (line 23) | type ICalendarColumnMeta = z.infer; type IFormColumnMeta (line 25) | type IFormColumnMeta = z.infer; type IPluginColumnMeta (line 27) | type IPluginColumnMeta = z.infer; type IColumn (line 29) | type IColumn = z.infer; type IGridColumn (line 31) | type IGridColumn = z.infer; type IKanbanColumn (line 33) | type IKanbanColumn = z.infer; type IFormColumn (line 35) | type IFormColumn = z.infer; type IPluginColumn (line 37) | type IPluginColumn = z.infer; type IColumnMetaRo (line 150) | type IColumnMetaRo = z.infer; type IFieldsViewVisibleRo (line 152) | type IFieldsViewVisibleRo = z.infer; FILE: packages/core/src/models/view/constant.ts type RowHeightLevel (line 1) | enum RowHeightLevel { type ViewType (line 9) | enum ViewType { FILE: packages/core/src/models/view/derivate/calendar-view-option.schema.ts type ColorConfigType (line 4) | enum ColorConfigType { type IColorConfig (line 22) | type IColorConfig = z.infer; type ICalendarViewOptions (line 39) | type ICalendarViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/calendar.view.ts type ICalendarView (line 7) | interface ICalendarView extends IViewVo { class CalendarViewCore (line 12) | class CalendarViewCore extends ViewCore { FILE: packages/core/src/models/view/derivate/form-view-option.schema.ts type IFormViewOptions (line 11) | type IFormViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/form.view.ts type IFormView (line 7) | interface IFormView extends IViewVo { class FormViewCore (line 12) | class FormViewCore extends ViewCore { FILE: packages/core/src/models/view/derivate/gallery-view-option.schema.ts type IGalleryViewOptions (line 18) | type IGalleryViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/gallery.view.ts type IGalleryView (line 7) | interface IGalleryView extends IViewVo { class GalleryViewCore (line 12) | class GalleryViewCore extends ViewCore { FILE: packages/core/src/models/view/derivate/grid-view-option.schema.ts type IGridViewOptions (line 27) | type IGridViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/grid.view.ts type IGridView (line 7) | interface IGridView extends IViewVo { class GridViewCore (line 12) | class GridViewCore extends ViewCore { FILE: packages/core/src/models/view/derivate/kanban-view-option.schema.ts type IKanbanViewOptions (line 22) | type IKanbanViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/kanban.view.ts type IKanbanView (line 7) | interface IKanbanView extends IViewVo { class KanbanViewCore (line 12) | class KanbanViewCore extends ViewCore { FILE: packages/core/src/models/view/derivate/plugin-view-option.schema.ts type IPluginViewOptions (line 11) | type IPluginViewOptions = z.infer; FILE: packages/core/src/models/view/derivate/plugin.view.ts class PluginViewCore (line 6) | class PluginViewCore extends ViewCore { FILE: packages/core/src/models/view/filter/conjunction.ts type IConjunction (line 7) | type IConjunction = z.infer; FILE: packages/core/src/models/view/filter/field-reference.ts type FieldShape (line 6) | type FieldShape = { type FieldReferenceComparisonKind (line 12) | type FieldReferenceComparisonKind = constant USER_FIELD_TYPES (line 21) | const USER_FIELD_TYPES = new Set([ constant LINK_FIELD_TYPES (line 27) | const LINK_FIELD_TYPES = new Set([FieldType.Link]); constant ATTACHMENT_FIELD_TYPES (line 29) | const ATTACHMENT_FIELD_TYPES = new Set([FieldType.Attachment]); function getFieldReferenceComparisonKind (line 31) | function getFieldReferenceComparisonKind(field: FieldShape): FieldRefere... function isFieldReferenceComparable (line 57) | function isFieldReferenceComparable(field: FieldShape, reference: FieldS... constant FIELD_REFERENCE_UNSUPPORTED_OPERATORS (line 61) | const FIELD_REFERENCE_UNSUPPORTED_OPERATORS = new Set([isEmpt... function getFieldReferenceSupportedOperators (line 63) | function getFieldReferenceSupportedOperators(field: FieldShape): IOperat... function isFieldReferenceOperatorSupported (line 68) | function isFieldReferenceOperatorSupported( FILE: packages/core/src/models/view/filter/filter-item.ts type IDateFilter (line 66) | type IDateFilter = z.infer; type ILiteralValue (line 69) | type ILiteralValue = z.infer; type ILiteralValueList (line 71) | type ILiteralValueList = z.infer; type IFieldReferenceValue (line 78) | type IFieldReferenceValue = z.infer; type IFilterValue (line 83) | type IFilterValue = z.infer; type IFilterOperator (line 95) | type IFilterOperator = IOperator; type IFilterSymbolOperator (line 96) | type IFilterSymbolOperator = ISymbol; type IFilterItem (line 189) | type IFilterItem = z.infer; FILE: packages/core/src/models/view/filter/filter.ts type IFilterSet (line 14) | type IFilterSet = z.infer & { constant FILTER_DESCRIPTION (line 22) | const FILTER_DESCRIPTION = type IFilter (line 30) | type IFilter = z.infer; type IFilterRo (line 36) | type IFilterRo = z.infer; function mergeWithDefaultFilter (line 52) | function mergeWithDefaultFilter( type IFilterValidationError (line 131) | interface IFilterValidationError { FILE: packages/core/src/models/view/filter/operator.ts type IOperator (line 87) | type IOperator = z.infer; type ISubOperator (line 122) | type ISubOperator = z.infer; type ISymbol (line 156) | type ISymbol = z.infer; type ITextFieldOperator (line 202) | type ITextFieldOperator = z.infer; type INumberFieldOperator (line 222) | type INumberFieldOperator = z.infer; type IBooleanFieldOperator (line 235) | type IBooleanFieldOperator = z.infer; type IDateTimeFieldOperator (line 249) | type IDateTimeFieldOperator = z.infer; type IDateTimeFieldSubOperator (line 285) | type IDateTimeFieldSubOperator = z.infer; type IDateTimeFieldSubOperatorByIsWithin (line 320) | type IDateTimeFieldSubOperatorByIsWithin = z.infer< function getFilterOperatorMapping (line 334) | function getFilterOperatorMapping(field: FieldCore) { function getValidFilterOperators (line 343) | function getValidFilterOperators(field: { function getValidFilterSubOperators (line 426) | function getValidFilterSubOperators( FILE: packages/core/src/models/view/group/group.ts type IViewGroupRo (line 17) | type IViewGroupRo = z.infer; type IGroupItem (line 19) | type IGroupItem = z.infer; type IGroup (line 21) | type IGroup = z.infer; function parseGroup (line 37) | function parseGroup(queryGroup?: IGroup): IGroup | undefined { FILE: packages/core/src/models/view/option.schema.ts type IViewOptions (line 19) | type IViewOptions = z.infer; FILE: packages/core/src/models/view/query.replace.ts function replaceFilter (line 8) | function replaceFilter( function replaceSearch (line 30) | function replaceSearch( function replaceGroupBy (line 49) | function replaceGroupBy( function replaceOrderBy (line 64) | function replaceOrderBy( FILE: packages/core/src/models/view/sort/sort-func.enum.ts type SortFunc (line 1) | enum SortFunc { FILE: packages/core/src/models/view/sort/sort.ts type ISortItem (line 34) | type ISortItem = z.infer; type ISort (line 36) | type ISort = z.infer; type IManualSortRo (line 42) | type IManualSortRo = z.infer; function mergeWithDefaultSort (line 44) | function mergeWithDefaultSort( FILE: packages/core/src/models/view/view.schema.ts type IShareViewMeta (line 31) | type IShareViewMeta = z.infer; type IViewVo (line 57) | type IViewVo = z.infer; type IViewRo (line 110) | type IViewRo = z.infer; type IViewPropertyKeys (line 111) | type IViewPropertyKeys = keyof IViewVo; constant VIEW_JSON_KEYS (line 112) | const VIEW_JSON_KEYS = ['options', 'sort', 'filter', 'group', 'shareMeta... FILE: packages/core/src/op-builder/common.ts type OpName (line 1) | enum OpName { function pathMatcher (line 18) | function pathMatcher(path: (string | number)[], matchList: string[]):... FILE: packages/core/src/op-builder/field/add-column-meta.ts type IMetaKey (line 5) | type IMetaKey = keyof IColumn; type IAddColumnMetaOpContext (line 7) | interface IAddColumnMetaOpContext { class AddColumnMetaBuilder (line 14) | class AddColumnMetaBuilder implements IOpBuilder { method build (line 17) | build(params: { method detect (line 31) | detect(op: IOtOperation): IAddColumnMetaOpContext | null { FILE: packages/core/src/op-builder/field/add-field.ts class AddFieldBuilder (line 5) | class AddFieldBuilder implements ICreateOpBuilder { method build (line 8) | build(field: IFieldVo): IFieldVo { FILE: packages/core/src/op-builder/field/delete-column-meta.ts type IDeleteColumnMetaOpContext (line 5) | interface IDeleteColumnMetaOpContext { class DeleteColumnMetaBuilder (line 11) | class DeleteColumnMetaBuilder implements IOpBuilder { method build (line 14) | build(params: { viewId: string; oldMetaValue: IColumn }): IOtOperation { method detect (line 22) | detect(op: IOtOperation): IDeleteColumnMetaOpContext | null { FILE: packages/core/src/op-builder/field/field-op-builder.ts class FieldOpBuilder (line 9) | class FieldOpBuilder { FILE: packages/core/src/op-builder/field/set-field-property.ts type ISetFieldPropertyOpContext (line 5) | interface ISetFieldPropertyOpContext { class SetFieldPropertyBuilder (line 12) | class SetFieldPropertyBuilder implements IOpBuilder { method build (line 15) | build(params: { key: IFieldPropertyKey; oldValue: unknown; newValue: u... method detect (line 25) | detect(op: IOtOperation): ISetFieldPropertyOpContext | null { FILE: packages/core/src/op-builder/interface.ts type IOpContextBase (line 4) | interface IOpContextBase { type IOpBuilder (line 8) | interface IOpBuilder { type ICreateOpBuilder (line 16) | interface ICreateOpBuilder { FILE: packages/core/src/op-builder/op-builder.abstract.ts method ops2Contexts (line 8) | static ops2Contexts(ops: IOtOperation[]) { method detect (line 18) | static detect(op: IOtOperation) { FILE: packages/core/src/op-builder/record/add-record.ts class AddRecordBuilder (line 5) | class AddRecordBuilder implements ICreateOpBuilder { method build (line 9) | build(record: IRecord): IRecord { FILE: packages/core/src/op-builder/record/record-op-builder.ts class RecordOpBuilder (line 7) | class RecordOpBuilder { FILE: packages/core/src/op-builder/record/set-record.ts type ISetRecordOpContext (line 5) | interface ISetRecordOpContext { class SetRecordBuilder (line 12) | class SetRecordBuilder implements IOpBuilder { method build (line 15) | build(params: { fieldId: string; newCellValue: unknown; oldCellValue: ... method detect (line 45) | detect(op: IOtOperation): ISetRecordOpContext | null { FILE: packages/core/src/op-builder/table/add-table.ts class AddTableBuilder (line 5) | class AddTableBuilder implements ICreateOpBuilder { method build (line 8) | build(table: ITableOp): ITableOp { FILE: packages/core/src/op-builder/table/set-table-property.ts type ITableOp (line 5) | interface ITableOp { type ITablePropertyKey (line 14) | type ITablePropertyKey = keyof ITableOp; type ISetTablePropertyOpContext (line 16) | interface ISetTablePropertyOpContext { class SetTablePropertyBuilder (line 23) | class SetTablePropertyBuilder implements IOpBuilder { method build (line 26) | build(params: { key: ITablePropertyKey; oldValue: unknown; newValue: u... method detect (line 36) | detect(op: IOtOperation): ISetTablePropertyOpContext | null { FILE: packages/core/src/op-builder/table/table-op-builder.ts class TableOpBuilder (line 7) | class TableOpBuilder { FILE: packages/core/src/op-builder/view/add-view.ts class AddViewBuilder (line 5) | class AddViewBuilder implements ICreateOpBuilder { method build (line 8) | build(view: IViewVo): IViewVo { FILE: packages/core/src/op-builder/view/set-view-property.ts type ISetViewPropertyOpContext (line 5) | interface ISetViewPropertyOpContext { class SetViewPropertyBuilder (line 12) | class SetViewPropertyBuilder implements IOpBuilder { method build (line 15) | build(params: { method detect (line 29) | detect(op: IOtOperation): ISetViewPropertyOpContext | null { FILE: packages/core/src/op-builder/view/update-view-column-meta.ts type IUpdateViewColumnMetaOpContext (line 5) | interface IUpdateViewColumnMetaOpContext { class UpdateViewColumnMetaBuilder (line 12) | class UpdateViewColumnMetaBuilder implements IOpBuilder { method build (line 15) | build(params: { method detect (line 29) | detect(op: IOtOperation): IUpdateViewColumnMetaOpContext | null { FILE: packages/core/src/op-builder/view/view-op-builder.ts class ViewOpBuilder (line 7) | class ViewOpBuilder { method ops2Contexts (line 17) | static ops2Contexts(ops: IOtOperation[]) { method detect (line 27) | static detect(op: IOtOperation) { FILE: packages/core/src/query/json-error.strategy.ts class JsonErrorStrategy (line 5) | class JsonErrorStrategy extends DefaultErrorStrategy { method reportError (line 6) | reportError(parser: Parser, _recognitionException: RecognitionExceptio... method reportUnwantedToken (line 10) | protected reportUnwantedToken(recognizer: Parser) { FILE: packages/core/src/query/json.visitor.ts class JsonVisitor (line 28) | class JsonVisitor extends AbstractParseTreeVisitor implements Query... method defaultResult (line 29) | defaultResult() { method visitStart (line 33) | visitStart(ctx: StartContext) { method visitQueryExpr (line 49) | visitQueryExpr(ctx: QueryExprContext): any { method visitParenQueryExpr (line 53) | visitParenQueryExpr(ctx: ParenQueryExprContext): any { method visitBinaryExpr (line 57) | visitBinaryExpr(ctx: BinaryExprContext): any { method visitFieldIdentifier (line 88) | visitFieldIdentifier(ctx: FieldIdentifierContext): any { method visitPrimaryExprPredicate (line 92) | visitPrimaryExprPredicate(ctx: PrimaryExprPredicateContext): any { method visitPrimaryExprIs (line 96) | visitPrimaryExprIs(ctx: PrimaryExprIsContext): any { method visitPrimaryExprCompare (line 100) | visitPrimaryExprCompare(ctx: PrimaryExprCompareContext): any { method visitPredicateExprLike (line 104) | visitPredicateExprLike(ctx: PredicateExprLikeContext): any { method visitPredicateExprIn (line 108) | visitPredicateExprIn(ctx: PredicateExprInContext): any { method visitPredicateExprHas (line 112) | visitPredicateExprHas(ctx: PredicateExprHasContext): any { method visitPredicateExprEqArray (line 116) | visitPredicateExprEqArray(ctx: PredicateExprEqArrayContext): any { method visitValue (line 120) | visitValue(ctx: ValueContext): any { method visitValueList (line 124) | visitValueList(ctx: ValueListContext): any { method visitStringLiteral (line 128) | visitStringLiteral(ctx: StringLiteralContext): any { method visitNumberLiteral (line 132) | visitNumberLiteral(ctx: NumberLiteralContext): any { method visitBooleanLiteral (line 136) | visitBooleanLiteral(ctx: BooleanLiteralContext): any { method visitNullLiteral (line 140) | visitNullLiteral(_ctx: NullLiteralContext): any { method createResult (line 144) | private createResult( FILE: packages/core/src/query/parser/Query.ts class Query (line 25) | class Query extends Parser { method vocabulary (line 177) | public get vocabulary(): Vocabulary { method grammarFileName (line 182) | public get grammarFileName(): string { method ruleNames (line 187) | public get ruleNames(): string[] { method serializedATN (line 192) | public get serializedATN(): string { method createFailedPredicateException (line 196) | protected createFailedPredicateException( method constructor (line 203) | constructor(input: TokenStream) { method start (line 208) | public start(): StartContext { method expr (line 236) | public expr(_p?: number): ExprContext { method queryStatement (line 336) | public queryStatement(): QueryStatementContext { method predicate (line 390) | public predicate(): PredicateContext { method fieldIdentifier (line 463) | public fieldIdentifier(): FieldIdentifierContext { method compOp (line 486) | public compOp(): CompOpContext { method isOp (line 533) | public isOp(): IsOpContext { method likeOp (line 567) | public likeOp(): LikeOpContext { method inOp (line 601) | public inOp(): InOpContext { method value (line 635) | public value(): ValueContext { method valueList (line 658) | public valueList(): ValueListContext { method literal (line 721) | public literal(): LiteralContext { method stringLiteral (line 776) | public stringLiteral(): StringLiteralContext { method numberLiteral (line 810) | public numberLiteral(): NumberLiteralContext { method booleanLiteral (line 844) | public booleanLiteral(): BooleanLiteralContext { method nullLiteral (line 878) | public nullLiteral(): NullLiteralContext { method sempred (line 901) | public sempred(_localctx: RuleContext, ruleIndex: number, predIndex: n... method expr_sempred (line 908) | private expr_sempred(_localctx: ExprContext, predIndex: number): boole... method _ATN (line 964) | public static get _ATN(): ATN { class StartContext (line 973) | class StartContext extends ParserRuleContext { method expr (line 974) | public expr(): ExprContext { method EOF (line 977) | public EOF(): TerminalNode { method constructor (line 980) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 984) | public get ruleIndex(): number { method accept (line 988) | public accept(visitor: QueryVisitor): Result { class ExprContext (line 997) | class ExprContext extends ParserRuleContext { method constructor (line 998) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1002) | public get ruleIndex(): number { method copyFrom (line 1005) | public copyFrom(ctx: ExprContext): void { class QueryExprContext (line 1009) | class QueryExprContext extends ExprContext { method queryStatement (line 1010) | public queryStatement(): QueryStatementContext { method constructor (line 1013) | constructor(ctx: ExprContext) { method accept (line 1018) | public accept(visitor: QueryVisitor): Result { class BinaryExprContext (line 1026) | class BinaryExprContext extends ExprContext { method expr (line 1030) | public expr(i?: number): ExprContext | ExprContext[] { method AND_SYMBOL (line 1037) | public AND_SYMBOL(): TerminalNode | undefined { method OR_SYMBOL (line 1040) | public OR_SYMBOL(): TerminalNode | undefined { method constructor (line 1043) | constructor(ctx: ExprContext) { method accept (line 1048) | public accept(visitor: QueryVisitor): Result { class ParenQueryExprContext (line 1056) | class ParenQueryExprContext extends ExprContext { method OPEN_PAREN (line 1057) | public OPEN_PAREN(): TerminalNode { method expr (line 1060) | public expr(): ExprContext { method CLOSE_PAREN (line 1063) | public CLOSE_PAREN(): TerminalNode { method constructor (line 1066) | constructor(ctx: ExprContext) { method accept (line 1071) | public accept(visitor: QueryVisitor): Result { class QueryStatementContext (line 1080) | class QueryStatementContext extends ParserRuleContext { method constructor (line 1081) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1085) | public get ruleIndex(): number { method copyFrom (line 1088) | public copyFrom(ctx: QueryStatementContext): void { class PrimaryExprPredicateContext (line 1092) | class PrimaryExprPredicateContext extends QueryStatementContext { method predicate (line 1093) | public predicate(): PredicateContext { method constructor (line 1096) | constructor(ctx: QueryStatementContext) { method accept (line 1101) | public accept(visitor: QueryVisitor): Result { class PrimaryExprIsContext (line 1109) | class PrimaryExprIsContext extends QueryStatementContext { method fieldIdentifier (line 1110) | public fieldIdentifier(): FieldIdentifierContext { method isOp (line 1113) | public isOp(): IsOpContext { method constructor (line 1116) | constructor(ctx: QueryStatementContext) { method accept (line 1121) | public accept(visitor: QueryVisitor): Result { class PrimaryExprCompareContext (line 1129) | class PrimaryExprCompareContext extends QueryStatementContext { method fieldIdentifier (line 1130) | public fieldIdentifier(): FieldIdentifierContext { method compOp (line 1133) | public compOp(): CompOpContext { method value (line 1136) | public value(): ValueContext { method constructor (line 1139) | constructor(ctx: QueryStatementContext) { method accept (line 1144) | public accept(visitor: QueryVisitor): Result { class PredicateContext (line 1153) | class PredicateContext extends ParserRuleContext { method constructor (line 1154) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1158) | public get ruleIndex(): number { method copyFrom (line 1161) | public copyFrom(ctx: PredicateContext): void { class PredicateExprLikeContext (line 1165) | class PredicateExprLikeContext extends PredicateContext { method fieldIdentifier (line 1166) | public fieldIdentifier(): FieldIdentifierContext { method likeOp (line 1169) | public likeOp(): LikeOpContext { method value (line 1172) | public value(): ValueContext { method constructor (line 1175) | constructor(ctx: PredicateContext) { method accept (line 1180) | public accept(visitor: QueryVisitor): Result { class PredicateExprInContext (line 1188) | class PredicateExprInContext extends PredicateContext { method fieldIdentifier (line 1189) | public fieldIdentifier(): FieldIdentifierContext { method inOp (line 1192) | public inOp(): InOpContext { method valueList (line 1195) | public valueList(): ValueListContext { method constructor (line 1198) | constructor(ctx: PredicateContext) { method accept (line 1203) | public accept(visitor: QueryVisitor): Result { class PredicateExprHasContext (line 1211) | class PredicateExprHasContext extends PredicateContext { method fieldIdentifier (line 1212) | public fieldIdentifier(): FieldIdentifierContext { method HAS_SYMBOL (line 1215) | public HAS_SYMBOL(): TerminalNode { method valueList (line 1218) | public valueList(): ValueListContext { method constructor (line 1221) | constructor(ctx: PredicateContext) { method accept (line 1226) | public accept(visitor: QueryVisitor): Result { class PredicateExprEqArrayContext (line 1234) | class PredicateExprEqArrayContext extends PredicateContext { method fieldIdentifier (line 1235) | public fieldIdentifier(): FieldIdentifierContext { method EQUAL_OPERATOR (line 1238) | public EQUAL_OPERATOR(): TerminalNode { method valueList (line 1241) | public valueList(): ValueListContext { method constructor (line 1244) | constructor(ctx: PredicateContext) { method accept (line 1249) | public accept(visitor: QueryVisitor): Result { class FieldIdentifierContext (line 1258) | class FieldIdentifierContext extends ParserRuleContext { method SIMPLE_IDENTIFIER (line 1259) | public SIMPLE_IDENTIFIER(): TerminalNode { method constructor (line 1262) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1266) | public get ruleIndex(): number { method accept (line 1270) | public accept(visitor: QueryVisitor): Result { class CompOpContext (line 1279) | class CompOpContext extends ParserRuleContext { method EQUAL_OPERATOR (line 1280) | public EQUAL_OPERATOR(): TerminalNode | undefined { method NOT_EQUAL_OPERATOR (line 1283) | public NOT_EQUAL_OPERATOR(): TerminalNode | undefined { method NOT_EQUAL2_OPERATOR (line 1286) | public NOT_EQUAL2_OPERATOR(): TerminalNode | undefined { method GT_OPERATOR (line 1289) | public GT_OPERATOR(): TerminalNode | undefined { method GTE_OPERATOR (line 1292) | public GTE_OPERATOR(): TerminalNode | undefined { method LT_OPERATOR (line 1295) | public LT_OPERATOR(): TerminalNode | undefined { method LTE_OPERATOR (line 1298) | public LTE_OPERATOR(): TerminalNode | undefined { method constructor (line 1301) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1305) | public get ruleIndex(): number { method accept (line 1309) | public accept(visitor: QueryVisitor): Result { class IsOpContext (line 1318) | class IsOpContext extends ParserRuleContext { method LS_NULL_SYMBOL (line 1319) | public LS_NULL_SYMBOL(): TerminalNode | undefined { method LS_NOT_NULL_SYMBOL (line 1322) | public LS_NOT_NULL_SYMBOL(): TerminalNode | undefined { method constructor (line 1325) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1329) | public get ruleIndex(): number { method accept (line 1333) | public accept(visitor: QueryVisitor): Result { class LikeOpContext (line 1342) | class LikeOpContext extends ParserRuleContext { method LIKE_SYMBOL (line 1343) | public LIKE_SYMBOL(): TerminalNode | undefined { method NOT_LIKE_SYMBOL (line 1346) | public NOT_LIKE_SYMBOL(): TerminalNode | undefined { method constructor (line 1349) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1353) | public get ruleIndex(): number { method accept (line 1357) | public accept(visitor: QueryVisitor): Result { class InOpContext (line 1366) | class InOpContext extends ParserRuleContext { method IN_SYMBOL (line 1367) | public IN_SYMBOL(): TerminalNode | undefined { method NOT_IN_SYMBOL (line 1370) | public NOT_IN_SYMBOL(): TerminalNode | undefined { method constructor (line 1373) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1377) | public get ruleIndex(): number { method accept (line 1381) | public accept(visitor: QueryVisitor): Result { class ValueContext (line 1390) | class ValueContext extends ParserRuleContext { method literal (line 1391) | public literal(): LiteralContext { method constructor (line 1394) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1398) | public get ruleIndex(): number { method accept (line 1402) | public accept(visitor: QueryVisitor): Result { class ValueListContext (line 1411) | class ValueListContext extends ParserRuleContext { method OPEN_PAREN (line 1412) | public OPEN_PAREN(): TerminalNode { method CLOSE_PAREN (line 1415) | public CLOSE_PAREN(): TerminalNode { method literal (line 1420) | public literal(i?: number): LiteralContext | LiteralContext[] { method COMMA (line 1429) | public COMMA(i?: number): TerminalNode | TerminalNode[] { method constructor (line 1436) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1440) | public get ruleIndex(): number { method accept (line 1444) | public accept(visitor: QueryVisitor): Result { class LiteralContext (line 1453) | class LiteralContext extends ParserRuleContext { method stringLiteral (line 1454) | public stringLiteral(): StringLiteralContext | undefined { method numberLiteral (line 1457) | public numberLiteral(): NumberLiteralContext | undefined { method booleanLiteral (line 1460) | public booleanLiteral(): BooleanLiteralContext | undefined { method nullLiteral (line 1463) | public nullLiteral(): NullLiteralContext | undefined { method constructor (line 1466) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1470) | public get ruleIndex(): number { method accept (line 1474) | public accept(visitor: QueryVisitor): Result { class StringLiteralContext (line 1483) | class StringLiteralContext extends ParserRuleContext { method SINGLEQ_STRING_LITERAL (line 1484) | public SINGLEQ_STRING_LITERAL(): TerminalNode | undefined { method DOUBLEQ_STRING_LITERAL (line 1487) | public DOUBLEQ_STRING_LITERAL(): TerminalNode | undefined { method constructor (line 1490) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1494) | public get ruleIndex(): number { method accept (line 1498) | public accept(visitor: QueryVisitor): Result { class NumberLiteralContext (line 1507) | class NumberLiteralContext extends ParserRuleContext { method INTEGER_LITERAL (line 1508) | public INTEGER_LITERAL(): TerminalNode | undefined { method NUMERIC_LITERAL (line 1511) | public NUMERIC_LITERAL(): TerminalNode | undefined { method constructor (line 1514) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1518) | public get ruleIndex(): number { method accept (line 1522) | public accept(visitor: QueryVisitor): Result { class BooleanLiteralContext (line 1531) | class BooleanLiteralContext extends ParserRuleContext { method TRUE_SYMBOL (line 1532) | public TRUE_SYMBOL(): TerminalNode | undefined { method FALSE_SYMBOL (line 1535) | public FALSE_SYMBOL(): TerminalNode | undefined { method constructor (line 1538) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1542) | public get ruleIndex(): number { method accept (line 1546) | public accept(visitor: QueryVisitor): Result { class NullLiteralContext (line 1555) | class NullLiteralContext extends ParserRuleContext { method NULL_SYMBOL (line 1556) | public NULL_SYMBOL(): TerminalNode { method constructor (line 1559) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1563) | public get ruleIndex(): number { method accept (line 1567) | public accept(visitor: QueryVisitor): Result { FILE: packages/core/src/query/parser/QueryLexer.ts class QueryLexer (line 14) | class QueryLexer extends Lexer { method vocabulary (line 203) | public get vocabulary(): Vocabulary { method constructor (line 207) | constructor(input: CharStream) { method grammarFileName (line 213) | public get grammarFileName(): string { method ruleNames (line 218) | public get ruleNames(): string[] { method serializedATN (line 223) | public get serializedATN(): string { method channelNames (line 228) | public get channelNames(): string[] { method modeNames (line 233) | public get modeNames(): string[] { method _ATN (line 408) | public static get _ATN(): ATN { FILE: packages/core/src/query/parser/QueryVisitor.ts type QueryVisitor (line 41) | interface QueryVisitor extends ParseTreeVisitor { FILE: packages/core/src/typeguards/json-api/json-api-response.types.ts type IJsonApiError (line 4) | type IJsonApiError = { type IJsonApiErrorResponse (line 21) | type IJsonApiErrorResponse = { type IJsonApiResponseMeta (line 26) | type IJsonApiResponseMeta = { type IJsonApiSuccessResponse (line 32) | type IJsonApiSuccessResponse = { type IJsonApiResponse (line 37) | type IJsonApiResponse = IJsonApiErrorResponse | IJsonApiSuccessRespon... FILE: packages/core/src/typeguards/typeguards.ts type IIsoDateString (line 1) | type IIsoDateString = string; function isPresent (line 55) | function isPresent(v: T): v is NonNullable { FILE: packages/core/src/types/either-or.ts type IFilterOptional (line 1) | type IFilterOptional = Pick< type IFilterNotOptional (line 11) | type IFilterNotOptional = Pick< type IPartialEither (line 22) | type IPartialEither = { type IObject (line 28) | type IObject = { type IEitherOr (line 32) | type IEitherOr = ( FILE: packages/core/src/types/ensure-keys.ts type IEnsureKeysMatchInterface (line 2) | type IEnsureKeysMatchInterface = K extends ... FILE: packages/core/src/types/make-optional.ts type IMakeOptional (line 1) | type IMakeOptional = Omit & Partial = { FILE: packages/core/src/types/remove-null.ts type IRecursivelyReplaceNullWithUndefined (line 1) | type IRecursivelyReplaceNullWithUndefined = T extends null FILE: packages/core/src/types/snapshot-query.ts type IExtraResult (line 1) | interface IExtraResult { FILE: packages/core/src/types/un-promisify.ts type IUnPromisify (line 1) | type IUnPromisify = T extends Promise ? U : T; FILE: packages/core/src/utils/date.ts class DateUtil (line 9) | class DateUtil { method constructor (line 21) | constructor( method date (line 32) | date(date?: dayjs.ConfigType) { method now (line 41) | now(): string { method today (line 50) | today(): string { method offsetDay (line 61) | offsetDay(offset: number, date = this.date()) { method offsetWeek (line 72) | offsetWeek(offset: number, date = this.date()) { method offsetMonth (line 83) | offsetMonth(offset: number, date = this.date()) { method offset (line 95) | offset(dateField: ManipulateType, offset: number, date = this.date()) { method tomorrow (line 107) | tomorrow() { method yesterday (line 116) | yesterday() { method lastWeek (line 125) | lastWeek() { method nextWeek (line 134) | nextWeek() { method lastMonth (line 143) | lastMonth() { method nextMonth (line 152) | nextMonth() { FILE: packages/core/src/utils/dsn-parser.ts type IDsn (line 4) | type IDsn = ReturnType; function parseDsn (line 6) | function parseDsn(dsn: string): IDsn { function isParsableDsn (line 25) | function isParsableDsn(dsn: unknown) { type DriverClient (line 29) | enum DriverClient { FILE: packages/core/src/utils/enum.ts function has (line 2) | function has(obj: T, key: keyof any): key is keyof T { type IObjectMap (line 18) | type IObjectMap = { [P in K]: V }; function keys (line 20) | function keys(obj: Obj): Array { function getEnumValueIfExists (line 25) | function getEnumValueIfExists( function getInvertedEnumMemoized (line 41) | function getInvertedEnumMemoized( FILE: packages/core/src/utils/get-random-int.ts function getRandomInt (line 9) | function getRandomInt(min: number, max: number): number { FILE: packages/core/src/utils/get-uniq-name.ts function getUniqName (line 1) | function getUniqName(name: string, existNames: string[]) { FILE: packages/core/src/utils/id-generator.ts type IdPrefix (line 3) | enum IdPrefix { type RandomType (line 74) | enum RandomType { function getRandomString (line 85) | function getRandomString(len: number, type: RandomType = RandomType.Stri... function generateBaseNodeId (line 92) | function generateBaseNodeId() { function generateBaseNodeFolderId (line 96) | function generateBaseNodeFolderId() { function generateTableId (line 100) | function generateTableId() { function generateFieldId (line 104) | function generateFieldId() { function generateViewId (line 108) | function generateViewId() { function generateRecordId (line 112) | function generateRecordId() { function generateCommentId (line 116) | function generateCommentId() { function generateChoiceId (line 120) | function generateChoiceId() { function generateAttachmentId (line 124) | function generateAttachmentId() { function generateWorkflowId (line 128) | function generateWorkflowId() { function generateWorkflowTriggerId (line 132) | function generateWorkflowTriggerId() { function generateWorkflowActionId (line 136) | function generateWorkflowActionId() { function generateWorkflowDecisionId (line 140) | function generateWorkflowDecisionId() { function generateUserId (line 144) | function generateUserId() { function generateWindowId (line 148) | function generateWindowId() { function identify (line 152) | function identify(id: string): IdPrefix | undefined { function generateSpaceId (line 163) | function generateSpaceId() { function generateBaseId (line 167) | function generateBaseId() { function generateInvitationId (line 171) | function generateInvitationId() { function generateShareId (line 175) | function generateShareId() { function generateNotificationId (line 179) | function generateNotificationId() { function generateAccessTokenId (line 183) | function generateAccessTokenId() { function generateAccountId (line 187) | function generateAccountId() { function generateAuthorityMatrixId (line 191) | function generateAuthorityMatrixId() { function generateAuthorityMatrixRoleId (line 195) | function generateAuthorityMatrixRoleId() { function generateLicenseId (line 199) | function generateLicenseId() { function generateClientId (line 203) | function generateClientId() { function generateRecordHistoryId (line 207) | function generateRecordHistoryId() { function generatePluginId (line 211) | function generatePluginId() { function generatePluginInstallId (line 215) | function generatePluginInstallId() { function generatePluginUserId (line 219) | function generatePluginUserId() { function generatePluginPanelId (line 223) | function generatePluginPanelId() { function generateDashboardId (line 227) | function generateDashboardId() { function generateOperationId (line 231) | function generateOperationId() { function generateRecordTrashId (line 235) | function generateRecordTrashId() { function generateOrganizationId (line 239) | function generateOrganizationId() { function generateOrganizationDepartmentId (line 243) | function generateOrganizationDepartmentId() { function generateIntegrationId (line 247) | function generateIntegrationId() { function generateTemplateId (line 251) | function generateTemplateId() { function generateTemplateCategoryId (line 255) | function generateTemplateCategoryId() { function generateTaskId (line 259) | function generateTaskId() { function generateChatId (line 263) | function generateChatId() { function generateChatMessageId (line 267) | function generateChatMessageId() { function generateQueryId (line 271) | function generateQueryId() { function generateAppId (line 275) | function generateAppId() { function generateLogId (line 279) | function generateLogId() { FILE: packages/core/src/utils/minidenticon.ts constant COLORS_NB (line 2) | const COLORS_NB: number = 9; constant DEFAULT_SATURATION (line 3) | const DEFAULT_SATURATION: number = 95; constant DEFAULT_LIGHTNESS (line 4) | const DEFAULT_LIGHTNESS: number = 45; constant MAGIC_NUMBER (line 6) | const MAGIC_NUMBER: number = 5; function simpleHash (line 8) | function simpleHash(str: string): number { type MinidenticonFunction (line 16) | interface MinidenticonFunction { FILE: packages/db-main-prisma/prisma/postgres/migrations/20240308114704_initial_database/migration.sql type "space" (line 2) | CREATE TABLE "space" ( type "base" (line 15) | CREATE TABLE "base" ( type "table_meta" (line 32) | CREATE TABLE "table_meta" ( type "field" (line 51) | CREATE TABLE "field" ( type "view" (line 82) | CREATE TABLE "view" ( type "ops" (line 108) | CREATE TABLE "ops" ( type "snapshots" (line 119) | CREATE TABLE "snapshots" ( type "reference" (line 128) | CREATE TABLE "reference" ( type "users" (line 138) | CREATE TABLE "users" ( type "account" (line 156) | CREATE TABLE "account" ( type "attachments" (line 168) | CREATE TABLE "attachments" ( type "attachments_table" (line 187) | CREATE TABLE "attachments_table" ( type "automation_workflow" (line 204) | CREATE TABLE "automation_workflow" ( type "automation_workflow_trigger" (line 220) | CREATE TABLE "automation_workflow_trigger" ( type "automation_workflow_action" (line 237) | CREATE TABLE "automation_workflow_action" ( type "automation_workflow_execution_history" (line 256) | CREATE TABLE "automation_workflow_execution_history" ( type "collaborator" (line 267) | CREATE TABLE "collaborator" ( type "invitation" (line 283) | CREATE TABLE "invitation" ( type "invitation_record" (line 301) | CREATE TABLE "invitation_record" ( type "notification" (line 315) | CREATE TABLE "notification" ( type "access_token" (line 332) | CREATE TABLE "access_token" ( type "base" (line 350) | CREATE INDEX "base_order_idx" ON "base"("order") type "table_meta" (line 353) | CREATE INDEX "table_meta_order_idx" ON "table_meta"("order") type "field" (line 356) | CREATE INDEX "field_lookup_linked_field_id_idx" ON "field"("lookup_linke... type "view" (line 359) | CREATE INDEX "view_order_idx" ON "view"("order") type "ops" (line 362) | CREATE INDEX "ops_collection_created_time_idx" ON "ops"("collection", "c... type "ops" (line 365) | CREATE UNIQUE INDEX "ops_collection_doc_id_version_key" ON "ops"("collec... type "snapshots" (line 368) | CREATE UNIQUE INDEX "snapshots_collection_doc_id_key" ON "snapshots"("co... type "reference" (line 371) | CREATE INDEX "reference_from_field_id_idx" ON "reference"("from_field_id") type "reference" (line 374) | CREATE INDEX "reference_to_field_id_idx" ON "reference"("to_field_id") type "reference" (line 377) | CREATE UNIQUE INDEX "reference_to_field_id_from_field_id_key" ON "refere... type "users" (line 380) | CREATE UNIQUE INDEX "users_phone_key" ON "users"("phone") type "users" (line 383) | CREATE UNIQUE INDEX "users_email_key" ON "users"("email") type "account" (line 386) | CREATE UNIQUE INDEX "account_provider_provider_id_key" ON "account"("pro... type "attachments" (line 389) | CREATE UNIQUE INDEX "attachments_token_key" ON "attachments"("token") type "automation_workflow" (line 392) | CREATE UNIQUE INDEX "automation_workflow_workflow_id_key" ON "automation... type "automation_workflow_trigger" (line 395) | CREATE UNIQUE INDEX "automation_workflow_trigger_trigger_id_key" ON "aut... type "automation_workflow_trigger" (line 398) | CREATE INDEX "automation_workflow_trigger_workflow_id_idx" ON "automatio... type "automation_workflow_action" (line 401) | CREATE UNIQUE INDEX "automation_workflow_action_action_id_key" ON "autom... type "automation_workflow_action" (line 404) | CREATE INDEX "automation_workflow_action_workflow_id_idx" ON "automation... type "automation_workflow_execution_history" (line 407) | CREATE INDEX "automation_workflow_execution_history_workflow_id_idx" ON ... type "notification" (line 410) | CREATE INDEX "notification_to_user_id_is_read_created_time_idx" ON "noti... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240410190501_primary_field_visible/migration.sql type updated_column_t (line 1) | CREATE TEMP TABLE updated_column_t AS ( FILE: packages/db-main-prisma/prisma/postgres/migrations/20240528060827_add_pin_resource/migration.sql type "pin_resource" (line 2) | CREATE TABLE "pin_resource" ( type "pin_resource" (line 14) | CREATE INDEX "pin_resource_order_idx" ON "pin_resource"("order") type "pin_resource" (line 17) | CREATE UNIQUE INDEX "pin_resource_created_by_resource_id_key" ON "pin_re... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240626072754_add_setting_table/migration.sql type "setting" (line 2) | CREATE TABLE "setting" ( FILE: packages/db-main-prisma/prisma/postgres/migrations/20240702084258_add_oauth/migration.sql type "oauth_app" (line 5) | CREATE TABLE "oauth_app" ( type "oauth_app_authorized" (line 23) | CREATE TABLE "oauth_app_authorized" ( type "oauth_app_secret" (line 33) | CREATE TABLE "oauth_app_secret" ( type "oauth_app_token" (line 46) | CREATE TABLE "oauth_app_token" ( type "oauth_app" (line 58) | CREATE UNIQUE INDEX "oauth_app_client_id_key" ON "oauth_app"("client_id") type "oauth_app_authorized" (line 61) | CREATE UNIQUE INDEX "oauth_app_authorized_client_id_user_id_key" ON "oau... type "oauth_app_secret" (line 64) | CREATE UNIQUE INDEX "oauth_app_secret_secret_key" ON "oauth_app_secret"(... type "oauth_app_token" (line 67) | CREATE UNIQUE INDEX "oauth_app_token_refresh_token_sign_key" ON "oauth_a... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240806110415_add_record_history/migration.sql type "record_history" (line 2) | CREATE TABLE "record_history" ( type "record_history" (line 16) | CREATE INDEX "record_history_table_id_record_id_created_time_idx" ON "re... type "record_history" (line 19) | CREATE INDEX "record_history_table_id_created_time_idx" ON "record_histo... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240814074637_update_collaborator/migration.sql type "collaborator" (line 31) | CREATE UNIQUE INDEX "collaborator_resource_type_resource_id_user_id_key"... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240906084530_add_trash/migration.sql type "trash" (line 2) | CREATE TABLE "trash" ( type "trash" (line 14) | CREATE UNIQUE INDEX "trash_resource_type_resource_id_key" ON "trash"("re... FILE: packages/db-main-prisma/prisma/postgres/migrations/20240913075702_add_dashboard_plugin/migration.sql type "plugin" (line 5) | CREATE TABLE "plugin" ( type "plugin_install" (line 28) | CREATE TABLE "plugin_install" ( type "dashboard" (line 45) | CREATE TABLE "dashboard" ( type "plugin" (line 59) | CREATE UNIQUE INDEX "plugin_secret_key" ON "plugin"("secret") FILE: packages/db-main-prisma/prisma/postgres/migrations/20240919032636_add_comment/migration.sql type "comment" (line 2) | CREATE TABLE "comment" ( type "comment_subscription" (line 18) | CREATE TABLE "comment_subscription" ( type "comment" (line 26) | CREATE INDEX "comment_table_id_record_id_idx" ON "comment"("table_id", "... type "comment_subscription" (line 29) | CREATE INDEX "comment_subscription_table_id_record_id_idx" ON "comment_s... type "comment_subscription" (line 32) | CREATE UNIQUE INDEX "comment_subscription_table_id_record_id_key" ON "co... FILE: packages/db-main-prisma/prisma/postgres/migrations/20241205121129_add_table_trash/migration.sql type "table_trash" (line 2) | CREATE TABLE "table_trash" ( type "record_trash" (line 14) | CREATE TABLE "record_trash" ( FILE: packages/db-main-prisma/prisma/postgres/migrations/20241223100142_collaborator_support_org/migration.sql type "collaborator" (line 37) | CREATE UNIQUE INDEX "collaborator_resource_type_resource_id_principal_id... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250214080105_add_integration/migration.sql type "integration" (line 2) | CREATE TABLE "integration" ( type "integration" (line 15) | CREATE UNIQUE INDEX "integration_resource_id_key" ON "integration"("reso... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250217092955_add_table_plugin/migration.sql type "plugin_panel" (line 5) | CREATE TABLE "plugin_panel" ( FILE: packages/db-main-prisma/prisma/postgres/migrations/20250218075500_add_plugin_context_menu/migration.sql type "plugin_context_menu" (line 2) | CREATE TABLE "plugin_context_menu" ( type "plugin_context_menu" (line 13) | CREATE UNIQUE INDEX "plugin_context_menu_plugin_install_id_key" ON "plug... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250320062220_user_last_visit/migration.sql type "user_last_visit" (line 2) | CREATE TABLE "user_last_visit" ( type "user_last_visit" (line 14) | CREATE INDEX "user_last_visit_user_id_resource_type_idx" ON "user_last_v... type "user_last_visit" (line 17) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_parent_resour... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250402105144_add_template/migration.sql type "template" (line 5) | CREATE TABLE "template" ( type "template_category" (line 26) | CREATE TABLE "template_category" ( type "template_category" (line 39) | CREATE UNIQUE INDEX "template_category_name_key" ON "template_category"(... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250406145144_add_share_id_unique/migration.sql type "view" (line 8) | CREATE UNIQUE INDEX "view_share_id_key" ON "view"("share_id") FILE: packages/db-main-prisma/prisma/postgres/migrations/20250409093339_add_task_tables/migration.sql type "task" (line 5) | CREATE TABLE "task" ( type "task_run" (line 16) | CREATE TABLE "task_run" ( type "task_reference" (line 31) | CREATE TABLE "task_reference" ( type "task" (line 41) | CREATE INDEX "task_type_status_idx" ON "task"("type", "status") type "task_run" (line 44) | CREATE INDEX "task_run_task_id_status_idx" ON "task_run"("task_id", "sta... type "task_reference" (line 47) | CREATE INDEX "task_reference_from_field_id_idx" ON "task_reference"("fro... type "task_reference" (line 50) | CREATE INDEX "task_reference_to_field_id_idx" ON "task_reference"("to_fi... type "task_reference" (line 53) | CREATE UNIQUE INDEX "task_reference_to_field_id_from_field_id_key" ON "t... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250418091636_add_db_table_name_index/migration.sql type "table_meta" (line 2) | CREATE INDEX "table_meta_db_table_name_idx" ON "table_meta"("db_table_na... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250520081803_update_user_last_visit/migration.sql type "user_last_visit" (line 20) | CREATE INDEX "user_last_visit_user_id_resource_type_parent_resource_id_i... type "user_last_visit" (line 22) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_resource_id_k... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250702035214_update_setting/migration.sql type "setting_backup" (line 3) | CREATE TABLE "setting_backup" AS SELECT * FROM "setting" type "setting" (line 76) | CREATE UNIQUE INDEX "setting_name_key" ON "setting"("name") FILE: packages/db-main-prisma/prisma/postgres/migrations/20250811102556_add_visit_count/migration.sql type "user_last_visit" (line 5) | CREATE INDEX "user_last_visit_resource_type_resource_id_idx" ON "user_la... type "user_last_visit" (line 8) | CREATE INDEX "user_last_visit_resource_type_last_visit_time_idx" ON "use... FILE: packages/db-main-prisma/prisma/postgres/migrations/20250820022407_add_waitlist/migration.sql type "waitlist" (line 2) | CREATE TABLE "waitlist" ( type "waitlist" (line 10) | CREATE UNIQUE INDEX "waitlist_email_key" ON "waitlist"("email") FILE: packages/db-main-prisma/prisma/postgres/migrations/20250905035737_add_trash_index/migration.sql type "record_trash" (line 2) | CREATE INDEX "record_trash_table_id_record_id_idx" ON "record_trash"("ta... type "table_trash" (line 5) | CREATE INDEX "table_trash_table_id_idx" ON "table_trash"("table_id") FILE: packages/db-main-prisma/prisma/postgres/migrations/20250922111648_add_indexes/migration.sql type "access_token" (line 11) | CREATE INDEX "access_token_user_id_idx" ON "access_token"("user_id") type "access_token" (line 14) | CREATE INDEX "access_token_client_id_idx" ON "access_token"("client_id") type "attachments_table" (line 17) | CREATE INDEX "attachments_table_table_id_record_id_idx" ON "attachments_... type "attachments_table" (line 20) | CREATE INDEX "attachments_table_table_id_field_id_idx" ON "attachments_t... type "attachments_table" (line 23) | CREATE INDEX "attachments_table_attachment_id_idx" ON "attachments_table... type "collaborator" (line 26) | CREATE INDEX "collaborator_resource_id_idx" ON "collaborator"("resource_... type "collaborator" (line 29) | CREATE INDEX "collaborator_principal_id_idx" ON "collaborator"("principa... type "dashboard" (line 32) | CREATE INDEX "dashboard_base_id_idx" ON "dashboard"("base_id") type "integration" (line 35) | CREATE INDEX "integration_resource_id_idx" ON "integration"("resource_id") type "invitation" (line 38) | CREATE INDEX "invitation_base_id_idx" ON "invitation"("base_id") type "invitation" (line 41) | CREATE INDEX "invitation_space_id_idx" ON "invitation"("space_id") type "invitation_record" (line 44) | CREATE INDEX "invitation_record_invitation_id_idx" ON "invitation_record... type "invitation_record" (line 47) | CREATE INDEX "invitation_record_base_id_idx" ON "invitation_record"("bas... type "invitation_record" (line 50) | CREATE INDEX "invitation_record_space_id_idx" ON "invitation_record"("sp... type "plugin_install" (line 53) | CREATE INDEX "plugin_install_position_id_idx" ON "plugin_install"("posit... type "plugin_install" (line 56) | CREATE INDEX "plugin_install_base_id_idx" ON "plugin_install"("base_id") FILE: packages/db-main-prisma/prisma/postgres/migrations/20251119134101_add_base_node/migration.sql type "base_node" (line 2) | CREATE TABLE "base_node" ( type "base_node_folder" (line 18) | CREATE TABLE "base_node_folder" ( type "base_node" (line 31) | CREATE UNIQUE INDEX "base_node_base_id_resource_type_resource_id_key" ON... type "base_node_folder" (line 34) | CREATE UNIQUE INDEX "base_node_folder_base_id_name_key" ON "base_node_fo... FILE: packages/db-main-prisma/prisma/postgres/migrations/20251208112242_template_community/migration.sql type "template" (line 36) | CREATE UNIQUE INDEX "template_base_id_key" ON "template"("base_id") FILE: packages/db-main-prisma/prisma/postgres/migrations/20260104151713_add_computed_update_outbox_tables/migration.sql type "computed_update_outbox" (line 2) | CREATE TABLE "computed_update_outbox" ( type "computed_update_outbox_seed" (line 30) | CREATE TABLE "computed_update_outbox_seed" ( type "computed_update_dead_letter" (line 39) | CREATE TABLE "computed_update_dead_letter" ( type "computed_update_outbox" (line 68) | CREATE INDEX "computed_update_outbox_status_next_run_at_idx" ON "compute... type "computed_update_outbox" (line 71) | CREATE INDEX "computed_update_outbox_base_id_seed_table_id_idx" ON "comp... type "computed_update_outbox" (line 74) | CREATE INDEX "computed_update_outbox_plan_hash_idx" ON "computed_update_... type "computed_update_outbox_seed" (line 77) | CREATE INDEX "computed_update_outbox_seed_task_id_idx" ON "computed_upda... type "computed_update_outbox_seed" (line 80) | CREATE UNIQUE INDEX "computed_update_outbox_seed_task_id_record_id_key" ... type "computed_update_dead_letter" (line 83) | CREATE INDEX "computed_update_dead_letter_base_id_seed_table_id_idx" ON ... type "computed_update_dead_letter" (line 86) | CREATE INDEX "computed_update_dead_letter_plan_hash_idx" ON "computed_up... FILE: packages/db-main-prisma/prisma/postgres/migrations/20260104190000_add_outbox_seed_table_id/migration.sql type "computed_update_outbox_seed" (line 13) | CREATE UNIQUE INDEX "computed_update_outbox_seed_task_id_table_id_record... FILE: packages/db-main-prisma/prisma/postgres/migrations/20260105123000_add_computed_update_run_tracking/migration.sql type "computed_update_outbox" (line 18) | CREATE INDEX "computed_update_outbox_run_id_idx" ON "computed_update_out... type "computed_update_dead_letter" (line 35) | CREATE INDEX "computed_update_dead_letter_run_id_idx" ON "computed_updat... FILE: packages/db-main-prisma/prisma/postgres/migrations/20260114000000_add_field_json_indexes/migration.sql type "field" (line 5) | CREATE INDEX IF NOT EXISTS "field_lookup_options_link_field_id_idx" type "field" (line 10) | CREATE INDEX IF NOT EXISTS "field_lookup_options_lookup_field_id_idx" type "field" (line 15) | CREATE INDEX IF NOT EXISTS "field_options_lookup_field_id_idx" FILE: packages/db-main-prisma/prisma/postgres/migrations/20260118000000_add_symmetric_field_id_index/migration.sql type "field" (line 4) | CREATE INDEX IF NOT EXISTS "field_options_symmetric_field_id_idx" FILE: packages/db-main-prisma/prisma/postgres/migrations/20260120065143_add_core_table_indexes/migration.sql type "field" (line 2) | CREATE INDEX IF NOT EXISTS "field_table_id_deleted_time_idx" ON "field"(... type "table_meta" (line 5) | CREATE INDEX IF NOT EXISTS "table_meta_base_id_deleted_time_idx" ON "tab... type "view" (line 8) | CREATE INDEX IF NOT EXISTS "view_table_id_deleted_time_idx" ON "view"("t... FILE: packages/db-main-prisma/prisma/postgres/migrations/20260121100000_add_base_share/migration.sql type "base_share" (line 2) | CREATE TABLE "base_share" ( type "base_share" (line 19) | CREATE UNIQUE INDEX "base_share_share_id_key" ON "base_share"("share_id") type "base_share" (line 22) | CREATE UNIQUE INDEX "base_share_node_id_key" ON "base_share"("node_id") type "base_share" (line 25) | CREATE INDEX "base_share_base_id_idx" ON "base_share"("base_id") FILE: packages/db-main-prisma/prisma/postgres/migrations/20260129203000_add_outbox_pending_unique_index/migration.sql type "computed_update_outbox" (line 1) | CREATE UNIQUE INDEX IF NOT EXISTS "computed_update_outbox_pending_unique... FILE: packages/db-main-prisma/prisma/postgres/migrations/20260305120931_add_oauth_app_client_index/migration.sql type "oauth_app_token" (line 2) | CREATE INDEX "oauth_app_token_client_id_idx" ON "oauth_app_token"("clien... FILE: packages/db-main-prisma/prisma/seed.ts type IDsn (line 10) | type IDsn = ReturnType; function parseDsn (line 12) | function parseDsn(dsn: string): IDsn { function main (line 38) | async function main() { FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240308114656_initial_database/migration.sql type "space" (line 2) | CREATE TABLE "space" ( type "base" (line 13) | CREATE TABLE "base" ( type "table_meta" (line 29) | CREATE TABLE "table_meta" ( type "field" (line 47) | CREATE TABLE "field" ( type "view" (line 77) | CREATE TABLE "view" ( type "ops" (line 102) | CREATE TABLE "ops" ( type "snapshots" (line 113) | CREATE TABLE "snapshots" ( type "reference" (line 122) | CREATE TABLE "reference" ( type "users" (line 130) | CREATE TABLE "users" ( type "account" (line 146) | CREATE TABLE "account" ( type "attachments" (line 157) | CREATE TABLE "attachments" ( type "attachments_table" (line 174) | CREATE TABLE "attachments_table" ( type "automation_workflow" (line 189) | CREATE TABLE "automation_workflow" ( type "automation_workflow_trigger" (line 203) | CREATE TABLE "automation_workflow_trigger" ( type "automation_workflow_action" (line 218) | CREATE TABLE "automation_workflow_action" ( type "automation_workflow_execution_history" (line 235) | CREATE TABLE "automation_workflow_execution_history" ( type "collaborator" (line 244) | CREATE TABLE "collaborator" ( type "invitation" (line 258) | CREATE TABLE "invitation" ( type "invitation_record" (line 274) | CREATE TABLE "invitation_record" ( type "notification" (line 286) | CREATE TABLE "notification" ( type "access_token" (line 301) | CREATE TABLE "access_token" ( type "base" (line 317) | CREATE INDEX "base_order_idx" ON "base"("order") type "table_meta" (line 320) | CREATE INDEX "table_meta_order_idx" ON "table_meta"("order") type "field" (line 323) | CREATE INDEX "field_lookup_linked_field_id_idx" ON "field"("lookup_linke... type "view" (line 326) | CREATE INDEX "view_order_idx" ON "view"("order") type "ops" (line 329) | CREATE INDEX "ops_collection_created_time_idx" ON "ops"("collection", "c... type "ops" (line 332) | CREATE UNIQUE INDEX "ops_collection_doc_id_version_key" ON "ops"("collec... type "snapshots" (line 335) | CREATE UNIQUE INDEX "snapshots_collection_doc_id_key" ON "snapshots"("co... type "reference" (line 338) | CREATE INDEX "reference_from_field_id_idx" ON "reference"("from_field_id") type "reference" (line 341) | CREATE INDEX "reference_to_field_id_idx" ON "reference"("to_field_id") type "reference" (line 344) | CREATE UNIQUE INDEX "reference_to_field_id_from_field_id_key" ON "refere... type "users" (line 347) | CREATE UNIQUE INDEX "users_phone_key" ON "users"("phone") type "users" (line 350) | CREATE UNIQUE INDEX "users_email_key" ON "users"("email") type "account" (line 353) | CREATE UNIQUE INDEX "account_provider_provider_id_key" ON "account"("pro... type "attachments" (line 356) | CREATE UNIQUE INDEX "attachments_token_key" ON "attachments"("token") type "automation_workflow" (line 359) | CREATE UNIQUE INDEX "automation_workflow_workflow_id_key" ON "automation... type "automation_workflow_trigger" (line 362) | CREATE UNIQUE INDEX "automation_workflow_trigger_trigger_id_key" ON "aut... type "automation_workflow_trigger" (line 365) | CREATE INDEX "automation_workflow_trigger_workflow_id_idx" ON "automatio... type "automation_workflow_action" (line 368) | CREATE UNIQUE INDEX "automation_workflow_action_action_id_key" ON "autom... type "automation_workflow_action" (line 371) | CREATE INDEX "automation_workflow_action_workflow_id_idx" ON "automation... type "automation_workflow_execution_history" (line 374) | CREATE INDEX "automation_workflow_execution_history_workflow_id_idx" ON ... type "notification" (line 377) | CREATE INDEX "notification_to_user_id_is_read_created_time_idx" ON "noti... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240409081445_field_order/migration.sql type "new_field" (line 9) | CREATE TABLE "new_field" ( type "field" (line 41) | CREATE INDEX "field_lookup_linked_field_id_idx" ON "field"("lookup_linke... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240528055850_add_pin_resource/migration.sql type "pin_resource" (line 2) | CREATE TABLE "pin_resource" ( type "pin_resource" (line 11) | CREATE UNIQUE INDEX "pin_resource_created_by_resource_id_key" ON "pin_re... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240528060824_add_pin_resource/migration.sql type "new_pin_resource" (line 9) | CREATE TABLE "new_pin_resource" ( type "pin_resource" (line 20) | CREATE INDEX "pin_resource_order_idx" ON "pin_resource"("order") type "pin_resource" (line 21) | CREATE UNIQUE INDEX "pin_resource_created_by_resource_id_key" ON "pin_re... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240626072703_add_setting_table/migration.sql type "setting" (line 2) | CREATE TABLE "setting" ( FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240702084255_add_oauth/migration.sql type "oauth_app" (line 5) | CREATE TABLE "oauth_app" ( type "oauth_app_authorized" (line 21) | CREATE TABLE "oauth_app_authorized" ( type "oauth_app_secret" (line 29) | CREATE TABLE "oauth_app_secret" ( type "oauth_app_token" (line 40) | CREATE TABLE "oauth_app_token" ( type "oauth_app" (line 50) | CREATE UNIQUE INDEX "oauth_app_client_id_key" ON "oauth_app"("client_id") type "oauth_app_authorized" (line 53) | CREATE UNIQUE INDEX "oauth_app_authorized_client_id_user_id_key" ON "oau... type "oauth_app_secret" (line 56) | CREATE UNIQUE INDEX "oauth_app_secret_secret_key" ON "oauth_app_secret"(... type "oauth_app_token" (line 59) | CREATE UNIQUE INDEX "oauth_app_token_refresh_token_sign_key" ON "oauth_a... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240708080010_oauth_revoke/migration.sql type "new_oauth_app_secret" (line 12) | CREATE TABLE "new_oauth_app_secret" ( type "oauth_app_secret" (line 24) | CREATE UNIQUE INDEX "oauth_app_secret_secret_key" ON "oauth_app_secret"(... type "new_access_token" (line 25) | CREATE TABLE "new_access_token" ( type "new_oauth_app" (line 43) | CREATE TABLE "new_oauth_app" ( type "oauth_app" (line 59) | CREATE UNIQUE INDEX "oauth_app_client_id_key" ON "oauth_app"("client_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240712040040_remove_bucket/migration.sql type "new_attachments" (line 9) | CREATE TABLE "new_attachments" ( type "attachments" (line 26) | CREATE UNIQUE INDEX "attachments_token_key" ON "attachments"("token") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240716070608_notification_url_path/migration.sql type "new_notification" (line 11) | CREATE TABLE "new_notification" ( type "notification" (line 25) | CREATE INDEX "notification_to_user_id_is_read_created_time_idx" ON "noti... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240806110404_add_record_history/migration.sql type "record_history" (line 2) | CREATE TABLE "record_history" ( type "record_history" (line 14) | CREATE INDEX "record_history_table_id_record_id_created_time_idx" ON "re... type "record_history" (line 17) | CREATE INDEX "record_history_table_id_created_time_idx" ON "record_histo... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240814074632_update_collaborator/migration.sql type "new_collaborator" (line 12) | CREATE TABLE "new_collaborator" ( type "collaborator" (line 27) | CREATE UNIQUE INDEX "collaborator_resource_type_resource_id_user_id_key"... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240906084521_add_trash/migration.sql type "trash" (line 2) | CREATE TABLE "trash" ( type "trash" (line 12) | CREATE UNIQUE INDEX "trash_resource_type_resource_id_key" ON "trash"("re... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240913075658_add_dashboard_plugin/migration.sql type "plugin" (line 5) | CREATE TABLE "plugin" ( type "plugin_install" (line 26) | CREATE TABLE "plugin_install" ( type "dashboard" (line 42) | CREATE TABLE "dashboard" ( type "plugin" (line 54) | CREATE UNIQUE INDEX "plugin_secret_key" ON "plugin"("secret") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20240919032621_add_comment/migration.sql type "comment" (line 2) | CREATE TABLE "comment" ( type "comment_subscription" (line 16) | CREATE TABLE "comment_subscription" ( type "comment" (line 24) | CREATE INDEX "comment_table_id_record_id_idx" ON "comment"("table_id", "... type "comment_subscription" (line 27) | CREATE INDEX "comment_subscription_table_id_record_id_idx" ON "comment_s... type "comment_subscription" (line 30) | CREATE UNIQUE INDEX "comment_subscription_table_id_record_id_key" ON "co... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20241205121154_add_table_trash/migration.sql type "table_trash" (line 2) | CREATE TABLE "table_trash" ( type "record_trash" (line 12) | CREATE TABLE "record_trash" ( FILE: packages/db-main-prisma/prisma/sqlite/migrations/20241223100135_collaborator_support_org/migration.sql type "new_collaborator" (line 13) | CREATE TABLE "new_collaborator" ( type "collaborator" (line 29) | CREATE UNIQUE INDEX "collaborator_resource_type_resource_id_principal_id... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20241226111815_remove_collaborator_foreign_user/migration.sql type "new_collaborator" (line 3) | CREATE TABLE "new_collaborator" ( type "collaborator" (line 18) | CREATE UNIQUE INDEX "collaborator_resource_type_resource_id_principal_id... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250214080102_add_integration/migration.sql type "integration" (line 2) | CREATE TABLE "integration" ( type "integration" (line 13) | CREATE UNIQUE INDEX "integration_resource_id_key" ON "integration"("reso... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250217092948_add_table_plugin/migration.sql type "plugin_panel" (line 5) | CREATE TABLE "plugin_panel" ( FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250218075455_add_plugin_context_menu/migration.sql type "plugin_context_menu" (line 2) | CREATE TABLE "plugin_context_menu" ( type "new_plugin_panel" (line 16) | CREATE TABLE "new_plugin_panel" ( type "plugin_context_menu" (line 34) | CREATE UNIQUE INDEX "plugin_context_menu_plugin_install_id_key" ON "plug... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250320062213_user_last_visit/migration.sql type "user_last_visit" (line 2) | CREATE TABLE "user_last_visit" ( type "user_last_visit" (line 12) | CREATE INDEX "user_last_visit_user_id_resource_type_idx" ON "user_last_v... type "user_last_visit" (line 15) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_parent_resour... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250402105138_add_template/migration.sql type "template" (line 5) | CREATE TABLE "template" ( type "template_category" (line 24) | CREATE TABLE "template_category" ( type "template_category" (line 35) | CREATE UNIQUE INDEX "template_category_name_key" ON "template_category"(... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250406145126_add_share_id_unique/migration.sql type "view" (line 8) | CREATE UNIQUE INDEX "view_share_id_key" ON "view"("share_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250409093334_add_task_tables/migration.sql type "task" (line 5) | CREATE TABLE "task" ( type "task_run" (line 14) | CREATE TABLE "task_run" ( type "task_reference" (line 28) | CREATE TABLE "task_reference" ( type "task" (line 36) | CREATE INDEX "task_type_status_idx" ON "task"("type", "status") type "task_run" (line 39) | CREATE INDEX "task_run_task_id_status_idx" ON "task_run"("task_id", "sta... type "task_reference" (line 42) | CREATE INDEX "task_reference_from_field_id_idx" ON "task_reference"("fro... type "task_reference" (line 45) | CREATE INDEX "task_reference_to_field_id_idx" ON "task_reference"("to_fi... type "task_reference" (line 48) | CREATE UNIQUE INDEX "task_reference_to_field_id_from_field_id_key" ON "t... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250410102938_update_task_table/migration.sql type "new_task" (line 10) | CREATE TABLE "new_task" ( type "task" (line 23) | CREATE INDEX "task_type_status_idx" ON "task"("type", "status") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250418091633_add_db_table_name_index/migration.sql type "table_meta" (line 2) | CREATE INDEX "table_meta_db_table_name_idx" ON "table_meta"("db_table_na... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250509062710_require_primary_key/migration.sql type "new_comment_subscription" (line 21) | CREATE TABLE "new_comment_subscription" ( type "comment_subscription" (line 31) | CREATE INDEX "comment_subscription_table_id_record_id_idx" ON "comment_s... type "comment_subscription" (line 32) | CREATE UNIQUE INDEX "comment_subscription_table_id_record_id_key" ON "co... type "new_ops" (line 33) | CREATE TABLE "new_ops" ( type "ops" (line 46) | CREATE INDEX "ops_collection_created_time_idx" ON "ops"("collection", "c... type "ops" (line 47) | CREATE UNIQUE INDEX "ops_collection_doc_id_version_key" ON "ops"("collec... type "new_plugin_context_menu" (line 48) | CREATE TABLE "new_plugin_context_menu" ( type "plugin_context_menu" (line 62) | CREATE UNIQUE INDEX "plugin_context_menu_plugin_install_id_key" ON "plug... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250520081750_update_user_last_visit/migration.sql type "user_last_visit" (line 5) | CREATE INDEX "user_last_visit_user_id_resource_type_parent_resource_id_i... type "user_last_visit" (line 7) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_resource_id_k... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250702035214_update_setting/migration.sql type "setting_new" (line 4) | CREATE TABLE "setting_new" ( type "setting_new" (line 14) | CREATE UNIQUE INDEX "setting_name_key" ON "setting_new"("name") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250811102551_add_visit_count/migration.sql type "new_user_last_visit" (line 2) | CREATE TABLE "new_user_last_visit" ( type "user_last_visit" (line 14) | CREATE INDEX "user_last_visit_user_id_resource_type_idx" ON "user_last_v... type "user_last_visit" (line 15) | CREATE INDEX "user_last_visit_user_id_resource_type_parent_resource_id_i... type "user_last_visit" (line 16) | CREATE INDEX "user_last_visit_resource_type_resource_id_idx" ON "user_la... type "user_last_visit" (line 17) | CREATE INDEX "user_last_visit_resource_type_last_visit_time_idx" ON "use... type "user_last_visit" (line 18) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_resource_id_k... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250812090823_remove_visit_count/migration.sql type "new_user_last_visit" (line 8) | CREATE TABLE "new_user_last_visit" ( type "user_last_visit" (line 19) | CREATE INDEX "user_last_visit_user_id_resource_type_parent_resource_id_i... type "user_last_visit" (line 20) | CREATE UNIQUE INDEX "user_last_visit_user_id_resource_type_resource_id_k... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250820022401_add_waitlist/migration.sql type "waitlist" (line 2) | CREATE TABLE "waitlist" ( type "waitlist" (line 10) | CREATE UNIQUE INDEX "waitlist_email_key" ON "waitlist"("email") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250904034946_add_table_meta_db_view_name/migration.sql type "new_ops" (line 7) | CREATE TABLE "new_ops" ( type "ops" (line 20) | CREATE INDEX "ops_collection_created_time_idx" ON "ops"("collection", "c... type "ops" (line 21) | CREATE UNIQUE INDEX "ops_collection_doc_id_version_key" ON "ops"("collec... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250905035730_add_trash_index/migration.sql type "record_trash" (line 2) | CREATE INDEX "record_trash_table_id_record_id_idx" ON "record_trash"("ta... type "table_trash" (line 5) | CREATE INDEX "table_trash_table_id_idx" ON "table_trash"("table_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20250922111616_add_indexes/migration.sql type "new_ops" (line 4) | CREATE TABLE "new_ops" ( type "ops" (line 17) | CREATE INDEX "ops_collection_created_time_idx" ON "ops"("collection", "c... type "ops" (line 18) | CREATE UNIQUE INDEX "ops_collection_doc_id_version_key" ON "ops"("collec... type "access_token" (line 23) | CREATE INDEX "access_token_user_id_idx" ON "access_token"("user_id") type "access_token" (line 26) | CREATE INDEX "access_token_client_id_idx" ON "access_token"("client_id") type "attachments_table" (line 29) | CREATE INDEX "attachments_table_table_id_record_id_idx" ON "attachments_... type "attachments_table" (line 32) | CREATE INDEX "attachments_table_table_id_field_id_idx" ON "attachments_t... type "attachments_table" (line 35) | CREATE INDEX "attachments_table_attachment_id_idx" ON "attachments_table... type "collaborator" (line 38) | CREATE INDEX "collaborator_resource_id_idx" ON "collaborator"("resource_... type "collaborator" (line 41) | CREATE INDEX "collaborator_principal_id_idx" ON "collaborator"("principa... type "dashboard" (line 44) | CREATE INDEX "dashboard_base_id_idx" ON "dashboard"("base_id") type "integration" (line 47) | CREATE INDEX "integration_resource_id_idx" ON "integration"("resource_id") type "invitation" (line 50) | CREATE INDEX "invitation_base_id_idx" ON "invitation"("base_id") type "invitation" (line 53) | CREATE INDEX "invitation_space_id_idx" ON "invitation"("space_id") type "invitation_record" (line 56) | CREATE INDEX "invitation_record_invitation_id_idx" ON "invitation_record... type "invitation_record" (line 59) | CREATE INDEX "invitation_record_base_id_idx" ON "invitation_record"("bas... type "invitation_record" (line 62) | CREATE INDEX "invitation_record_space_id_idx" ON "invitation_record"("sp... type "plugin_install" (line 65) | CREATE INDEX "plugin_install_position_id_idx" ON "plugin_install"("posit... type "plugin_install" (line 68) | CREATE INDEX "plugin_install_base_id_idx" ON "plugin_install"("base_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20251105070757_add_oauth_foreign_keys/migration.sql type "new_oauth_app_authorized" (line 4) | CREATE TABLE "new_oauth_app_authorized" ( type "oauth_app_authorized" (line 14) | CREATE UNIQUE INDEX "oauth_app_authorized_client_id_user_id_key" ON "oau... type "new_oauth_app_secret" (line 15) | CREATE TABLE "new_oauth_app_secret" ( type "oauth_app_secret" (line 28) | CREATE UNIQUE INDEX "oauth_app_secret_secret_key" ON "oauth_app_secret"(... type "new_oauth_app_token" (line 29) | CREATE TABLE "new_oauth_app_token" ( type "oauth_app_token" (line 41) | CREATE UNIQUE INDEX "oauth_app_token_refresh_token_sign_key" ON "oauth_a... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20251119134053_add_base_node/migration.sql type "base_node" (line 2) | CREATE TABLE "base_node" ( type "base_node_folder" (line 17) | CREATE TABLE "base_node_folder" ( type "base_node" (line 28) | CREATE UNIQUE INDEX "base_node_base_id_resource_type_resource_id_key" ON... type "base_node_folder" (line 31) | CREATE UNIQUE INDEX "base_node_folder_base_id_name_key" ON "base_node_fo... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20251208112242_template_community/migration.sql type "template" (line 24) | CREATE UNIQUE INDEX "template_base_id_key" ON "template"("base_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20260104151713_add_computed_update_outbox_tables/migration.sql type "computed_update_outbox" (line 2) | CREATE TABLE "computed_update_outbox" ( type "computed_update_outbox_seed" (line 28) | CREATE TABLE "computed_update_outbox_seed" ( type "computed_update_dead_letter" (line 36) | CREATE TABLE "computed_update_dead_letter" ( type "computed_update_outbox" (line 63) | CREATE INDEX "computed_update_outbox_status_next_run_at_idx" ON "compute... type "computed_update_outbox" (line 66) | CREATE INDEX "computed_update_outbox_base_id_seed_table_id_idx" ON "comp... type "computed_update_outbox" (line 69) | CREATE INDEX "computed_update_outbox_plan_hash_idx" ON "computed_update_... type "computed_update_outbox_seed" (line 72) | CREATE INDEX "computed_update_outbox_seed_task_id_idx" ON "computed_upda... type "computed_update_outbox_seed" (line 75) | CREATE UNIQUE INDEX "computed_update_outbox_seed_task_id_record_id_key" ... type "computed_update_dead_letter" (line 78) | CREATE INDEX "computed_update_dead_letter_base_id_seed_table_id_idx" ON ... type "computed_update_dead_letter" (line 81) | CREATE INDEX "computed_update_dead_letter_plan_hash_idx" ON "computed_up... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20260104190000_add_outbox_seed_table_id/migration.sql type "new_computed_update_outbox_seed" (line 3) | CREATE TABLE "new_computed_update_outbox_seed" ( type "computed_update_outbox_seed" (line 19) | CREATE INDEX "computed_update_outbox_seed_task_id_idx" ON "computed_upda... type "computed_update_outbox_seed" (line 20) | CREATE UNIQUE INDEX "computed_update_outbox_seed_task_id_table_id_record... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20260120065143_add_core_table_indexes/migration.sql type "field" (line 2) | CREATE INDEX IF NOT EXISTS "field_table_id_deleted_time_idx" ON "field"(... type "table_meta" (line 5) | CREATE INDEX IF NOT EXISTS "table_meta_base_id_deleted_time_idx" ON "tab... type "view" (line 8) | CREATE INDEX IF NOT EXISTS "view_table_id_deleted_time_idx" ON "view"("t... FILE: packages/db-main-prisma/prisma/sqlite/migrations/20260121100000_add_base_share/migration.sql type "base_share" (line 2) | CREATE TABLE "base_share" ( type "base_share" (line 17) | CREATE UNIQUE INDEX "base_share_share_id_key" ON "base_share"("share_id") type "base_share" (line 20) | CREATE UNIQUE INDEX "base_share_node_id_key" ON "base_share"("node_id") type "base_share" (line 23) | CREATE INDEX "base_share_base_id_idx" ON "base_share"("base_id") FILE: packages/db-main-prisma/prisma/sqlite/migrations/20260129203000_add_outbox_pending_unique_index/migration.sql type "computed_update_outbox" (line 1) | CREATE UNIQUE INDEX IF NOT EXISTS "computed_update_outbox_pending_unique... FILE: packages/db-main-prisma/src/prisma.module.ts class PrismaModule (line 21) | class PrismaModule {} FILE: packages/db-main-prisma/src/prisma.service.ts type ITx (line 8) | interface ITx { function proxyClient (line 15) | function proxyClient(tx: Prisma.TransactionClient) { class PrismaService (line 36) | class PrismaService method constructor (line 49) | constructor(private readonly cls: ClsService<{ tx: ITx }>) { method bindAfterTransaction (line 80) | bindAfterTransaction(fn: () => void) { method $tx (line 92) | async $tx( method txClient (line 134) | txClient(): Prisma.TransactionClient { method onModuleInit (line 145) | async onModuleInit() { method onModuleDestroy (line 160) | async onModuleDestroy() { FILE: packages/db-main-prisma/src/seeds/e2e/space-seeds.ts class SpaceSeeds (line 55) | class SpaceSeeds extends AbstractSeed { method createSpace (line 69) | private async createSpace(tx: Prisma.TransactionClient) { method createBase (line 79) | private async createBase(tx: Prisma.TransactionClient) { method createCollaborator (line 94) | private async createCollaborator(tx: Prisma.TransactionClient) { FILE: packages/db-main-prisma/src/seeds/e2e/user-seeds.ts constant CREATE_USER_NUM (line 6) | const CREATE_USER_NUM = 1; class UserSeeds (line 43) | class UserSeeds extends AbstractSeed { FILE: packages/db-main-prisma/src/seeds/seed.abstract.ts method constructor (line 4) | constructor( FILE: packages/db-main-prisma/src/utils.ts class TimeoutHttpException (line 3) | class TimeoutHttpException extends HttpException { method constructor (line 7) | constructor() { FILE: packages/formula/src/conversion.visitor.ts class ConversionVisitor (line 6) | class ConversionVisitor extends AbstractParseTreeVisitor { method defaultResult (line 10) | defaultResult() { method constructor (line 14) | constructor(private conversionMap: { [fieldName: string]: string }) { method safe (line 19) | safe() { method visitFieldReferenceCurly (line 24) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext) { method visitTerminal (line 39) | visitTerminal(node: TerminalNode) { method getResult (line 47) | getResult() { FILE: packages/formula/src/datetime-format-pg.ts constant DEFAULT_DATETIME_FORMAT_EXPR (line 3) | const DEFAULT_DATETIME_FORMAT_EXPR = "'YYYY-MM-DD'"; constant DEFAULT_DATETIME_FORMAT_LITERAL (line 5) | const DEFAULT_DATETIME_FORMAT_LITERAL = 'YYYY-MM-DD'; constant LOCALIZED_DATETIME_FORMAT_MAP (line 7) | const LOCALIZED_DATETIME_FORMAT_MAP = { type ILocalizedDatetimeFormatToken (line 20) | type ILocalizedDatetimeFormatToken = keyof typeof LOCALIZED_DATETIME_FOR... type IDatetimeFormatSqlBuilder (line 22) | type IDatetimeFormatSqlBuilder = (datetimeSql: string, timezoneOffsetSql... constant DATETIME_FORMAT_SQL_BUILDERS (line 24) | const DATETIME_FORMAT_SQL_BUILDERS = { type ISupportedDatetimeFormatToken (line 63) | type ISupportedDatetimeFormatToken = keyof typeof DATETIME_FORMAT_SQL_BU... constant DATETIME_FORMAT_TOKEN_TO_POSTGRES (line 65) | const DATETIME_FORMAT_TOKEN_TO_POSTGRES = { constant DATETIME_PARSE_GUARD_TOKEN_PATTERNS (line 114) | const DATETIME_PARSE_GUARD_TOKEN_PATTERNS = { type IGuardableDatetimeToken (line 130) | type IGuardableDatetimeToken = keyof typeof DATETIME_PARSE_GUARD_TOKEN_P... constant DEFAULT_TIMEZONE_OFFSET_SQL (line 134) | const DEFAULT_TIMEZONE_OFFSET_SQL = "'+00:00'"; FILE: packages/formula/src/error.listener.ts class FormulaErrorListener (line 4) | class FormulaErrorListener implements ANTLRErrorListener { method syntaxError (line 5) | syntaxError( FILE: packages/formula/src/field-reference.util.ts function extractFieldReferenceId (line 7) | function extractFieldReferenceId( function getFieldReferenceTokenText (line 35) | function getFieldReferenceTokenText( FILE: packages/formula/src/field-reference.visitor.ts class FieldReferenceVisitor (line 6) | class FieldReferenceVisitor method defaultResult (line 10) | defaultResult() { method aggregateResult (line 14) | aggregateResult(aggregate: string[], nextResult: string[]) { method visitFieldReferenceCurly (line 18) | visitFieldReferenceCurly(ctx: FieldReferenceCurlyContext) { FILE: packages/formula/src/function-call-collector.visitor.ts type IFunctionCallInfo (line 15) | interface IFunctionCallInfo { class FunctionCallCollectorVisitor (line 26) | class FunctionCallCollectorVisitor method defaultResult (line 30) | defaultResult(): IFunctionCallInfo[] { method aggregateResult (line 34) | aggregateResult( method visitBinaryOp (line 41) | visitBinaryOp(ctx: BinaryOpContext): IFunctionCallInfo[] { method visitUnaryOp (line 48) | visitUnaryOp(ctx: UnaryOpContext): IFunctionCallInfo[] { method visitBrackets (line 53) | visitBrackets(ctx: BracketsContext): IFunctionCallInfo[] { method visitFunctionCall (line 58) | visitFunctionCall(ctx: FunctionCallContext): IFunctionCallInfo[] { method visitLeftWhitespaceOrComments (line 80) | visitLeftWhitespaceOrComments(ctx: LeftWhitespaceOrCommentsContext): I... method visitRightWhitespaceOrComments (line 85) | visitRightWhitespaceOrComments(ctx: RightWhitespaceOrCommentsContext):... FILE: packages/formula/src/parse-formula.ts function parseFormula (line 11) | function parseFormula(expression: string): ExprContext { function parseFormulaToSQL (line 26) | function parseFormulaToSQL( FILE: packages/formula/src/parser/Formula.ts class Formula (line 27) | class Formula extends Parser { method vocabulary (line 311) | public get vocabulary(): Vocabulary { method grammarFileName (line 317) | public get grammarFileName(): string { method ruleNames (line 322) | public get ruleNames(): string[] { method serializedATN (line 327) | public get serializedATN(): string { method createFailedPredicateException (line 331) | protected createFailedPredicateException( method constructor (line 338) | constructor(input: TokenStream) { method root (line 343) | public root(): RootContext { method expr (line 371) | public expr(_p?: number): ExprContext { method ws_or_comment (line 765) | public ws_or_comment(): Ws_or_commentContext { method field_reference (line 808) | public field_reference(): Field_referenceContext { method field_reference_curly (line 831) | public field_reference_curly(): Field_reference_curlyContext { method func_name (line 857) | public func_name(): Func_nameContext { method identifier (line 880) | public identifier(): IdentifierContext { method sempred (line 914) | public sempred(_localctx: RuleContext, ruleIndex: number, predIndex: n... method expr_sempred (line 921) | private expr_sempred(_localctx: ExprContext, predIndex: number): boole... method _ATN (line 992) | public static get _ATN(): ATN { class RootContext (line 1001) | class RootContext extends ParserRuleContext { method expr (line 1002) | public expr(): ExprContext { method EOF (line 1005) | public EOF(): TerminalNode { method constructor (line 1008) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1012) | public get ruleIndex(): number { method accept (line 1016) | public accept(visitor: FormulaVisitor): Result { class ExprContext (line 1025) | class ExprContext extends ParserRuleContext { method constructor (line 1026) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1030) | public get ruleIndex(): number { method copyFrom (line 1033) | public copyFrom(ctx: ExprContext): void { class StringLiteralContext (line 1037) | class StringLiteralContext extends ExprContext { method SINGLEQ_STRING_LITERAL (line 1038) | public SINGLEQ_STRING_LITERAL(): TerminalNode | undefined { method DOUBLEQ_STRING_LITERAL (line 1041) | public DOUBLEQ_STRING_LITERAL(): TerminalNode | undefined { method constructor (line 1044) | constructor(ctx: ExprContext) { method accept (line 1049) | public accept(visitor: FormulaVisitor): Result { class IntegerLiteralContext (line 1057) | class IntegerLiteralContext extends ExprContext { method INTEGER_LITERAL (line 1058) | public INTEGER_LITERAL(): TerminalNode { method constructor (line 1061) | constructor(ctx: ExprContext) { method accept (line 1066) | public accept(visitor: FormulaVisitor): Result { class DecimalLiteralContext (line 1074) | class DecimalLiteralContext extends ExprContext { method NUMERIC_LITERAL (line 1075) | public NUMERIC_LITERAL(): TerminalNode { method constructor (line 1078) | constructor(ctx: ExprContext) { method accept (line 1083) | public accept(visitor: FormulaVisitor): Result { class BooleanLiteralContext (line 1091) | class BooleanLiteralContext extends ExprContext { method TRUE (line 1092) | public TRUE(): TerminalNode | undefined { method FALSE (line 1095) | public FALSE(): TerminalNode | undefined { method constructor (line 1098) | constructor(ctx: ExprContext) { method accept (line 1103) | public accept(visitor: FormulaVisitor): Result { class LeftWhitespaceOrCommentsContext (line 1111) | class LeftWhitespaceOrCommentsContext extends ExprContext { method ws_or_comment (line 1112) | public ws_or_comment(): Ws_or_commentContext { method expr (line 1115) | public expr(): ExprContext { method constructor (line 1118) | constructor(ctx: ExprContext) { method accept (line 1123) | public accept(visitor: FormulaVisitor): Result { class RightWhitespaceOrCommentsContext (line 1131) | class RightWhitespaceOrCommentsContext extends ExprContext { method expr (line 1132) | public expr(): ExprContext { method ws_or_comment (line 1135) | public ws_or_comment(): Ws_or_commentContext { method constructor (line 1138) | constructor(ctx: ExprContext) { method accept (line 1143) | public accept(visitor: FormulaVisitor): Result { class BracketsContext (line 1151) | class BracketsContext extends ExprContext { method OPEN_PAREN (line 1152) | public OPEN_PAREN(): TerminalNode { method expr (line 1155) | public expr(): ExprContext { method CLOSE_PAREN (line 1158) | public CLOSE_PAREN(): TerminalNode { method constructor (line 1161) | constructor(ctx: ExprContext) { method accept (line 1166) | public accept(visitor: FormulaVisitor): Result { class UnaryOpContext (line 1174) | class UnaryOpContext extends ExprContext { method MINUS (line 1175) | public MINUS(): TerminalNode { method expr (line 1178) | public expr(): ExprContext { method constructor (line 1181) | constructor(ctx: ExprContext) { method accept (line 1186) | public accept(visitor: FormulaVisitor): Result { class BinaryOpContext (line 1194) | class BinaryOpContext extends ExprContext { method expr (line 1198) | public expr(i?: number): ExprContext | ExprContext[] { method SLASH (line 1205) | public SLASH(): TerminalNode | undefined { method STAR (line 1208) | public STAR(): TerminalNode | undefined { method PERCENT (line 1211) | public PERCENT(): TerminalNode | undefined { method PLUS (line 1214) | public PLUS(): TerminalNode | undefined { method MINUS (line 1217) | public MINUS(): TerminalNode | undefined { method GT (line 1220) | public GT(): TerminalNode | undefined { method LT (line 1223) | public LT(): TerminalNode | undefined { method GTE (line 1226) | public GTE(): TerminalNode | undefined { method LTE (line 1229) | public LTE(): TerminalNode | undefined { method EQUAL (line 1232) | public EQUAL(): TerminalNode | undefined { method BANG_EQUAL (line 1235) | public BANG_EQUAL(): TerminalNode | undefined { method AMP_AMP (line 1238) | public AMP_AMP(): TerminalNode | undefined { method PIPE_PIPE (line 1241) | public PIPE_PIPE(): TerminalNode | undefined { method AMP (line 1244) | public AMP(): TerminalNode | undefined { method constructor (line 1247) | constructor(ctx: ExprContext) { method accept (line 1252) | public accept(visitor: FormulaVisitor): Result { class FieldReferenceCurlyContext (line 1260) | class FieldReferenceCurlyContext extends ExprContext { method field_reference_curly (line 1261) | public field_reference_curly(): Field_reference_curlyContext { method constructor (line 1264) | constructor(ctx: ExprContext) { method accept (line 1269) | public accept(visitor: FormulaVisitor): Result { class FunctionCallContext (line 1277) | class FunctionCallContext extends ExprContext { method func_name (line 1278) | public func_name(): Func_nameContext { method OPEN_PAREN (line 1281) | public OPEN_PAREN(): TerminalNode { method CLOSE_PAREN (line 1284) | public CLOSE_PAREN(): TerminalNode { method expr (line 1289) | public expr(i?: number): ExprContext | ExprContext[] { method COMMA (line 1298) | public COMMA(i?: number): TerminalNode | TerminalNode[] { method constructor (line 1305) | constructor(ctx: ExprContext) { method accept (line 1310) | public accept(visitor: FormulaVisitor): Result { class Ws_or_commentContext (line 1319) | class Ws_or_commentContext extends ParserRuleContext { method BLOCK_COMMENT (line 1320) | public BLOCK_COMMENT(): TerminalNode | undefined { method LINE_COMMENT (line 1323) | public LINE_COMMENT(): TerminalNode | undefined { method WHITESPACE (line 1326) | public WHITESPACE(): TerminalNode | undefined { method constructor (line 1329) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1333) | public get ruleIndex(): number { method accept (line 1337) | public accept(visitor: FormulaVisitor): Result { class Field_referenceContext (line 1346) | class Field_referenceContext extends ParserRuleContext { method IDENTIFIER_UNICODE (line 1347) | public IDENTIFIER_UNICODE(): TerminalNode { method constructor (line 1350) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1354) | public get ruleIndex(): number { method accept (line 1358) | public accept(visitor: FormulaVisitor): Result { class Field_reference_curlyContext (line 1367) | class Field_reference_curlyContext extends ParserRuleContext { method IDENTIFIER_VARIABLE (line 1368) | public IDENTIFIER_VARIABLE(): TerminalNode { method constructor (line 1371) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1375) | public get ruleIndex(): number { method accept (line 1379) | public accept(visitor: FormulaVisitor): Result { class Func_nameContext (line 1388) | class Func_nameContext extends ParserRuleContext { method identifier (line 1389) | public identifier(): IdentifierContext { method constructor (line 1392) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1396) | public get ruleIndex(): number { method accept (line 1400) | public accept(visitor: FormulaVisitor): Result { class IdentifierContext (line 1409) | class IdentifierContext extends ParserRuleContext { method IDENTIFIER (line 1410) | public IDENTIFIER(): TerminalNode | undefined { method IDENTIFIER_UNICODE (line 1413) | public IDENTIFIER_UNICODE(): TerminalNode | undefined { method constructor (line 1416) | constructor(parent: ParserRuleContext | undefined, invokingState: numb... method ruleIndex (line 1420) | public get ruleIndex(): number { method accept (line 1424) | public accept(visitor: FormulaVisitor): Result { FILE: packages/formula/src/parser/FormulaLexer.ts class FormulaLexer (line 16) | class FormulaLexer extends Lexer { method vocabulary (line 408) | public get vocabulary(): Vocabulary { method constructor (line 413) | constructor(input: CharStream) { method grammarFileName (line 419) | public get grammarFileName(): string { method ruleNames (line 424) | public get ruleNames(): string[] { method serializedATN (line 429) | public get serializedATN(): string { method channelNames (line 434) | public get channelNames(): string[] { method modeNames (line 439) | public get modeNames(): string[] { method _ATN (line 748) | public static get _ATN(): ATN { FILE: packages/formula/src/parser/FormulaVisitor.ts type FormulaVisitor (line 31) | interface FormulaVisitor extends ParseTreeVisitor { FILE: packages/formula/tsdown.config.ts method outExtensions (line 16) | outExtensions({ format }) { FILE: packages/i18n-keys/src/index.ts type TableI18nKey (line 82) | type TableI18nKey = FILE: packages/icons/scripts/generate.mjs constant FIGMA_API_TOKEN (line 15) | const FIGMA_API_TOKEN = process.env.FIGMA_API_TOKEN; constant FIGMA_FILE_ID (line 16) | const FIGMA_FILE_ID = process.env.FIGMA_FILE_ID; constant FIGMA_CANVAS (line 17) | const FIGMA_CANVAS = process.env.FIGMA_CANVAS;