signalk-server
Version:
An implementation of a [Signal K](http://signalk.org) server for boats.
47 lines • 2.21 kB
TypeScript
import { ResourceProvider, SignalKResourceType } from '@signalk/server-api';
import { IRouter } from 'express';
import { WithSecurityStrategy } from '../../security';
import { SignalKMessageHub, WithConfig } from '../../app';
export declare const RESOURCES_API_PATH = "/signalk/v2/api/resources";
export declare const skUuid: () => string;
interface ResourceApplication extends IRouter, WithConfig, WithSecurityStrategy, SignalKMessageHub {
}
export declare class ResourcesApi {
private resProvider;
private app;
private settings;
constructor(app: ResourceApplication);
start(): Promise<void>;
parseSettings(): Promise<void>;
saveSettings(): void;
register(pluginId: string, provider: ResourceProvider): void;
unRegister(pluginId: string): void;
isResourceProvider(provider: ResourceProvider): boolean;
getResource(resType: SignalKResourceType, resId: string, providerId?: string): Promise<{}>;
listResources(resType: SignalKResourceType, params: {
[key: string]: any;
}, providerId?: string): Promise<{}>;
setResource(resType: SignalKResourceType, resId: string, data: {
[key: string]: any;
}, providerId?: string): Promise<undefined>;
deleteResource(resType: SignalKResourceType, resId: string, providerId?: string): Promise<undefined>;
/** Returns true if there is a registered provider for the resource type */
private hasRegisteredProvider;
/** Returns the provider id to use to write a resource entry */
getProviderForWrite(resType: SignalKResourceType, resId: string, providerId?: string): Promise<string | undefined>;
/** Validates providerId for a given resourceType */
private checkForProvider;
/** Retrieve matching resources from ALL providers */
private listFromAll;
/** Query ALL providers for supplied resource id */
private getFromAll;
/** Return providerId for supplied resource id */
private getProviderForResourceId;
/** Return array of provider ids for supplied resource type */
private getProvidersForResourceType;
private initResourceRoutes;
private getResourcePaths;
private buildDeltaMsg;
}
export {};
//# sourceMappingURL=index.d.ts.map