@kollors/deep-json-server 1.0.0-alpha.6 → 1.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +344 -230
  2. package/README.ru.md +341 -227
  3. package/dist/bin/deep-json-server.js +1 -1
  4. package/dist/bin/deep-json-server.js.map +1 -1
  5. package/dist/index.d.ts +10 -8
  6. package/dist/index.js +3 -2
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/auth/contract.d.ts +3 -2
  9. package/dist/src/auth/contract.js.map +1 -1
  10. package/dist/src/auth/password.d.ts +9 -0
  11. package/dist/src/auth/password.js +12 -0
  12. package/dist/src/auth/password.js.map +1 -1
  13. package/dist/src/auth/routes.d.ts +3 -0
  14. package/dist/src/auth/routes.js +3 -0
  15. package/dist/src/auth/routes.js.map +1 -1
  16. package/dist/src/auth/service.d.ts +21 -0
  17. package/dist/src/auth/service.js +38 -7
  18. package/dist/src/auth/service.js.map +1 -1
  19. package/dist/src/cli/index.d.ts +7 -0
  20. package/dist/src/{cli.js → cli/index.js} +32 -14
  21. package/dist/src/cli/index.js.map +1 -0
  22. package/dist/src/{constants.d.ts → core/constants.d.ts} +1 -1
  23. package/dist/src/{constants.js → core/constants.js} +1 -1
  24. package/dist/src/core/constants.js.map +1 -0
  25. package/dist/src/core/database.d.ts +50 -0
  26. package/dist/src/{database.js → core/database.js} +21 -1
  27. package/dist/src/core/database.js.map +1 -0
  28. package/dist/src/core/engine.d.ts +64 -0
  29. package/dist/src/{engine.js → core/engine.js} +64 -18
  30. package/dist/src/core/engine.js.map +1 -0
  31. package/dist/src/{errors.d.ts → core/errors.d.ts} +4 -1
  32. package/dist/src/core/errors.js +12 -0
  33. package/dist/src/core/errors.js.map +1 -0
  34. package/dist/src/core/http-errors.d.ts +9 -0
  35. package/dist/src/core/http-errors.js +15 -0
  36. package/dist/src/core/http-errors.js.map +1 -0
  37. package/dist/src/core/lifecycle/mutation.d.ts +49 -0
  38. package/dist/src/core/lifecycle/mutation.js +170 -0
  39. package/dist/src/core/lifecycle/mutation.js.map +1 -0
  40. package/dist/src/core/lifecycle/options.d.ts +20 -0
  41. package/dist/src/core/lifecycle/options.js +21 -0
  42. package/dist/src/core/lifecycle/options.js.map +1 -0
  43. package/dist/src/core/model.d.ts +130 -0
  44. package/dist/src/{model.js → core/model.js} +106 -10
  45. package/dist/src/core/model.js.map +1 -0
  46. package/dist/src/{mutations → core/mutations}/write.d.ts +3 -2
  47. package/dist/src/{mutations → core/mutations}/write.js +14 -4
  48. package/dist/src/core/mutations/write.js.map +1 -0
  49. package/dist/src/core/pagination.d.ts +10 -0
  50. package/dist/src/{pagination.js → core/pagination.js} +3 -0
  51. package/dist/src/core/pagination.js.map +1 -0
  52. package/dist/src/core/paths.d.ts +16 -0
  53. package/dist/src/{paths.js → core/paths.js} +12 -0
  54. package/dist/src/core/paths.js.map +1 -0
  55. package/dist/src/core/query/contract.d.ts +6 -0
  56. package/dist/src/{query → core/query}/contract.js +3 -0
  57. package/dist/src/core/query/contract.js.map +1 -0
  58. package/dist/src/core/query/filter.d.ts +6 -0
  59. package/dist/src/{query → core/query}/filter.js +18 -4
  60. package/dist/src/core/query/filter.js.map +1 -0
  61. package/dist/src/core/query/options.d.ts +30 -0
  62. package/dist/src/{query → core/query}/options.js +12 -0
  63. package/dist/src/core/query/options.js.map +1 -0
  64. package/dist/src/core/records.d.ts +46 -0
  65. package/dist/src/{records.js → core/records.js} +24 -3
  66. package/dist/src/core/records.js.map +1 -0
  67. package/dist/src/core/relation-metadata.d.ts +15 -0
  68. package/dist/src/{relation-metadata.js → core/relation-metadata.js} +7 -1
  69. package/dist/src/core/relation-metadata.js.map +1 -0
  70. package/dist/src/core/types.d.ts +10 -0
  71. package/dist/src/{types.js.map → core/types.js.map} +1 -1
  72. package/dist/src/core/utils.d.ts +56 -0
  73. package/dist/src/core/utils.js +102 -0
  74. package/dist/src/core/utils.js.map +1 -0
  75. package/dist/src/files/contract.d.ts +33 -0
  76. package/dist/src/files/contract.js +25 -3
  77. package/dist/src/files/contract.js.map +1 -1
  78. package/dist/src/files/disk-store.d.ts +3 -0
  79. package/dist/src/files/disk-store.js +27 -3
  80. package/dist/src/files/disk-store.js.map +1 -1
  81. package/dist/src/files/http.d.ts +8 -3
  82. package/dist/src/files/http.js +9 -0
  83. package/dist/src/files/http.js.map +1 -1
  84. package/dist/src/files/index.d.ts +4 -3
  85. package/dist/src/files/index.js +3 -1
  86. package/dist/src/files/index.js.map +1 -1
  87. package/dist/src/files/memory-store.d.ts +4 -1
  88. package/dist/src/files/memory-store.js +8 -2
  89. package/dist/src/files/memory-store.js.map +1 -1
  90. package/dist/src/files/routes.d.ts +3 -0
  91. package/dist/src/files/routes.js +25 -1
  92. package/dist/src/files/routes.js.map +1 -1
  93. package/dist/src/graphql/entry.d.ts +2 -2
  94. package/dist/src/graphql/entry.js.map +1 -1
  95. package/dist/src/graphql/lazy.d.ts +10 -0
  96. package/dist/src/graphql/lazy.js +13 -0
  97. package/dist/src/graphql/lazy.js.map +1 -0
  98. package/dist/src/graphql/preflight.d.ts +4 -1
  99. package/dist/src/graphql/preflight.js +3 -0
  100. package/dist/src/graphql/preflight.js.map +1 -1
  101. package/dist/src/graphql/public.d.ts +10 -2
  102. package/dist/src/graphql/public.js +10 -4
  103. package/dist/src/graphql/public.js.map +1 -1
  104. package/dist/src/graphql/resolvers.d.ts +10 -2
  105. package/dist/src/graphql/resolvers.js +8 -2
  106. package/dist/src/graphql/resolvers.js.map +1 -1
  107. package/dist/src/graphql/routes.d.ts +6 -2
  108. package/dist/src/graphql/routes.js +6 -3
  109. package/dist/src/graphql/routes.js.map +1 -1
  110. package/dist/src/graphql/schema.d.ts +6 -0
  111. package/dist/src/{graphql.js → graphql/schema.js} +14 -11
  112. package/dist/src/graphql/schema.js.map +1 -0
  113. package/dist/src/graphql/write.d.ts +3 -0
  114. package/dist/src/graphql/write.js +3 -0
  115. package/dist/src/graphql/write.js.map +1 -1
  116. package/dist/src/openapi/auth.d.ts +13 -0
  117. package/dist/src/{auth/openapi.js → openapi/auth.js} +15 -5
  118. package/dist/src/openapi/auth.js.map +1 -0
  119. package/dist/src/openapi/document.d.ts +5 -2
  120. package/dist/src/openapi/document.js +29 -33
  121. package/dist/src/openapi/document.js.map +1 -1
  122. package/dist/src/openapi/entry.d.ts +2 -2
  123. package/dist/src/openapi/entry.js.map +1 -1
  124. package/dist/src/openapi/files.d.ts +6 -0
  125. package/dist/src/{files/openapi.js → openapi/files.js} +6 -3
  126. package/dist/src/openapi/files.js.map +1 -0
  127. package/dist/src/openapi/helpers.d.ts +10 -1
  128. package/dist/src/openapi/helpers.js +9 -0
  129. package/dist/src/openapi/helpers.js.map +1 -1
  130. package/dist/src/openapi/index.d.ts +7 -1
  131. package/dist/src/openapi/index.js +14 -5
  132. package/dist/src/openapi/index.js.map +1 -1
  133. package/dist/src/openapi/lazy.d.ts +11 -0
  134. package/dist/src/openapi/lazy.js +13 -0
  135. package/dist/src/openapi/lazy.js.map +1 -0
  136. package/dist/src/openapi/public.d.ts +10 -2
  137. package/dist/src/openapi/public.js +9 -3
  138. package/dist/src/openapi/public.js.map +1 -1
  139. package/dist/src/{types.d.ts → openapi/types.d.ts} +1 -10
  140. package/dist/src/openapi/types.js +2 -0
  141. package/dist/src/openapi/types.js.map +1 -0
  142. package/dist/src/rest/options.d.ts +11 -2
  143. package/dist/src/rest/options.js +12 -3
  144. package/dist/src/rest/options.js.map +1 -1
  145. package/dist/src/rest/projection.d.ts +10 -4
  146. package/dist/src/rest/projection.js +10 -4
  147. package/dist/src/rest/projection.js.map +1 -1
  148. package/dist/src/rest/routes.d.ts +6 -2
  149. package/dist/src/rest/routes.js +7 -3
  150. package/dist/src/rest/routes.js.map +1 -1
  151. package/dist/src/server/config.d.ts +79 -0
  152. package/dist/src/{config.js → server/config.js} +57 -19
  153. package/dist/src/server/config.js.map +1 -0
  154. package/dist/src/server/create.d.ts +18 -0
  155. package/dist/src/{server.js → server/create.js} +31 -23
  156. package/dist/src/server/create.js.map +1 -0
  157. package/dist/src/server/features.d.ts +15 -0
  158. package/dist/src/{features.js → server/features.js} +8 -2
  159. package/dist/src/server/features.js.map +1 -0
  160. package/dist/src/server/public.d.ts +3 -3
  161. package/dist/src/server/public.js +1 -1
  162. package/dist/src/server/public.js.map +1 -1
  163. package/package.json +1 -1
  164. package/dist/src/auth/openapi.d.ts +0 -10
  165. package/dist/src/auth/openapi.js.map +0 -1
  166. package/dist/src/cli.d.ts +0 -4
  167. package/dist/src/cli.js.map +0 -1
  168. package/dist/src/config.d.ts +0 -86
  169. package/dist/src/config.js.map +0 -1
  170. package/dist/src/constants.js.map +0 -1
  171. package/dist/src/database.d.ts +0 -20
  172. package/dist/src/database.js.map +0 -1
  173. package/dist/src/engine.d.ts +0 -36
  174. package/dist/src/engine.js.map +0 -1
  175. package/dist/src/errors.js +0 -9
  176. package/dist/src/errors.js.map +0 -1
  177. package/dist/src/features.d.ts +0 -9
  178. package/dist/src/features.js.map +0 -1
  179. package/dist/src/files/openapi.d.ts +0 -3
  180. package/dist/src/files/openapi.js.map +0 -1
  181. package/dist/src/graphql.d.ts +0 -3
  182. package/dist/src/graphql.js.map +0 -1
  183. package/dist/src/http/errors.d.ts +0 -6
  184. package/dist/src/http/errors.js +0 -3
  185. package/dist/src/http/errors.js.map +0 -1
  186. package/dist/src/model.d.ts +0 -72
  187. package/dist/src/model.js.map +0 -1
  188. package/dist/src/mutations/write.js.map +0 -1
  189. package/dist/src/pagination.d.ts +0 -7
  190. package/dist/src/pagination.js.map +0 -1
  191. package/dist/src/paths.d.ts +0 -7
  192. package/dist/src/paths.js.map +0 -1
  193. package/dist/src/query/contract.d.ts +0 -3
  194. package/dist/src/query/contract.js.map +0 -1
  195. package/dist/src/query/filter.d.ts +0 -3
  196. package/dist/src/query/filter.js.map +0 -1
  197. package/dist/src/query/options.d.ts +0 -18
  198. package/dist/src/query/options.js.map +0 -1
  199. package/dist/src/records.d.ts +0 -25
  200. package/dist/src/records.js.map +0 -1
  201. package/dist/src/relation-metadata.d.ts +0 -9
  202. package/dist/src/relation-metadata.js.map +0 -1
  203. package/dist/src/schema.d.ts +0 -8
  204. package/dist/src/schema.js +0 -13
  205. package/dist/src/schema.js.map +0 -1
  206. package/dist/src/server.d.ts +0 -12
  207. package/dist/src/server.js.map +0 -1
  208. package/dist/src/utils.d.ts +0 -12
  209. package/dist/src/utils.js +0 -58
  210. package/dist/src/utils.js.map +0 -1
  211. /package/dist/src/{types.js → core/types.js} +0 -0
