/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 'use strict'; /** * Manages persistence of connection profiles. * * @private * @abstract * @class * @memberof module:composer-common */ class ConnectionProfileStore { /** * Loads connectOptions for a given connection profile. * * @param {string} connectionProfile The name of the connection profile to load * @return {Promise} A promise that is resolved with a JS Object for the * data in the connection profile. */ load(connectionProfile) { return Promise.reject(new Error('abstract function called')); } /** * Save connectOptions for a given connection profile. * * @param {string} connectionProfile The name of the connection profile to save * @param {Object} connectOptions The connection options object * @return {Promise} A promise that once the data is written */ save(connectionProfile, connectOptions) { return Promise.reject(new Error('abstract function called')); } /** * Loads all of the connection profiles. * * @return {Promise} A promise that is resolved with a JS Object where the * keys are the connection profiles, and the values are the connection options. */ loadAll() { return Promise.reject(new Error('abstract function called')); } /** * Delete the given connection profile. * * @param {string} connectionProfile The name of the connection profile to delete * @return {Promise} A promise that is resolved when the connection profile * is deleted. */ delete(connectionProfile) { return Promise.reject(new Error('abstract function called')); } } module.exports = ConnectionProfileStore;