     1	/**
     2	 * Default data helper implementations that instruct users to install a storage plugin
     3	 *
     4	 * @description
     5	 * These default implementations ensure the REST API plugin fails gracefully
     6	 * when no storage plugin is installed. Each method throws a descriptive error
     7	 * guiding users to install a storage implementation.
     8	 *
     9	 * @example
    10	 * // When no storage plugin is installed:
    11	 * try {
    12	 *   await api.resources.articles.get({ id: 1 });
    13	 * } catch (error) {
    14	 *   console.log(error.message);
    15	 *   // "No storage implementation for get. Install a storage plugin."
    16	 * }
    17	 *
    18	 * @example
    19	 * // After installing rest-api-knex-plugin:
    20	 * api.use(RestApiKnexPlugin, { knex });
    21	 * // Now data helpers are replaced with actual implementations
    22	 * const article = await api.resources.articles.get({ id: 1 });
    23	 * // Works! Returns article from database
    24	 *
    25	 * Used by:
    26	 * - rest-api-plugin sets these as initial data helpers
    27	 * - Storage plugins replace these with actual implementations
    28	 *
    29	 * Purpose:
    30	 * - Provides clear error messages when storage is missing
    31	 * - Ensures REST API plugin can be installed independently
    32	 * - Allows storage plugins to be swapped without changing API
    33	 *
    34	 * Data flow:
    35	 * 1. REST API plugin initializes with these defaults
    36	 * 2. User tries to use API without storage plugin
    37	 * 3. Clear error message guides them to install storage
    38	 * 4. Storage plugin replaces these with real implementations
    39	 */
    40	export const defaultDataHelpers = {
    41	  dataExists: async function (scope, deps) {
    42	    throw new Error('No storage implementation for exists. Install a storage plugin.')
    43	  },
    44	
    45	  dataGet: async function (scope, deps) {
    46	    throw new Error('No storage implementation for get. Install a storage plugin.')
    47	  },
    48	
    49	  dataGetMinimal: async function (scope, deps) {
    50	    throw new Error('No storage implementation for getMinimal. Install a storage plugin.')
    51	  },
    52	
    53	  dataQuery: async function (scope, deps) {
    54	    throw new Error('No storage implementation for query. Install a storage plugin.')
    55	  },
    56	
    57	  dataPost: async function (scope, deps) {
    58	    throw new Error('No storage implementation for post. Install a storage plugin.')
    59	  },
    60	
    61	  dataPatch: async function (scope, deps) {
    62	    throw new Error('No storage implementation for patch. Install a storage plugin.')
    63	  },
    64	
    65	  dataPut: async function (scope, deps) {
    66	    throw new Error('No storage implementation for put. Install a storage plugin.')
    67	  },
    68	
    69	  dataDelete: async function (scope, deps) {
    70	    throw new Error('No storage implementation for delete. Install a storage plugin.')
    71	  }
    72	}