@@ -1,14 +1,19 @@
1
+ import { recordOptions } from '../core/lifecycle/options.js';
2
+ import { errorMessage, isPortNumber } from '../core/utils.js';
1
3
  import { dirname, resolve } from 'node:path';
2
4
  import { pathToFileURL } from 'node:url';
3
- import { normalizePagination } from './pagination.js';
4
- import { assertKnownKeys, isObject } from './utils.js';
5
+ import { normalizePagination } from '../core/pagination.js';
6
+ import { assertKnownKeys, isObject } from '../core/utils.js';
5
7
  const CONFIG_KEYS = new Set(['database', 'files', 'openapi', 'graphql', 'server', 'auth']);
6
- const DATABASE_KEYS = new Set(['data', 'path', 'schema']);
8
+ const DATABASE_KEYS = new Set(['data', 'path', 'schema', 'timestamps', 'softDelete']);
7
9
  const FILES_KEYS = new Set(['data', 'directory', 'metadata']);
8
10
  const OPENAPI_KEYS = new Set(['path', 'info', 'enabled', 'endpoint']);
9
11
  const GRAPHQL_KEYS = new Set(['path', 'enabled', 'endpoint']);
10
12
  const SERVER_KEYS = new Set(['cors', 'host', 'logger', 'maxFileSize', 'maxPageSize', 'pageSize', 'port']);
