@ngageoint/geopackage
Version:
GeoPackage JavaScript Library
87 lines (86 loc) • 3.62 kB
TypeScript
import { Dao } from '../../dao/dao';
import { ExtendedRelation } from './extendedRelation';
import { DBValue } from '../../db/dbAdapter';
/**
* Extended Relations Data Access Object
* @class ExtendedRelationDao
* @extends Dao
*/
export declare class ExtendedRelationDao extends Dao<ExtendedRelation> {
static readonly TABLE_NAME: string;
static readonly ID: string;
static readonly COLUMN_ID: string;
static readonly BASE_TABLE_NAME: string;
static readonly COLUMN_BASE_TABLE_NAME: string;
static readonly BASE_PRIMARY_COLUMN: string;
static readonly COLUMN_BASE_PRIMARY_COLUMN: string;
static readonly RELATED_TABLE_NAME: string;
static readonly COLUMN_RELATED_TABLE_NAME: string;
static readonly RELATED_PRIMARY_COLUMN: string;
static readonly COLUMN_RELATED_PRIMARY_COLUMN: string;
static readonly RELATION_NAME: string;
static readonly COLUMN_RELATION_NAME: string;
static readonly MAPPING_TABLE_NAME: string;
static readonly COLUMN_MAPPING_TABLE_NAME: string;
readonly gpkgTableName: string;
readonly idColumns: string[];
/**
* Create a {module:extension/relatedTables~ExtendedRelation} object
* @return {module:extension/relatedTables~ExtendedRelation}
*/
createObject(result?: Record<string, DBValue>): ExtendedRelation;
/**
* Create the necessary tables for this dao
* @return {Promise}
*/
createTable(): boolean;
/**
* Get all the base table names
* @return {string[]}
*/
getBaseTables(): string[];
/**
* Get all the related table names
* @return {string[]}
*/
getRelatedTables(): string[];
/**
* Get all relations for the given base table name
* @param {string} baseTable base table name
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
getBaseTableRelations(baseTable: string): ExtendedRelation[];
/**
* Get all relations for the given related table name
* @param {string} relatedTable related table name
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
getRelatedTableRelations(relatedTable: string): ExtendedRelation[];
/**
* Get all relations for the base table with the relation name
* @param {string} baseTable base table name
* @param {string} name relation name
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
getBaseTableRelationsWithName(baseTable: string, name: string): ExtendedRelation[];
/**
* Get all relations to the table. Returns relations where the table is the base table and relations where the table is the related table.
* @param {string} table table name to query for
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
getTableRelations(table: string): ExtendedRelation[];
/**
* Gets all relationships in the GeoPackage with an optional base table name and an optional base id
* @param {String} [baseTableName] base table name
* @param {String} [relatedTableName] related table name
* @param {String} [mappingTableName] mapping table name
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
getRelations(baseTableName?: string, relatedTableName?: string, mappingTableName?: string): ExtendedRelation[];
/**
* Get all relations by the mapping table name
* @param {string} mappingTableName name of the mapping table
* @return {module:extension/relatedTables~ExtendedRelation[]}
*/
queryByMappingTableName(mappingTableName: string): ExtendedRelation[];
}