11
13
  let configImportIndex = 0;
14
+ /** Глубоко копирует структурированные данные и оборачивает ошибку неподдерживаемого значения.
15
+ * @example copyInput({ a: [1] }) → независимая копия { a: [1] }; функция в значении → ошибка.
16
+ */
12
17
  const copyInput = (value) => {
13
18
  try {
14
19
  return structuredClone(value);
@@ -35,7 +40,13 @@ function getString(value, path, required = false) {
35
40
  }
36
41
  return value;
37
42
  }
43
+ /** Делает заданный путь абсолютным относительно указанного каталога.
44
+ * @example resolveConfigPath('a.json', '/tmp') → '/tmp/a.json'; undefined → undefined.
45
+ */
38
46
  const resolveConfigPath = (value, directoryPath) => (value == null ? undefined : resolve(directoryPath, value));
47
+ /** Принимает положительное целое число или отсутствие значения.
48
+ * @example getPositiveInteger(2, 'size') → 2; getPositiveInteger(0, 'size') → ошибка.
49
+ */
39
50
  const getPositiveInteger = (value, path) => {
40
51
  if (value == null) {
41
52
  return undefined;
@@ -45,6 +56,9 @@ const getPositiveInteger = (value, path) => {
45
56
  }
46
57
  return value;
47
58
  };
59
+ /** Принимает объект описания или разрешает путь к нему относительно каталога.
60
+ * @example normalizeSchema('schema.json', '/tmp') → '/tmp/schema.json'.
61
+ */
48
62
  const normalizeSchema = (schema, directoryPath) => {
49
63
  if (schema == null) {
50
64
  return undefined;
@@ -54,6 +68,9 @@ const normalizeSchema = (schema, directoryPath) => {
54
68
  }
55
69
  return getObject(schema, 'config.database.schema', true);
56
70
  };
71
+ /** Проверяет выбор между файлом и данными в памяти, разрешает пути и копирует данные.
72
+ * @example { path: 'db.json' } с каталогом /tmp → path: '/tmp/db.json'; одновременно data и path → ошибка.
73
+ */
57
74
  const normalizeDatabase = (value, directoryPath) => {
58
75
  const database = getObject(value, 'config.database', true);
59
76
  assertKnownKeys(database, DATABASE_KEYS, 'config.database');
@@ -63,11 +80,19 @@ const normalizeDatabase = (value, directoryPath) => {
63
80
  throw new Error('Укажите ровно один из ключей config.database.path и config.database.data');
64
81
  }
65
82
  const schema = normalizeSchema(database.schema, directoryPath);
83
+ recordOptions({ timestamps: database.timestamps, softDelete: database.softDelete });
84
+ const flags = {
85
+ ...(database.timestamps !== undefined ? { timestamps: database.timestamps } : {}),
86
+ ...(database.softDelete !== undefined ? { softDelete: database.softDelete } : {}),
87
+ };
66
88
  if (hasData) {
67
- return { data: copyInput(getObject(database.data, 'config.database.data', true)), schema };
89
+ return { data: copyInput(getObject(database.data, 'config.database.data', true)), schema, ...flags };
68
90
  }
69
- return { path: resolve(directoryPath, getString(database.path, 'config.database.path', true)), schema };
91
+ return { path: resolve(directoryPath, getString(database.path, 'config.database.path', true)), schema, ...flags };
70
92
  };
93
+ /** Проверяет выбор между файлами в памяти и дисковым хранилищем, разрешает пути.
94
+ * @example normalizeFiles(undefined, '/tmp') → undefined; { data: [] } → { data: [] }.
95
+ */
71
96
  const normalizeFiles = (value, directoryPath) => {
72
97
  const files = getObject(value, 'config.files');
73
98
  if (files == null) {
@@ -90,24 +115,27 @@ const normalizeFiles = (value, directoryPath) => {
90
115
  metadata: resolve(directoryPath, getString(files.metadata, 'config.files.metadata', true)),
91
116
  };
92
117
  };
118
+ /** Проверяет источник учётных записей и срок сессии; массив копирует, путь делает абсолютным.
119
+ * @example { users: 'users.json' } с каталогом /tmp → users: '/tmp/users.json'.
120
+ */
93
121
  const normalizeAuth = (value, directory) => {
94
122
  const auth = getObject(value, 'config.auth');
95
123
  if (!auth)
96
124
  return undefined;
97
- assertKnownKeys(auth, new Set(['enabled', 'users', 'expiresIn']), 'config.auth');
98
- if (auth.enabled !== undefined && typeof auth.enabled !== 'boolean')
99
- throw new Error('config.auth.enabled must be boolean');
125
+ assertKnownKeys(auth, new Set(['users', 'expiresIn']), 'config.auth');
100
126
  if (typeof auth.users !== 'string' && !Array.isArray(auth.users))
101
127
  throw new Error('config.auth.users must be a file path or user array');
102
128
  const expiresIn = getPositiveInteger(auth.expiresIn, 'config.auth.expiresIn');
103
129
  if (expiresIn !== undefined && expiresIn > 2147483647)
104
130
  throw new Error('config.auth.expiresIn must be at most 2147483647 seconds');
105
131
  return {
106
- enabled: auth.enabled,
107
132
  users: typeof auth.users === 'string' ? resolve(directory, getString(auth.users, 'config.auth.users', true)) : copyInput(auth.users),
108
133
  expiresIn,
109
134
  };
110
135
  };
136
+ /** Проверяет секции настроек и возвращает нормализованный объект с абсолютными путями.
137
+ * @example { database: { path: 'db.json' } } с каталогом /tmp → database.path: '/tmp/db.json'.
138
+ */
111
139
  const normalizeConfig = (config, directoryPath = '.') => {
112
140
  if (!isObject(config)) {
113
141
  throw new Error('Конфигурация сервера должна содержать JSON-объект');
@@ -143,7 +171,7 @@ const normalizeConfig = (config, directoryPath = '.') => {
143
171
  const pageSize = getPositiveInteger(server.pageSize, 'config.server.pageSize');
144
172
  normalizePagination({ pageSize, maxPageSize });
145
173
  const port = server.port;
146
- if (port != null && (typeof port !== 'number' || !Number.isInteger(port) || port < 0 || port > 65_535)) {
174
+ if (port != null && !isPortNumber(port)) {
147
175
  throw new Error('Ключ config.server.port должен быть целым числом от 0 до 65535');
148
176
  }
149
177
  if (logger != null && typeof logger !== 'boolean' && !isObject(logger)) {
@@ -174,20 +202,24 @@ const normalizeConfig = (config, directoryPath = '.') => {
174
202
  },
175
203
  };
176
204
  };
177
- /** Validates configuration and resolves relative paths. */
205
+ /** Проверяет настройки и разрешает относительные пути, не читая содержимое файлов.
206
+ * @example При directoryPath = '/tmp' путь './db.json' → '/tmp/db.json'.
207
+ */
178
208
  export const normalizeServerConfig = (config, directoryPath) => normalizeConfig(config, directoryPath);
179
- /** Loads an ES module config and resolves paths from its directory. */
209
+ /** Загружает default-экспорт ES-модуля, обходя кеш повторного импорта; выполняет код модуля.
210
+ * @example Файл /tmp/config.mjs с export default {} → { config: {}, directory: '/tmp', path: '/tmp/config.mjs' }.
211
+ */
180
212
  export async function readConfigModule(configPath) {
181
213
  const resolvedConfigPath = resolve(getString(configPath, 'config', true));
182
214
  let config;
183
215
  try {
184
216
  const configUrl = pathToFileURL(resolvedConfigPath);
185
- // Bypass the module cache so repeated reads use the latest config.
217
+ // Обходим кеш модуля, чтобы повторное чтение выполняло обновлённый файл.
186
218
  configUrl.searchParams.set('deep-json-server-import', String(configImportIndex++));
187
219
  config = (await import(configUrl.href)).default;
188
220
  }
189
221
  catch (error) {
190
- const message = error instanceof Error ? error.message : String(error);
222
+ const message = errorMessage(error);
191
223
  throw new Error(`Не удалось загрузить конфигурацию ${resolvedConfigPath}: ${message}`, { cause: error });
192
224
  }
193
225
  if (!isObject(config)) {
@@ -196,26 +228,32 @@ export async function readConfigModule(configPath) {
196
228
  return { config, directory: dirname(resolvedConfigPath), path: resolvedConfigPath };
197
229
  }
198
230
  const sourcePaths = new WeakMap();
231
+ /** Возвращает сохранённый путь исходного файла для данного объекта настроек.
232
+ * @example Для объекта без зарегистрированного источника → undefined.
233
+ */
199
234
  export const configSourcePath = (config) => sourcePaths.get(config);
235
+ /** Нормализует настройки и запоминает путь их источника во внутренней таблице.
236
+ * @example configure(config, '/tmp', '/tmp/config.mjs') → настройки; configSourcePath(result) → '/tmp/config.mjs'.
237
+ */
200
238
  export function configure(config, directory, sourcePath) {
201
239
  const normalized = normalizeConfig(config, directory);
202
240
  if (sourcePath)
203
241
  sourcePaths.set(normalized, sourcePath);
204
242
  return normalized;
205
243
  }
244
+ /** Выбирает настройки для указанных форматов экспорта и подставляет пустые данные вместо чтения базы.
245
+ * @example formats = ['graphql'] → настройки генерации GraphQL с database.data = {}.
246
+ */
206
247
  export function configureGeneration(source, formats, directory, sourcePath, overrides) {
207
248
  assertKnownKeys(source, CONFIG_KEYS, 'config');
208
249
  const database = getObject(source.database, 'config.database', true);
209
250
  if (database.schema === undefined)
210
251
  throw new Error('Generation requires an explicit model schema');
211
252
  const openapi = formats.includes('openapi');
212
- const auth = openapi ? getObject(source.auth, 'config.auth') : undefined;
213
- if (auth?.enabled !== undefined && typeof auth.enabled !== 'boolean')
214
- throw new Error('config.auth.enabled must be boolean');
215
253
  const server = openapi ? (getObject(source.server, 'config.server') ?? {}) : {};
216
254
  return configure({
217
- database: { data: {}, schema: database.schema },
218
- auth: openapi ? { users: [], enabled: overrides.auth ?? auth?.enabled ?? false } : undefined,
255
+ database: { data: {}, schema: database.schema, timestamps: overrides.timestamps ?? database.timestamps, softDelete: overrides.softDelete ?? database.softDelete },
256
+ auth: source.auth != null ? { users: [] } : undefined,
219
257
  openapi: openapi ? source.openapi : undefined,
220
258
  graphql: formats.includes('graphql') ? source.graphql : undefined,
221
259
  files: openapi && (overrides.files || source.files != null) ? { data: [] } : undefined,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { FastifyInstance } from 'fastify';
2
+ import type { OpenapiDocument } from '../openapi/types.js';
3
+ import { type DeepJsonServerConfig, type NormalizedServerConfig } from './config.js';
4
+ import { type ServerFeatures } from './features.js';
5
+ export interface ServerFacade {
6
+ fastify(): FastifyInstance;
7
+ openapi(): Promise<OpenapiDocument>;
8
+ graphql(): Promise<string>;
9
+ }
10
+ export type { ServerFeatures } from './features.js';
11
+ /** Проверяет настройки и создаёт интерфейс запуска и генерации схем; сетевой порт ещё не открывает.
12
+ * @example await createServer({ database: { data: { notes: [] } } }) → объект с fastify(), openapi(), graphql().
13
+ */
14
+ export declare function createServer(config: DeepJsonServerConfig, features?: ServerFeatures): Promise<ServerFacade>;
15
+ /** Собирает сервер из нормализованных настроек; хранилища открываются при инициализации HTTP-экземпляра.
16
+ * @example Нормализованные настройки → Promise<ServerFacade>; listen() затем открывает сетевой порт.
17
+ */
18
+ export declare function createConfiguredServer(normalized: NormalizedServerConfig, features?: ServerFeatures): Promise<ServerFacade>;
@@ -1,37 +1,44 @@
1
- import { AUTH_PATHS } from './auth/contract.js';
1
+ import { AUTH_PATHS } from '../auth/contract.js';
2
+ import { DEFAULT_HOST, DEFAULT_MAX_FILE_SIZE, DEFAULT_PORT } from '../core/constants.js';
3
+ import { DomainError } from '../core/errors.js';
4
+ import { domainStatus } from '../core/http-errors.js';
5
+ import { normalizePagination } from '../core/pagination.js';
6
+ import { inputPaths } from '../core/paths.js';
7
+ import { errorMessage, isObject } from '../core/utils.js';
2
8
  import { configSourcePath, normalizeServerConfig } from './config.js';
3
- import { DEFAULT_HOST, DEFAULT_MAX_FILE_SIZE, DEFAULT_PORT } from './constants.js';
4
- import { DomainError } from './errors.js';
5
9
  import { resolveFeatures, validateEndpoints } from './features.js';
6
- import { domainStatus } from './http/errors.js';
7
- import { normalizePagination } from './pagination.js';
8
- import { inputPaths } from './paths.js';
9
- import { isObject } from './utils.js';
10
10
  const CORS_HEADERS = {
11
11
  'Access-Control-Allow-Headers': 'Content-Type',
12
12
  'Access-Control-Allow-Methods': 'DELETE, GET, OPTIONS, PATCH, POST, PUT',
13
13
  'Access-Control-Allow-Origin': '*',
14
14
  };
15
+ /** Проверяет настройки и создаёт интерфейс запуска и генерации схем; сетевой порт ещё не открывает.
16
+ * @example await createServer({ database: { data: { notes: [] } } }) → объект с fastify(), openapi(), graphql().
17
+ */
15
18
  export async function createServer(config, features = {}) {
16
19
  return createConfiguredServer(normalizeServerConfig(config), features);
17
20
  }
21
+ /** Собирает сервер из нормализованных настроек; хранилища открываются при инициализации HTTP-экземпляра.
22
+ * @example Нормализованные настройки → Promise<ServerFacade>; listen() затем открывает сетевой порт.
23
+ */
18
24
  export async function createConfiguredServer(normalized, features = {}) {
19
25
  const enabled = resolveFeatures(normalized, features);
20
- const { loadModel, inferModel } = await import('./model.js');
21
- const explicitModel = await loadModel(normalized.database.schema);
26
+ const { loadModel, inferModel } = await import('../core/model.js');
27
+ const recordSettings = { timestamps: normalized.database.timestamps, softDelete: normalized.database.softDelete, auth: enabled.auth };
28
+ const explicitModel = await loadModel(normalized.database.schema, recordSettings);
22
29
  const { default: Fastify } = await import('fastify');
23
30
  const corsHeaders = { ...CORS_HEADERS };
24
31
  if (enabled.files) {
25
- const { FILE_HEADERS } = await import('./files/http.js');
32
+ const { FILE_HEADERS } = await import('../files/http.js');
26
33
  corsHeaders['Access-Control-Allow-Headers'] = [...Object.values(FILE_HEADERS).map(({ name }) => name), 'Content-Type'].join(', ');
27
34
  }
28
35
  if (enabled.auth)
29
36
  corsHeaders['Access-Control-Allow-Headers'] += ', Authorization';
30
37
  const { cors = true, logger = true, maxFileSize = DEFAULT_MAX_FILE_SIZE } = normalized.server;
31
38
  const { pageSize, maxPageSize } = normalizePagination(normalized.server);
32
- const openapi = async () => (await import('./openapi/public.js')).openapiFromModel(explicitModel, {
39
+ const openapi = async () => (await import('../openapi/public.js')).openapiFromModel(explicitModel, {
33
40
  files: enabled.files,
34
- auth: enabled.auth,
41
+ ...recordSettings,
35
42
  pageSize,
36
43
  maxPageSize,
37
44
  info: normalized.openapi.info,
@@ -62,7 +69,7 @@ export async function createConfiguredServer(normalized, features = {}) {
62
69
  const status = typeof candidate === 'number' && Number.isInteger(candidate) && candidate >= 400 && candidate <= 599 ? candidate : 500;
63
70
  if (status === 500)
64
71
  request.log.error(error);
65
- return reply.code(status).send({ error: status === 500 ? 'Внутренняя ошибка сервера' : error instanceof Error ? error.message : String(error) });
72
+ return reply.code(status).send({ error: status === 500 ? 'Внутренняя ошибка сервера' : errorMessage(error) });
66
73
  });
67
74
  if (cors) {
68
75
  server.addHook('onRequest', async (_request, reply) => {
@@ -73,25 +80,26 @@ export async function createConfiguredServer(normalized, features = {}) {
73
80
  server.options('/*', async (_request, reply) => reply.code(204).send());
74
81
  }
75
82
  server.register(async (app) => {
76
- const [{ createDatabaseStore }, { Engine }, { registerRestRoutes }] = await Promise.all([import('./database.js'), import('./engine.js'), import('./rest/routes.js')]);
83
+ const [{ createDatabaseStore }, { Engine }, { registerRestRoutes }] = await Promise.all([import('../core/database.js'), import('../core/engine.js'), import('../rest/routes.js')]);
77
84
  const keys = explicitModel ? new Map(explicitModel.entities.map((e) => [e.collection, e.primary])) : undefined;
78
85
  const store = await createDatabaseStore(normalized.database, keys);
79
- const model = explicitModel ?? inferModel(store.database.data);
86
+ const model = explicitModel ?? inferModel(store.database.data, recordSettings);
80
87
  const engine = new Engine(store, model, pageSize, maxPageSize);
81
88
  engine.validateData(store.database.data);
82
89
  const graphqlPath = normalized.graphql.endpoint ?? '/graphql';
83
90
  const openapiPath = normalized.openapi.endpoint ?? '/openapi.json';
84
91
  validateEndpoints(model.entities.map((entity) => entity.collection), [...(enabled.graphql ? [graphqlPath] : []), ...(enabled.openapi ? [openapiPath] : []), ...(enabled.auth ? Object.values(AUTH_PATHS) : [])]);
85
- const auth = enabled.auth && normalized.auth ? await (await import('./auth/service.js')).createAuthService(normalized.auth) : undefined;
92
+ const auth = enabled.auth && normalized.auth ? await (await import('../auth/service.js')).createAuthService(normalized.auth) : undefined;
86
93
  if (auth) {
87
94
  app.addHook('onClose', async () => auth.close());
88
- const { registerAuthRoutes } = await import('./auth/routes.js');
95
+ const { registerAuthRoutes } = await import('../auth/routes.js');
89
96
  registerAuthRoutes(app, auth);
90
97
  }
91
- registerRestRoutes(app, engine);
98
+ const authenticate = auth ? (header) => auth.me(header) : undefined;
99
+ registerRestRoutes(app, engine, authenticate);
92
100
  if (enabled.graphql) {
93
- const [{ registerGraphqlRoutes }, { buildGraphql }] = await Promise.all([import('./graphql/routes.js'), import('./graphql.js')]);
94
- registerGraphqlRoutes(app, buildGraphql(model), engine, graphqlPath);
101
+ const [{ registerGraphqlRoutes }, { buildGraphql }] = await Promise.all([import('../graphql/routes.js'), import('../graphql/schema.js')]);
102
+ registerGraphqlRoutes(app, buildGraphql(model), engine, graphqlPath, authenticate);
95
103
  }
96
104
  if (enabled.openapi) {
97
105
  const document = await openapi();
@@ -100,7 +108,7 @@ export async function createConfiguredServer(normalized, features = {}) {
100
108
  }
101
109
  const files = normalized.files;
102
110
  if (enabled.files && files) {
103
- const { createFileStore, registerFileRoutes } = await import('./files/index.js');
111
+ const { createFileStore, registerFileRoutes } = await import('../files/index.js');
104
112
  const protectedPaths = inputPaths({ database: normalized.database, auth: normalized.auth }, '.', configSourcePath(normalized));
105
113
  registerFileRoutes(app, { getStore: () => createFileStore(files, protectedPaths), maxFileSize });
106
114
  }
@@ -112,8 +120,8 @@ export async function createConfiguredServer(normalized, features = {}) {
112
120
  fastify: getFastify,
113
121
  openapi,
114
122
  graphql: async () => {
115
- return (await import('./graphql/public.js')).graphqlFromModel(explicitModel);
123
+ return (await import('../graphql/public.js')).graphqlFromModel(explicitModel);
116
124
  },
117
125
  };
118
126
  }
119
- //# sourceMappingURL=server.js.map
127
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/server/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { NormalizedServerConfig } from './config.js';
2
+ export interface ServerFeatures {
3
+ auth?: boolean;
4
+ files?: boolean;
5
+ graphql?: boolean;
6
+ openapi?: boolean;
7
+ }
8
+ /** Вычисляет включённые модули с учётом явных переопределений и проверяет обязательные настройки.
9
+ * @example Пустые секции и переопределение { graphql: true } → graphql: true, остальные флаги false.
10
+ */
11
+ export declare function resolveFeatures(config: NormalizedServerConfig, features?: ServerFeatures): Required<ServerFeatures>;
12
+ /** Проверяет, что пути не повторяются и не перекрывают коллекции или файловые маршруты.
13
+ * @example validateEndpoints(['users'], ['/users/1']) → ошибка; ['users'], ['/api'] → undefined.
14
+ */
15
+ export declare function validateEndpoints(collections: string[], endpoints: string[]): void;
@@ -1,10 +1,13 @@
1
- import { isObject } from './utils.js';
1
+ import { isObject } from '../core/utils.js';
2
+ /** Вычисляет включённые модули с учётом явных переопределений и проверяет обязательные настройки.
3
+ * @example Пустые секции и переопределение { graphql: true } → graphql: true, остальные флаги false.
4
+ */
2
5
  export function resolveFeatures(config, features = {}) {
3
6
  if (!isObject(features) || Object.entries(features).some(([key, value]) => !['files', 'graphql', 'openapi', 'auth'].includes(key) || typeof value !== 'boolean'))
4
7
  throw new Error('features supports boolean files, graphql, openapi and auth keys');
5
8
  const overrides = features;
6
9
  const resolved = {
7
- auth: overrides.auth ?? config.auth?.enabled ?? false,
10
+ auth: overrides.auth ?? config.auth != null,
8
11
  files: overrides.files ?? config.files != null,
9
12
  graphql: overrides.graphql ?? config.graphql.enabled ?? false,
10
13
  openapi: overrides.openapi ?? config.openapi.enabled ?? false,
@@ -15,6 +18,9 @@ export function resolveFeatures(config, features = {}) {
15
18
  throw new Error('Для файловых маршрутов укажите секцию config.files');
16
19
  return resolved;
17
20
  }
21
+ /** Проверяет, что пути не повторяются и не перекрывают коллекции или файловые маршруты.
22
+ * @example validateEndpoints(['users'], ['/users/1']) → ошибка; ['users'], ['/api'] → undefined.
23
+ */
18
24
  export function validateEndpoints(collections, endpoints) {
19
25
  if (new Set(endpoints).size !== endpoints.length)
20
26
  throw new Error('API endpoints conflict');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/server/features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAA8B,EAAE,QAAQ,GAAmB,EAAE;IAC3F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;QAC9J,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,MAAM,SAAS,GAAmB,QAAQ,CAAC;IAC3C,MAAM,QAAQ,GAAG;QACf,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;QAC3C,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;QAC9C,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;QAC7D,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK;KAC9D,CAAC;IACF,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnG,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC3G,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAqB,EAAE,SAAmB;IAC1E,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5F,KAAK,MAAM,QAAQ,IAAI,SAAS;QAC9B,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,UAAU,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9I,MAAM,IAAI,KAAK,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAC;AACnF,CAAC"}
@@ -1,3 +1,3 @@
1
- export type { AuthConfig, DatabaseConfig, DeepJsonServerConfig, FilesConfig, GraphqlConfig, MemoryFile, OpenapiConfig, ServerConfig } from '../config.js';
2
- export type { ServerFeatures } from '../features.js';
3
- export { createServer, type ServerFacade } from '../server.js';
1
+ export type { AuthConfig, DatabaseConfig, DeepJsonServerConfig, FilesConfig, GraphqlConfig, MemoryFile, OpenapiConfig, ServerConfig } from './config.js';
2
+ export { createServer, type ServerFacade } from './create.js';
3
+ export type { ServerFeatures } from './features.js';
@@ -1,2 +1,2 @@
1
- export { createServer } from '../server.js';
1
+ export { createServer } from './create.js';
2
2
  //# sourceMappingURL=public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/server/public.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAqB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/server/public.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kollors/deep-json-server",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.7",
4
4
  "description": "JSON mock server with schema-driven REST, GraphQL, nested queries and OpenAPI generation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,10 +0,0 @@
1
- import type { OpenapiDocument, OpenapiSchema } from '../types.js';
2
- export declare const AUTH_SCHEMAS: Record<string, OpenapiSchema>;
3
- export declare const AUTH_SECURITY_SCHEMES: {
4
- AuthBearer: {
5
- type: string;
6
- scheme: string;
7
- description: string;
8
- };
9
- };
10
- export declare function authOpenapiPaths(): OpenapiDocument['paths'];
@@ -1 +0,0 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/auth/openapi.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { createConfiguredServer } from './server.js';
2
- export declare function runCli(args?: string[], services?: {
3
- createServer: typeof createConfiguredServer;
4
- }): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- import type { AuthConfig } from './auth/contract.js';
2
- export type { AuthConfig } from './auth/contract.js';
3
- import type { FastifyServerOptions } from 'fastify';
4
- import type { ModelSchema } from './model.js';
5
- import type { DatabaseData } from './types.js';
6
- export type DatabaseSchema = ModelSchema;
7
- export type DatabaseConfig = {
8
- data: DatabaseData;
9
- path?: never;
10
- schema?: DatabaseSchema | string;
11
- } | {
12
- data?: never;
13
- path: string;
14
- schema?: DatabaseSchema | string;
15
- };
16
- export interface MemoryFile {
17
- content: Uint8Array;
18
- directory?: string;
19
- mimeType: string;
20
- name: string;
21
- }
22
- export type FilesConfig = {
23
- data: MemoryFile[];
24
- directory?: never;
25
- metadata?: never;
26
- } | {
27
- data?: never;
28
- directory: string;
29
- metadata: string;
30
- };
31
- export interface OpenapiConfig {
32
- enabled?: boolean;
33
- endpoint?: string;
34
- path?: string;
35
- info?: {
36
- title: string;
37
- version: string;
38
- description?: string;
39
- };
40
- }
41
- export interface GraphqlConfig {
42
- path?: string;
43
- enabled?: boolean;
44
- endpoint?: string;
45
- }
46
- export interface ServerConfig {
47
- cors?: boolean;
48
- host?: string;
49
- logger?: FastifyServerOptions['logger'];
50
- maxFileSize?: number;
51
- maxPageSize?: number;
52
- pageSize?: number;
53
- port?: number;
54
- }
55
- export interface DeepJsonServerConfig {
56
- database: DatabaseConfig;
57
- files?: FilesConfig;
58
- auth?: AuthConfig;
59
- openapi?: OpenapiConfig;
60
- graphql?: GraphqlConfig;
61
- server?: ServerConfig;
62
- }
63
- export interface NormalizedServerConfig {
64
- database: DatabaseConfig;
65
- files?: FilesConfig;
66
- auth?: AuthConfig;
67
- openapi: OpenapiConfig;
68
- graphql: GraphqlConfig;
69
- server: ServerConfig;
70
- }
71
- /** Validates configuration and resolves relative paths. */
72
- export declare const normalizeServerConfig: (config: DeepJsonServerConfig, directoryPath?: string) => NormalizedServerConfig;
73
- /** Loads an ES module config and resolves paths from its directory. */
74
- export declare function readConfigModule(configPath: string): Promise<{
75
- config: Record<string, unknown>;
76
- directory: string;
77
- path: string;
78
- }>;
79
- export declare const configSourcePath: (config: NormalizedServerConfig) => string | undefined;
80
- export declare function configure(config: unknown, directory: string, sourcePath?: string): NormalizedServerConfig;
81
- export declare function configureGeneration(source: Record<string, unknown>, formats: string[], directory: string, sourcePath: string, overrides: {
82
- host?: string;
83
- port?: number;
84
- files?: boolean;
85
- auth?: boolean;
86
- }): NormalizedServerConfig;
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC"}