@wix/patterns-cms 1.11.0 → 1.14.0
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.
- package/dist/cjs/adapter/__tests__/transformCmsSchema.spec.js +9 -0
- package/dist/cjs/adapter/__tests__/transformCmsSchema.spec.js.map +1 -1
- package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js +142 -0
- package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -0
- package/dist/cjs/adapter/createCmsBackend.js +2 -0
- package/dist/cjs/adapter/createCmsBackend.js.map +1 -1
- package/dist/cjs/adapter/index.js +3 -3
- package/dist/cjs/adapter/index.js.map +1 -1
- package/dist/cjs/adapter/transformCmsSchema.js +4 -1
- package/dist/cjs/adapter/transformCmsSchema.js.map +1 -1
- package/dist/cjs/adapter/useCmsSchemaSource.js +72 -0
- package/dist/cjs/adapter/useCmsSchemaSource.js.map +1 -0
- package/dist/cjs/testkit/cmsFetchMocks.js +7 -6
- package/dist/cjs/testkit/cmsFetchMocks.js.map +1 -1
- package/dist/esm/adapter/__tests__/transformCmsSchema.spec.js +5 -0
- package/dist/esm/adapter/__tests__/transformCmsSchema.spec.js.map +1 -1
- package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js +117 -0
- package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -0
- package/dist/esm/adapter/createCmsBackend.js.map +1 -1
- package/dist/esm/adapter/index.js +1 -1
- package/dist/esm/adapter/index.js.map +1 -1
- package/dist/esm/adapter/transformCmsSchema.js +4 -1
- package/dist/esm/adapter/transformCmsSchema.js.map +1 -1
- package/dist/esm/adapter/useCmsSchemaSource.js +56 -0
- package/dist/esm/adapter/useCmsSchemaSource.js.map +1 -0
- package/dist/esm/testkit/cmsFetchMocks.js +4 -3
- package/dist/esm/testkit/cmsFetchMocks.js.map +1 -1
- package/dist/types/adapter/__tests__/useCmsSchemaSource.spec.d.ts +2 -0
- package/dist/types/adapter/__tests__/useCmsSchemaSource.spec.d.ts.map +1 -0
- package/dist/types/adapter/createCmsBackend.d.ts +4 -2
- package/dist/types/adapter/createCmsBackend.d.ts.map +1 -1
- package/dist/types/adapter/index.d.ts +1 -1
- package/dist/types/adapter/index.d.ts.map +1 -1
- package/dist/types/adapter/transformCmsSchema.d.ts.map +1 -1
- package/dist/types/adapter/useCmsSchemaSource.d.ts +19 -0
- package/dist/types/adapter/useCmsSchemaSource.d.ts.map +1 -0
- package/dist/types/testkit/cmsFetchMocks.d.ts +5 -4
- package/dist/types/testkit/cmsFetchMocks.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/cjs/adapter/__tests__/createCmsSchemaSource.spec.js +0 -37
- package/dist/cjs/adapter/__tests__/createCmsSchemaSource.spec.js.map +0 -1
- package/dist/cjs/adapter/createCmsSchemaSource.js +0 -35
- package/dist/cjs/adapter/createCmsSchemaSource.js.map +0 -1
- package/dist/esm/adapter/__tests__/createCmsSchemaSource.spec.js +0 -32
- package/dist/esm/adapter/__tests__/createCmsSchemaSource.spec.js.map +0 -1
- package/dist/esm/adapter/createCmsSchemaSource.js +0 -25
- package/dist/esm/adapter/createCmsSchemaSource.js.map +0 -1
- package/dist/types/adapter/__tests__/createCmsSchemaSource.spec.d.ts +0 -2
- package/dist/types/adapter/__tests__/createCmsSchemaSource.spec.d.ts.map +0 -1
- package/dist/types/adapter/createCmsSchemaSource.d.ts +0 -12
- package/dist/types/adapter/createCmsSchemaSource.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fetchMock","require","_meta","_data","_cmsFieldTypeMap","itemsApi","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toCmsFields","fields","idField","values","filter","field","map","key","id","displayName","type","PatternsFieldTypeToCmsFieldType","collections","Type","TEXT","systemField","collectionResponse","collectionId","displayField","referencedCollections","collection","collectionType","CollectionType","WIX_APP","pagingModes","PagingMode","OFFSET","plugins","mockCmsCollection","fetchMock","options","source","url","when","collectionsMeta","getDataCollection","withParams","dataCollectionId","reply","undefined","route","schema","loadSchema","data","queryDataItemsMeta","getUrl","context","reqOptions","queryDataItemsRequestOptions","httpMethod","method","path","httpPath","pathParams","__requestType","__originalRequestType","__responseType","__originalResponseType","decodeOffsetQuery","opts","_JSON$parse","_query$paging","_query$paging2","raw","queryParams","query","JSON","parse","atob","offset","paging","limit","toResolver","items","length","page","slice","total","hasNext","mockCmsItems","resolve","collectionConfig","fetchData","dataItems","pagingMetadata"],"sources":["../../../src/testkit/cmsFetchMocks.ts"],"sourcesContent":["import { when } from '@wix/sdk-testkit/fetch-mock';\nimport { collections as collectionsMeta } from '@wix/data/meta';\nimport { collections } from '@wix/data';\nimport type { Schema, SchemaSource } from '@wix/bex-core';\nimport { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';\n// The query endpoint's request options aren't exposed on any public entry, so\n// reach into the items SDK internals to derive its URL (no @wix/data/meta entry).\n// eslint-disable-next-line no-restricted-imports\nimport * as itemsApi from '@wix/wix-data-items-sdk/build/cjs/src/data-items-api-client';\nimport type { FetchMock } from 'fetch-mock';\n\nexport type WixDataFields = NonNullable<\n collections.GetDataCollectionResponse['collection']\n>['fields'];\n\n/**\n * Mock the collection schema (`getDataCollection`) either from explicit CMS fields\n * or straight from a schema source — a `createInMemorySchemaSource` becomes the\n * single source of truth for the schema, its contract fields converted back to CMS\n * fields (types with no CMS mapping fall back to text — enough to render).\n */\nexport type MockCmsCollectionOptions<\n T extends Record<string, unknown> = Record<string, unknown>,\n> =\n | { collectionId: string; fields: WixDataFields; displayField?: string }\n | { source: SchemaSource<T> };\n\nfunction toCmsFields(fields: Schema['fields'], idField: string): WixDataFields {\n return Object.values(fields)\n .filter((field): field is NonNullable<typeof field> => field != null)\n .map((field) => ({\n key: field.id,\n displayName: field.displayName,\n type:\n PatternsFieldTypeToCmsFieldType[field.type] ?? collections.Type.TEXT,\n ...(field.id === idField ? { systemField: true } : {}),\n }));\n}\n\nfunction collectionResponse(\n collectionId: string,\n fields: WixDataFields,\n displayField: string,\n): collections.GetDataCollectionResponse {\n return {\n referencedCollections: [],\n collection: {\n id: collectionId,\n collectionType: collections.CollectionType.WIX_APP,\n pagingModes: [collections.PagingMode.OFFSET],\n plugins: [],\n displayField,\n fields,\n },\n } as collections.GetDataCollectionResponse;\n}\n\n/**\n * Routes the collection schema (`getDataCollection`) that `createCmsSchemaSource`\n * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance\n * intercepts them by URL.\n */\nexport function mockCmsCollection<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void {\n if ('source' in options) {\n const { source } = options;\n const [url] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: source.collectionId })\n .reply(undefined);\n\n fetchMock.route(url, async () => {\n const { schema } = await source.loadSchema();\n return collectionResponse(\n source.collectionId,\n toCmsFields(schema.fields, schema.idField),\n schema.displayField,\n );\n });\n return;\n }\n\n const { collectionId, fields, displayField = 'name' } = options;\n const [url, data] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: collectionId })\n .reply(collectionResponse(collectionId, fields, displayField));\n\n fetchMock.route(url, data);\n}\n\n// The items-query endpoint has no `@wix/data/meta` entry, so derive its URL from\n// the wix-data-items SDK request options.\nfunction queryDataItemsMeta() {\n return {\n getUrl: (context: unknown) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (itemsApi.reqOptions as any)(\n itemsApi.queryDataItemsRequestOptions,\n {},\n )(context).url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n httpMethod: (itemsApi.queryDataItemsRequestOptions as any).method,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n path: (itemsApi.queryDataItemsRequestOptions as any).httpPath,\n pathParams: {},\n __requestType: null,\n __originalRequestType: null,\n __responseType: null,\n __originalResponseType: null,\n };\n}\n\n// A resolver reads a page of rows for a decoded query — this is exactly a schema\n// source's `collectionConfig.fetchData`, so an in-memory source wires straight\n// in. A plain array is normalized to one below.\ntype ItemsResolver<T> = SchemaSource<T>['collectionConfig']['fetchData'];\ntype OffsetQuery<T> = Parameters<ItemsResolver<T>>[0];\n\n/**\n * What `mockCmsItems` serves: either plain rows or a resolver that returns a page\n * per query (a schema source's `collectionConfig.fetchData` is exactly a resolver).\n */\nexport type CmsItems<T extends Record<string, unknown>> =\n | T[]\n | ItemsResolver<T>;\n\n/**\n * Mock the rows either from explicit items/resolver or straight from a schema\n * source — pass `{ source }` and a `createInMemorySchemaSource` becomes the single\n * source of truth for the rows too.\n */\nexport type MockCmsItemsOptions<T extends Record<string, unknown>> =\n | { items: CmsItems<T> }\n | { source: SchemaSource<T> };\n\n// The @wix/data query is sent as a base64 `.r` search param; decode it back to\n// the offset/limit a resolver expects.\ninterface QueryCall {\n queryParams: { get(name: string): string | null };\n}\n\nfunction decodeOffsetQuery<T extends Record<string, unknown>>(\n opts: QueryCall,\n): OffsetQuery<T> {\n const raw = opts.queryParams.get('.r');\n const query = raw ? JSON.parse(atob(raw))?.query : undefined;\n return {\n offset: query?.paging?.offset ?? 0,\n limit: query?.paging?.limit ?? 100,\n } as OffsetQuery<T>;\n}\n\nfunction toResolver<T extends Record<string, unknown>>(\n items: CmsItems<T>,\n): ItemsResolver<T> {\n if (typeof items === 'function') {\n return items;\n }\n // Plain array: slice by the requested page, report the full count as total.\n return (async (query: OffsetQuery<T>) => {\n const offset = query.offset ?? 0;\n const limit = query.limit ?? items.length;\n const page = items.slice(offset, offset + limit);\n return {\n items: page,\n total: items.length,\n hasNext: offset + page.length < items.length,\n };\n }) as ItemsResolver<T>;\n}\n\n/**\n * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a\n * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's\n * `collectionConfig.fetchData`, so an in-memory source drives paging per request.\n */\nexport function mockCmsItems<T extends Record<string, unknown>>(\n fetchMock: FetchMock,\n options: MockCmsItemsOptions<T>,\n): void {\n const resolve =\n 'source' in options\n ? options.source.collectionConfig.fetchData\n : toResolver(options.items);\n const [url] = when(queryDataItemsMeta()).reply(null);\n\n fetchMock.route(url, async (opts: QueryCall) => {\n const { items: page, total } = await resolve(decodeOffsetQuery<T>(opts));\n return {\n dataItems: page.map((data) => ({ data })),\n pagingMetadata: { total },\n };\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_fetchMock","require","_meta","_data","_bexCore","_cmsFieldTypeMap","itemsApi","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toCmsFields","fields","idField","values","filter","field","map","key","id","displayName","type","PatternsFieldTypeToCmsFieldType","collections","Type","TEXT","systemField","collectionResponse","collectionId","displayField","referencedCollections","collection","collectionType","CollectionType","WIX_APP","pagingModes","PagingMode","OFFSET","plugins","mockCmsCollection","fetchMock","options","source","url","when","collectionsMeta","getDataCollection","withParams","dataCollectionId","reply","undefined","route","schema","loadSchema","data","queryDataItemsMeta","getUrl","context","reqOptions","queryDataItemsRequestOptions","httpMethod","method","path","httpPath","pathParams","__requestType","__originalRequestType","__responseType","__originalResponseType","decodeOffsetQuery","opts","_JSON$parse","_query$paging","_query$paging2","raw","queryParams","query","JSON","parse","atob","offset","paging","limit","toResolver","items","length","page","slice","total","hasNext","mockCmsItems","resolve","sourceFetchData","dataItems","pagingMetadata"],"sources":["../../../src/testkit/cmsFetchMocks.ts"],"sourcesContent":["import { when } from '@wix/sdk-testkit/fetch-mock';\nimport { collections as collectionsMeta } from '@wix/data/meta';\nimport { collections } from '@wix/data';\nimport { sourceFetchData } from '@wix/bex-core';\nimport type { Schema, SchemaSource } from '@wix/bex-core';\nimport { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';\n// The query endpoint's request options aren't exposed on any public entry, so\n// reach into the items SDK internals to derive its URL (no @wix/data/meta entry).\n// eslint-disable-next-line no-restricted-imports\nimport * as itemsApi from '@wix/wix-data-items-sdk/build/cjs/src/data-items-api-client';\nimport type { FetchMock } from 'fetch-mock';\n\nexport type WixDataFields = NonNullable<\n collections.GetDataCollectionResponse['collection']\n>['fields'];\n\n/**\n * Mock the collection schema (`getDataCollection`) either from explicit CMS fields\n * or straight from a schema source — a `createInMemorySchemaSource` becomes the\n * single source of truth for the schema, its contract fields converted back to CMS\n * fields (types with no CMS mapping fall back to text — enough to render).\n */\nexport type MockCmsCollectionOptions<\n T extends Record<string, unknown> = Record<string, unknown>,\n> =\n | { collectionId: string; fields: WixDataFields; displayField?: string }\n | { source: SchemaSource<T> };\n\nfunction toCmsFields(fields: Schema['fields'], idField: string): WixDataFields {\n return Object.values(fields)\n .filter((field): field is NonNullable<typeof field> => field != null)\n .map((field) => ({\n key: field.id,\n displayName: field.displayName,\n type:\n PatternsFieldTypeToCmsFieldType[field.type] ?? collections.Type.TEXT,\n ...(field.id === idField ? { systemField: true } : {}),\n }));\n}\n\nfunction collectionResponse(\n collectionId: string,\n fields: WixDataFields,\n displayField: string,\n): collections.GetDataCollectionResponse {\n return {\n referencedCollections: [],\n collection: {\n id: collectionId,\n collectionType: collections.CollectionType.WIX_APP,\n pagingModes: [collections.PagingMode.OFFSET],\n plugins: [],\n displayField,\n fields,\n },\n } as collections.GetDataCollectionResponse;\n}\n\n/**\n * Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`\n * loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance\n * intercepts them by URL.\n */\nexport function mockCmsCollection<\n T extends Record<string, unknown> = Record<string, unknown>,\n>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void {\n if ('source' in options) {\n const { source } = options;\n const [url] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: source.collectionId })\n .reply(undefined);\n\n fetchMock.route(url, async () => {\n const { schema } = await source.loadSchema();\n return collectionResponse(\n source.collectionId,\n toCmsFields(schema.fields, schema.idField),\n schema.displayField,\n );\n });\n return;\n }\n\n const { collectionId, fields, displayField = 'name' } = options;\n const [url, data] = when(collectionsMeta.getDataCollection())\n .withParams({ dataCollectionId: collectionId })\n .reply(collectionResponse(collectionId, fields, displayField));\n\n fetchMock.route(url, data);\n}\n\n// The items-query endpoint has no `@wix/data/meta` entry, so derive its URL from\n// the wix-data-items SDK request options.\nfunction queryDataItemsMeta() {\n return {\n getUrl: (context: unknown) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (itemsApi.reqOptions as any)(\n itemsApi.queryDataItemsRequestOptions,\n {},\n )(context).url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n httpMethod: (itemsApi.queryDataItemsRequestOptions as any).method,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n path: (itemsApi.queryDataItemsRequestOptions as any).httpPath,\n pathParams: {},\n __requestType: null,\n __originalRequestType: null,\n __responseType: null,\n __originalResponseType: null,\n };\n}\n\n// A resolver reads a page of rows for a decoded query — this is exactly a schema\n// source's derived fetch (`sourceFetchData`), so an in-memory source wires\n// straight in. A plain array is normalized to one below.\ntype ItemsResolver<T> = ReturnType<typeof sourceFetchData<T>>;\ntype OffsetQuery<T> = Parameters<ItemsResolver<T>>[0];\n\n/**\n * What `mockCmsItems` serves: either plain rows or a resolver that returns a page\n * per query (a schema source's derived fetch is exactly a resolver).\n */\nexport type CmsItems<T extends Record<string, unknown>> =\n | T[]\n | ItemsResolver<T>;\n\n/**\n * Mock the rows either from explicit items/resolver or straight from a schema\n * source — pass `{ source }` and a `createInMemorySchemaSource` becomes the single\n * source of truth for the rows too.\n */\nexport type MockCmsItemsOptions<T extends Record<string, unknown>> =\n | { items: CmsItems<T> }\n | { source: SchemaSource<T> };\n\n// The @wix/data query is sent as a base64 `.r` search param; decode it back to\n// the offset/limit a resolver expects.\ninterface QueryCall {\n queryParams: { get(name: string): string | null };\n}\n\nfunction decodeOffsetQuery<T extends Record<string, unknown>>(\n opts: QueryCall,\n): OffsetQuery<T> {\n const raw = opts.queryParams.get('.r');\n const query = raw ? JSON.parse(atob(raw))?.query : undefined;\n return {\n offset: query?.paging?.offset ?? 0,\n limit: query?.paging?.limit ?? 100,\n } as OffsetQuery<T>;\n}\n\nfunction toResolver<T extends Record<string, unknown>>(\n items: CmsItems<T>,\n): ItemsResolver<T> {\n if (typeof items === 'function') {\n return items;\n }\n // Plain array: slice by the requested page, report the full count as total.\n return (async (query: OffsetQuery<T>) => {\n const offset = query.offset ?? 0;\n const limit = query.limit ?? items.length;\n const page = items.slice(offset, offset + limit);\n return {\n items: page,\n total: items.length,\n hasNext: offset + page.length < items.length,\n };\n }) as ItemsResolver<T>;\n}\n\n/**\n * Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a\n * resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's\n * `sourceFetchData(source)`, so an in-memory source drives paging per request.\n */\nexport function mockCmsItems<T extends Record<string, unknown>>(\n fetchMock: FetchMock,\n options: MockCmsItemsOptions<T>,\n): void {\n const resolve =\n 'source' in options\n ? sourceFetchData(options.source)\n : toResolver(options.items);\n const [url] = when(queryDataItemsMeta()).reply(null);\n\n fetchMock.route(url, async (opts: QueryCall) => {\n const { items: page, total } = await resolve(decodeOffsetQuery<T>(opts));\n return {\n dataItems: page.map((data) => ({ data })),\n pagingMetadata: { total },\n };\n });\n}\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,gBAAA,GAAAJ,OAAA;AAIA,IAAAK,QAAA,GAAAC,uBAAA,CAAAN,OAAA;AAAwF,SAAAM,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAHxF;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA;;AAOA,SAASkB,WAAWA,CAACC,MAAwB,EAAEC,OAAe,EAAiB;EAC7E,OAAOL,MAAM,CAACM,MAAM,CAACF,MAAM,CAAC,CACzBG,MAAM,CAAEC,KAAK,IAAyCA,KAAK,IAAI,IAAI,CAAC,CACpEC,GAAG,CAAED,KAAK,KAAM;IACfE,GAAG,EAAEF,KAAK,CAACG,EAAE;IACbC,WAAW,EAAEJ,KAAK,CAACI,WAAW;IAC9BC,IAAI,EACFC,gDAA+B,CAACN,KAAK,CAACK,IAAI,CAAC,IAAIE,iBAAW,CAACC,IAAI,CAACC,IAAI;IACtE,IAAIT,KAAK,CAACG,EAAE,KAAKN,OAAO,GAAG;MAAEa,WAAW,EAAE;IAAK,CAAC,GAAG,CAAC,CAAC;EACvD,CAAC,CAAC,CAAC;AACP;AAEA,SAASC,kBAAkBA,CACzBC,YAAoB,EACpBhB,MAAqB,EACrBiB,YAAoB,EACmB;EACvC,OAAO;IACLC,qBAAqB,EAAE,EAAE;IACzBC,UAAU,EAAE;MACVZ,EAAE,EAAES,YAAY;MAChBI,cAAc,EAAET,iBAAW,CAACU,cAAc,CAACC,OAAO;MAClDC,WAAW,EAAE,CAACZ,iBAAW,CAACa,UAAU,CAACC,MAAM,CAAC;MAC5CC,OAAO,EAAE,EAAE;MACXT,YAAY;MACZjB;IACF;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS2B,iBAAiBA,CAE/BC,SAAoB,EAAEC,OAAoC,EAAQ;EAClE,IAAI,QAAQ,IAAIA,OAAO,EAAE;IACvB,MAAM;MAAEC;IAAO,CAAC,GAAGD,OAAO;IAC1B,MAAM,CAACE,GAAG,CAAC,GAAG,IAAAC,eAAI,EAACC,iBAAe,CAACC,iBAAiB,CAAC,CAAC,CAAC,CACpDC,UAAU,CAAC;MAAEC,gBAAgB,EAAEN,MAAM,CAACd;IAAa,CAAC,CAAC,CACrDqB,KAAK,CAACC,SAAS,CAAC;IAEnBV,SAAS,CAACW,KAAK,CAACR,GAAG,EAAE,YAAY;MAC/B,MAAM;QAAES;MAAO,CAAC,GAAG,MAAMV,MAAM,CAACW,UAAU,CAAC,CAAC;MAC5C,OAAO1B,kBAAkB,CACvBe,MAAM,CAACd,YAAY,EACnBjB,WAAW,CAACyC,MAAM,CAACxC,MAAM,EAAEwC,MAAM,CAACvC,OAAO,CAAC,EAC1CuC,MAAM,CAACvB,YACT,CAAC;IACH,CAAC,CAAC;IACF;EACF;EAEA,MAAM;IAAED,YAAY;IAAEhB,MAAM;IAAEiB,YAAY,GAAG;EAAO,CAAC,GAAGY,OAAO;EAC/D,MAAM,CAACE,GAAG,EAAEW,IAAI,CAAC,GAAG,IAAAV,eAAI,EAACC,iBAAe,CAACC,iBAAiB,CAAC,CAAC,CAAC,CAC1DC,UAAU,CAAC;IAAEC,gBAAgB,EAAEpB;EAAa,CAAC,CAAC,CAC9CqB,KAAK,CAACtB,kBAAkB,CAACC,YAAY,EAAEhB,MAAM,EAAEiB,YAAY,CAAC,CAAC;EAEhEW,SAAS,CAACW,KAAK,CAACR,GAAG,EAAEW,IAAI,CAAC;AAC5B;;AAEA;AACA;AACA,SAASC,kBAAkBA,CAAA,EAAG;EAC5B,OAAO;IACLC,MAAM,EAAGC,OAAgB;IACvB;IACCnE,QAAQ,CAACoE,UAAU,CAClBpE,QAAQ,CAACqE,4BAA4B,EACrC,CAAC,CACH,CAAC,CAACF,OAAO,CAAC,CAACd,GAAG;IAChB;IACAiB,UAAU,EAAGtE,QAAQ,CAACqE,4BAA4B,CAASE,MAAM;IACjE;IACAC,IAAI,EAAGxE,QAAQ,CAACqE,4BAA4B,CAASI,QAAQ;IAC7DC,UAAU,EAAE,CAAC,CAAC;IACdC,aAAa,EAAE,IAAI;IACnBC,qBAAqB,EAAE,IAAI;IAC3BC,cAAc,EAAE,IAAI;IACpBC,sBAAsB,EAAE;EAC1B,CAAC;AACH;;AAEA;AACA;AACA;;AAIA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;;AAKA;AACA;;AAKA,SAASC,iBAAiBA,CACxBC,IAAe,EACC;EAAA,IAAAC,WAAA,EAAAC,aAAA,EAAAC,cAAA;EAChB,MAAMC,GAAG,GAAGJ,IAAI,CAACK,WAAW,CAACvE,GAAG,CAAC,IAAI,CAAC;EACtC,MAAMwE,KAAK,GAAGF,GAAG,IAAAH,WAAA,GAAGM,IAAI,CAACC,KAAK,CAACC,IAAI,CAACL,GAAG,CAAC,CAAC,qBAArBH,WAAA,CAAuBK,KAAK,GAAG1B,SAAS;EAC5D,OAAO;IACL8B,MAAM,EAAE,CAAAJ,KAAK,aAAAJ,aAAA,GAALI,KAAK,CAAEK,MAAM,qBAAbT,aAAA,CAAeQ,MAAM,KAAI,CAAC;IAClCE,KAAK,EAAE,CAAAN,KAAK,aAAAH,cAAA,GAALG,KAAK,CAAEK,MAAM,qBAAbR,cAAA,CAAeS,KAAK,KAAI;EACjC,CAAC;AACH;AAEA,SAASC,UAAUA,CACjBC,KAAkB,EACA;EAClB,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;IAC/B,OAAOA,KAAK;EACd;EACA;EACA,OAAQ,MAAOR,KAAqB,IAAK;IACvC,MAAMI,MAAM,GAAGJ,KAAK,CAACI,MAAM,IAAI,CAAC;IAChC,MAAME,KAAK,GAAGN,KAAK,CAACM,KAAK,IAAIE,KAAK,CAACC,MAAM;IACzC,MAAMC,IAAI,GAAGF,KAAK,CAACG,KAAK,CAACP,MAAM,EAAEA,MAAM,GAAGE,KAAK,CAAC;IAChD,OAAO;MACLE,KAAK,EAAEE,IAAI;MACXE,KAAK,EAAEJ,KAAK,CAACC,MAAM;MACnBI,OAAO,EAAET,MAAM,GAAGM,IAAI,CAACD,MAAM,GAAGD,KAAK,CAACC;IACxC,CAAC;EACH,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,YAAYA,CAC1BlD,SAAoB,EACpBC,OAA+B,EACzB;EACN,MAAMkD,OAAO,GACX,QAAQ,IAAIlD,OAAO,GACf,IAAAmD,wBAAe,EAACnD,OAAO,CAACC,MAAM,CAAC,GAC/ByC,UAAU,CAAC1C,OAAO,CAAC2C,KAAK,CAAC;EAC/B,MAAM,CAACzC,GAAG,CAAC,GAAG,IAAAC,eAAI,EAACW,kBAAkB,CAAC,CAAC,CAAC,CAACN,KAAK,CAAC,IAAI,CAAC;EAEpDT,SAAS,CAACW,KAAK,CAACR,GAAG,EAAE,MAAO2B,IAAe,IAAK;IAC9C,MAAM;MAAEc,KAAK,EAAEE,IAAI;MAAEE;IAAM,CAAC,GAAG,MAAMG,OAAO,CAACtB,iBAAiB,CAAIC,IAAI,CAAC,CAAC;IACxE,OAAO;MACLuB,SAAS,EAAEP,IAAI,CAACrE,GAAG,CAAEqC,IAAI,KAAM;QAAEA;MAAK,CAAC,CAAC,CAAC;MACzCwC,cAAc,EAAE;QAAEN;MAAM;IAC1B,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -99,6 +99,11 @@ describe('transformCmsSchema', () => {
|
|
|
99
99
|
expect(schema.fields.secret?.helpText).toBe('A hint');
|
|
100
100
|
expect(schema.fields.secret?.isSystem).toBe(true);
|
|
101
101
|
});
|
|
102
|
+
it('treats the manual-sort field as system even when not flagged by @wix/data', () => {
|
|
103
|
+
const key = '_manualSort_48382113-d33d-415b-b416-b65642f65483';
|
|
104
|
+
const schema = transformCmsSchema(makeCollection([makeField({ key, systemField: false })]));
|
|
105
|
+
expect(schema.fields[key]?.isSystem).toBe(true);
|
|
106
|
+
});
|
|
102
107
|
it('maps validation ranges and required', () => {
|
|
103
108
|
const schema = transformCmsSchema(makeCollection([
|
|
104
109
|
makeField({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformCmsSchema.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/transformCmsSchema.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformCmsSchema.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/transformCmsSchema.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { defineSchemaSource } from '@wix/bex-core';
|
|
2
|
+
import { collections } from '@wix/data';
|
|
3
|
+
import { cmsSchemaSourceInput } from '../useCmsSchemaSource';
|
|
4
|
+
import { fetchUserPermissions } from '../fetchUserPermissions';
|
|
5
|
+
import { fetchExternalDbConnections } from '../fetchExternalDbConnections';
|
|
6
|
+
// loadCmsSchema imports errorHandler at evaluation time; stub it so importing
|
|
7
|
+
// the source builder is side-effect free.
|
|
8
|
+
jest.mock('@wix/essentials', () => ({
|
|
9
|
+
errorHandler: {
|
|
10
|
+
withErrorHandler: (fn) => fn(),
|
|
11
|
+
},
|
|
12
|
+
}));
|
|
13
|
+
// Keep @wix/data real (cmsFieldTypeMap reads `collections.Type` at evaluation
|
|
14
|
+
// time) and stub only the collection fetch, so loadSchema runs the real
|
|
15
|
+
// loader + transform against a fixed collection.
|
|
16
|
+
jest.mock('@wix/data', () => {
|
|
17
|
+
const actual = jest.requireActual('@wix/data');
|
|
18
|
+
return {
|
|
19
|
+
...actual,
|
|
20
|
+
collections: {
|
|
21
|
+
...actual.collections,
|
|
22
|
+
getDataCollection: jest.fn(),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
jest.mock('../fetchUserPermissions', () => ({
|
|
27
|
+
fetchUserPermissions: jest.fn(),
|
|
28
|
+
}));
|
|
29
|
+
jest.mock('../fetchExternalDbConnections', () => ({
|
|
30
|
+
fetchExternalDbConnections: jest.fn(),
|
|
31
|
+
}));
|
|
32
|
+
const getDataCollection = collections.getDataCollection;
|
|
33
|
+
const fetchUserPermissionsMock = fetchUserPermissions;
|
|
34
|
+
const fetchExternalDbConnectionsMock = fetchExternalDbConnections;
|
|
35
|
+
const httpClient = {};
|
|
36
|
+
// A collection with one reference field pointing at "Camels".
|
|
37
|
+
const collectionWithReference = () => ({
|
|
38
|
+
_id: 'Products',
|
|
39
|
+
collectionType: 'NATIVE',
|
|
40
|
+
displayField: 'title',
|
|
41
|
+
capabilities: { dataOperations: ['SAVE', 'UPDATE', 'REMOVE'] },
|
|
42
|
+
permissions: {
|
|
43
|
+
read: 'ANYONE',
|
|
44
|
+
insert: 'SITE_MEMBER',
|
|
45
|
+
update: 'SITE_MEMBER',
|
|
46
|
+
remove: 'SITE_MEMBER',
|
|
47
|
+
},
|
|
48
|
+
plugins: [],
|
|
49
|
+
fields: [
|
|
50
|
+
{
|
|
51
|
+
key: 'title',
|
|
52
|
+
type: collections.Type.TEXT,
|
|
53
|
+
systemField: false,
|
|
54
|
+
encrypted: false,
|
|
55
|
+
plugins: [],
|
|
56
|
+
displayName: 'Title',
|
|
57
|
+
capabilities: { queryOperators: [], sortable: true },
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
key: 'supplier',
|
|
61
|
+
type: collections.Type.REFERENCE,
|
|
62
|
+
systemField: false,
|
|
63
|
+
encrypted: false,
|
|
64
|
+
plugins: [],
|
|
65
|
+
displayName: 'Supplier',
|
|
66
|
+
capabilities: { queryOperators: [], sortable: false },
|
|
67
|
+
typeMetadata: { reference: { referencedCollectionId: 'Camels' } },
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
describe('useCmsSchemaSource', () => {
|
|
72
|
+
beforeEach(() => {
|
|
73
|
+
jest.clearAllMocks();
|
|
74
|
+
getDataCollection.mockResolvedValue(collectionWithReference());
|
|
75
|
+
fetchUserPermissionsMock.mockResolvedValue([]);
|
|
76
|
+
fetchExternalDbConnectionsMock.mockResolvedValue([]);
|
|
77
|
+
});
|
|
78
|
+
it('declares the creatable types in display order — labels come from the standard names in the UI', () => {
|
|
79
|
+
const source = defineSchemaSource(cmsSchemaSourceInput({
|
|
80
|
+
collectionId: 'Pokemon',
|
|
81
|
+
httpClient,
|
|
82
|
+
}));
|
|
83
|
+
expect(source.creatableFieldTypes).toEqual([
|
|
84
|
+
{ patternsType: 'SHORT_TEXT' },
|
|
85
|
+
{ patternsType: 'NUMBER' },
|
|
86
|
+
{ patternsType: 'BOOLEAN' },
|
|
87
|
+
{ patternsType: 'DATE' },
|
|
88
|
+
]);
|
|
89
|
+
});
|
|
90
|
+
it('builds an offset source keyed by the collectionId', () => {
|
|
91
|
+
const source = defineSchemaSource(cmsSchemaSourceInput({
|
|
92
|
+
collectionId: 'Pokemon',
|
|
93
|
+
httpClient,
|
|
94
|
+
}));
|
|
95
|
+
expect(source.collectionId).toBe('Pokemon');
|
|
96
|
+
expect(source.paginationMode).toBe('offset');
|
|
97
|
+
});
|
|
98
|
+
it('auto-builds a reference source per reference field once the schema loads', async () => {
|
|
99
|
+
const source = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Products', httpClient }));
|
|
100
|
+
// Nothing is wired until the schema (and its reference fields) is known.
|
|
101
|
+
expect(source.references).toEqual({});
|
|
102
|
+
await source.loadSchema();
|
|
103
|
+
expect(source.references.Camels).toBeDefined();
|
|
104
|
+
expect(source.references.Camels.collectionId).toBe('Camels');
|
|
105
|
+
});
|
|
106
|
+
it('keeps a seeded reference source instead of auto-building it', async () => {
|
|
107
|
+
const seeded = defineSchemaSource(cmsSchemaSourceInput({ collectionId: 'Camels', httpClient }));
|
|
108
|
+
const source = defineSchemaSource(cmsSchemaSourceInput({
|
|
109
|
+
collectionId: 'Products',
|
|
110
|
+
httpClient,
|
|
111
|
+
references: { Camels: seeded },
|
|
112
|
+
}));
|
|
113
|
+
await source.loadSchema();
|
|
114
|
+
expect(source.references.Camels).toBe(seeded);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=useCmsSchemaSource.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.spec.js","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsBackend.js","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"createCmsBackend.js","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,kBAAkB,GAAG,CAAC,MAAoB,EAAW,EAAE,CAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,EAAE,IAAI,KAAK,iBAAiB,CAC5E,CAAC;AAEJ,MAAM,uBAAuB,GAAG,CAAC,MAAoB,EAAW,EAAE,CAChE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,iBAAiB,CACjD,CAAC;AAEJ,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,KAAK,EACjC,YAAoB,EACpB,QAAgB,EAChB,MAA+B,EAC/B,oBAA6B,EAC7B,EAAE;IACF,MAAM,OAAO,CAAC,GAAG,CACf,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,YAAY,GAAI,QAAsC,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAa,CAC/B,CAAC;QAEF,MAAM,KAAK,CAAC,iBAAiB,CAC3B,YAAY,EACZ,KAAK,CAAC,EAAE,EACR,QAAQ,EACR,YAAY,CACb,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAOF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAE9B,YAAoB,EAAE,MAAoB;IAC1C,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEzE,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,QAAgB,EAAc,EAAE;YAC1C,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC,CAAC;aACxD;YACD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;aAClD;YACD,OAAO,MAAsB,CAAC;QAChC,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAkB,EAAc,EAAE;YAC/C,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CACjC,YAAY,EACZ,MAAiC,CAClC,CAA4B,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAa,CAAC;YACxC,IAAI,SAAS,EAAE;gBACb,MAAM,qBAAqB,CACzB,YAAY,EACZ,SAAS,EACT,MAAiC,EACjC,oBAAoB,CACrB,CAAC;aACH;YACD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,SAAS,EAAkB,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,MAAS,EAAc,EAAE;YACtC,MAAM,KAAK,CAAC,MAAM,CAChB,YAAY,EACZ,MAAmD,CACpD,CAAC;YACF,MAAM,QAAQ,GAAI,MAAkC,CAAC,GAAa,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,MAAM,qBAAqB,CACzB,YAAY,EACZ,QAAQ,EACR,MAAiC,EACjC,oBAAoB,CACrB,CAAC;aACH;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAiB,EAAE;YAChD,MAAM,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,SAAmB,EAAiB,EAAE;YACvD,MAAM,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,EAAE,KAAK,EACT,KAAkB,EAClB,UAEI,EAAE,EACyB,EAAE;YACjC,sEAAsE;YACtE,yEAAyE;YACzE,4DAA4D;YAC5D,MAAM,kBAAkB,GAAa,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAEtE,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1C,SAAS,GAAG,oBAAoB,CAAC;gBAC/B,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,kBAAkB;aACnB,CAAC,CAAC;YACH,SAAS,GAAG,qBAAqB,CAAC;gBAChC,SAAS;gBACT,KAAK;gBACL,MAAM;aACP,CAAC,CAAC;YACH,SAAS,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7D,MAAM,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACzD,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAChC,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;aACnD;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,SAAS;iBACxB,IAAI,CAAC,MAAM,CAAC;iBACZ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;iBAClB,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;YAClC,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,KAAuB;gBAClC,KAAK;gBACL,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;aAC3C,CAAC;QACJ,CAAC;QAED,UAAU,EAAE,CAAC,QAAsB,EAA6B,EAAE,CAChE,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAC1D,YAAY,EACZ,QAAqC,CACtC,CAAC;YACF,OAAO;gBACL,SAAS,EAAE,QAAQ,GAAG,OAAO;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,QAAQ,EAAE,CAAC,CAAC,aAAa;oBACzB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC;QAER,MAAM,EAAE,qBAAqB,EAAE;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createCmsSchemaLoader, fetchCmsCollection, } from './loadCmsSchema';
|
|
2
|
-
export {
|
|
2
|
+
export { useCmsSchemaSource, } from './useCmsSchemaSource';
|
|
3
3
|
export { listCmsCollections, } from './listCmsCollections';
|
|
4
4
|
export { transformCmsSchema, } from './transformCmsSchema';
|
|
5
5
|
export { createCmsBackend } from './createCmsBackend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,GAGtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAoB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -17,7 +17,10 @@ export function transformCmsSchema(schema, options = {}) {
|
|
|
17
17
|
isPrimary: field.key === schema.displayField,
|
|
18
18
|
isPii: field.encrypted ?? false,
|
|
19
19
|
helpText: field.description ?? undefined,
|
|
20
|
-
|
|
20
|
+
// `@wix/data` does not flag the manual-sort field (`_manualSort_<id>`)
|
|
21
|
+
// as `systemField`, but it is internal and must not surface as an
|
|
22
|
+
// editable field — treat it as system, matching auto-patterns.
|
|
23
|
+
isSystem: (field.systemField ?? false) || field.key.startsWith('_manualSort'),
|
|
21
24
|
validation: {
|
|
22
25
|
numberRange: field.numberRange
|
|
23
26
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformCmsSchema.js","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EACL,qBAAqB,GAEtB,MAAM,kBAAkB,CAAC;AAS1B,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAChC,MAAkC,EAClC,UAAqC,EAAE;IAEvC,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,qBAAqB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAa,CAAC;IAE1C,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI;YAC1B,CAAC,CAAC,+BAA+B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS;YAC1D,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,SAAS,GAAG;YAChB,EAAE,EAAE,KAAK,CAAC,GAAG;YACb,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,YAAY;YAC5C,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK;YAC/B,QAAQ,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;YACxC,QAAQ,
|
|
1
|
+
{"version":3,"file":"transformCmsSchema.js","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useSchemaSource, useWixPatternsContainer } from '@wix/bex-core/react';
|
|
2
|
+
import { defineSchemaSource } from '@wix/bex-core';
|
|
3
|
+
import { createCmsSchemaLoader, } from './loadCmsSchema';
|
|
4
|
+
// The field types the add/edit modal offers, in display order. These are the
|
|
5
|
+
// only types @wix/data can create (see PatternsFieldTypeToCmsFieldType).
|
|
6
|
+
const CMS_CREATABLE_TYPES = [
|
|
7
|
+
{ patternsType: 'SHORT_TEXT' },
|
|
8
|
+
{ patternsType: 'NUMBER' },
|
|
9
|
+
{ patternsType: 'BOOLEAN' },
|
|
10
|
+
{ patternsType: 'DATE' },
|
|
11
|
+
];
|
|
12
|
+
export function cmsSchemaSourceInput(deps) {
|
|
13
|
+
const { collectionId, references: seedReferences, ...loaderDeps } = deps;
|
|
14
|
+
const loader = createCmsSchemaLoader(loaderDeps);
|
|
15
|
+
// Reference fields are wired automatically: when the schema loads, each
|
|
16
|
+
// REFERENCE / MULTI_REFERENCE field's referencedCollectionId gets a child CMS
|
|
17
|
+
// source (same loader deps) added to `references`, so entity-page reference
|
|
18
|
+
// inputs can query the referenced collection with no manual wiring. The object
|
|
19
|
+
// is shared with the resolved source; seeded entries win over auto-built ones.
|
|
20
|
+
const references = { ...seedReferences };
|
|
21
|
+
const loadSchema = async () => {
|
|
22
|
+
const loaded = await loader(collectionId);
|
|
23
|
+
Object.values(loaded.schema.fields).forEach((field) => {
|
|
24
|
+
if (field?.type !== 'REFERENCE' && field?.type !== 'MULTI_REFERENCE') {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const referencedCollectionId = field.referenceMetadata.referencedCollectionId;
|
|
28
|
+
if (referencedCollectionId && !references[referencedCollectionId]) {
|
|
29
|
+
references[referencedCollectionId] = defineSchemaSource(cmsSchemaSourceInput({
|
|
30
|
+
collectionId: referencedCollectionId,
|
|
31
|
+
...loaderDeps,
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return loaded;
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
collectionId,
|
|
39
|
+
loadSchema,
|
|
40
|
+
creatableFieldTypes: CMS_CREATABLE_TYPES,
|
|
41
|
+
references,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema
|
|
46
|
+
* loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`
|
|
47
|
+
* collection hook.
|
|
48
|
+
*/
|
|
49
|
+
export function useCmsSchemaSource(deps) {
|
|
50
|
+
const container = useWixPatternsContainer();
|
|
51
|
+
return useSchemaSource(cmsSchemaSourceInput({
|
|
52
|
+
...deps,
|
|
53
|
+
httpClient: deps.httpClient ?? container.httpClient,
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=useCmsSchemaSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.js","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMnD,OAAO,EACL,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AAEzB,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,mBAAmB,GAAyB;IAChD,EAAE,YAAY,EAAE,YAAY,EAAE;IAC9B,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC1B,EAAE,YAAY,EAAE,SAAS,EAAE;IAC3B,EAAE,YAAY,EAAE,MAAM,EAAE;CACzB,CAAC;AAaF,MAAM,UAAU,oBAAoB,CAGlC,IAA4E;IAE5E,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;IACzE,MAAM,MAAM,GAAG,qBAAqB,CAAI,UAAU,CAAC,CAAC;IAEpD,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,+EAA+E;IAC/E,MAAM,UAAU,GAAsC,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5E,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,EAAE;gBACpE,OAAO;aACR;YACD,MAAM,sBAAsB,GAC1B,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;YACjD,IAAI,sBAAsB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;gBACjE,UAAU,CAAC,sBAAsB,CAAC,GAAG,kBAAkB,CACrD,oBAAoB,CAAC;oBACnB,YAAY,EAAE,sBAAsB;oBACpC,GAAG,UAAU;iBACd,CAAC,CACH,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,UAAU;QACV,mBAAmB,EAAE,mBAAmB;QACxC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAEhC,IAA4B;IAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;IAC5C,OAAO,eAAe,CACpB,oBAAoB,CAAI;QACtB,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU;KACpD,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { when } from '@wix/sdk-testkit/fetch-mock';
|
|
2
2
|
import { collections as collectionsMeta } from '@wix/data/meta';
|
|
3
3
|
import { collections } from '@wix/data';
|
|
4
|
+
import { sourceFetchData } from '@wix/bex-core';
|
|
4
5
|
import { PatternsFieldTypeToCmsFieldType } from '../adapter/cmsFieldTypeMap';
|
|
5
6
|
// The query endpoint's request options aren't exposed on any public entry, so
|
|
6
7
|
// reach into the items SDK internals to derive its URL (no @wix/data/meta entry).
|
|
@@ -30,7 +31,7 @@ function collectionResponse(collectionId, fields, displayField) {
|
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
|
-
* Routes the collection schema (`getDataCollection`) that `
|
|
34
|
+
* Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`
|
|
34
35
|
* loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance
|
|
35
36
|
* intercepts them by URL.
|
|
36
37
|
*/
|
|
@@ -97,11 +98,11 @@ function toResolver(items) {
|
|
|
97
98
|
/**
|
|
98
99
|
* Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a
|
|
99
100
|
* resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's
|
|
100
|
-
* `
|
|
101
|
+
* `sourceFetchData(source)`, so an in-memory source drives paging per request.
|
|
101
102
|
*/
|
|
102
103
|
export function mockCmsItems(fetchMock, options) {
|
|
103
104
|
const resolve = 'source' in options
|
|
104
|
-
? options.source
|
|
105
|
+
? sourceFetchData(options.source)
|
|
105
106
|
: toResolver(options.items);
|
|
106
107
|
const [url] = when(queryDataItemsMeta()).reply(null);
|
|
107
108
|
fetchMock.route(url, async (opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmsFetchMocks.js","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cmsFetchMocks.js","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.spec.d.ts","sourceRoot":"","sources":["../../../../src/adapter/__tests__/useCmsSchemaSource.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { CollectionBackend, Schema } from '@wix/bex-core';
|
|
1
|
+
import type { CollectionBackend, CollectionBackendBase, Schema } from '@wix/bex-core';
|
|
2
2
|
type SchemaFields = Schema['fields'];
|
|
3
|
+
/** CMS supports every item capability except `move`. */
|
|
4
|
+
export type CmsCollectionBackend<T extends Record<string, unknown> = Record<string, unknown>> = CollectionBackend<T> & Required<Omit<CollectionBackendBase<T>, 'move'>>;
|
|
3
5
|
/**
|
|
4
6
|
* Builds the `CollectionBackend` for a CMS collection over `@wix/data`. Reference
|
|
5
7
|
* fields are expanded via `.include(...)` on `get`/`find`.
|
|
6
8
|
*/
|
|
7
|
-
export declare function createCmsBackend<T extends Record<string, unknown> = Record<string, unknown>>(collectionId: string, fields: SchemaFields):
|
|
9
|
+
export declare function createCmsBackend<T extends Record<string, unknown> = Record<string, unknown>>(collectionId: string, fields: SchemaFields): CmsCollectionBackend<T>;
|
|
8
10
|
export {};
|
|
9
11
|
//# sourceMappingURL=createCmsBackend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsBackend.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"createCmsBackend.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsBackend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EACjB,qBAAqB,EAIrB,MAAM,EACP,MAAM,eAAe,CAAC;AAMvB,KAAK,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAuCrC,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACzD,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,CA6HrE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createCmsSchemaLoader, fetchCmsCollection, type CreateCmsSchemaLoaderDeps, } from './loadCmsSchema';
|
|
2
|
-
export {
|
|
2
|
+
export { useCmsSchemaSource, type UseCmsSchemaSourceDeps, } from './useCmsSchemaSource';
|
|
3
3
|
export { listCmsCollections, type CmsCollectionSummary, } from './listCmsCollections';
|
|
4
4
|
export { transformCmsSchema, type TransformCmsSchemaOptions, } from './transformCmsSchema';
|
|
5
5
|
export { createCmsBackend } from './createCmsBackend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformCmsSchema.d.ts","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,cAAc,EAClC,OAAO,GAAE,yBAA8B,GACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"transformCmsSchema.d.ts","sourceRoot":"","sources":["../../../src/adapter/transformCmsSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,CAAC,cAAc,EAClC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAsFR"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SchemaSource, SchemaSourceInput } from '@wix/bex-core';
|
|
2
|
+
import { type CreateCmsSchemaLoaderDeps } from './loadCmsSchema';
|
|
3
|
+
export interface UseCmsSchemaSourceDeps extends Omit<CreateCmsSchemaLoaderDeps, 'httpClient'> {
|
|
4
|
+
collectionId: string;
|
|
5
|
+
/** Default: the patterns container's client. */
|
|
6
|
+
httpClient?: CreateCmsSchemaLoaderDeps['httpClient'];
|
|
7
|
+
/** Seed sources for referenced collections, keyed by referenced collection
|
|
8
|
+
* id. Usually unnecessary — reference fields are resolved automatically from
|
|
9
|
+
* the loaded schema. Provide an entry only to override the auto-built one. */
|
|
10
|
+
references?: Record<string, SchemaSource<any>>;
|
|
11
|
+
}
|
|
12
|
+
export declare function cmsSchemaSourceInput<T extends Record<string, unknown> = Record<string, unknown>>(deps: UseCmsSchemaSourceDeps & Pick<CreateCmsSchemaLoaderDeps, 'httpClient'>): SchemaSourceInput<T>;
|
|
13
|
+
/**
|
|
14
|
+
* A ready-to-use `SchemaSource` for a CMS collection: wraps the CMS schema
|
|
15
|
+
* loader and supplies the CMS field types. Pass it to a `@wix/patterns/schema`
|
|
16
|
+
* collection hook.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useCmsSchemaSource<T extends Record<string, unknown> = Record<string, unknown>>(deps: UseCmsSchemaSourceDeps): SchemaSource<T>;
|
|
19
|
+
//# sourceMappingURL=useCmsSchemaSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.d.ts","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAWzB,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACrD;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CAChD;AAED,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE3D,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAC3E,iBAAiB,CAAC,CAAC,CAAC,CAqCtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC,CAAC,CAAC,CAQ/C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { collections } from '@wix/data';
|
|
2
|
+
import { sourceFetchData } from '@wix/bex-core';
|
|
2
3
|
import type { SchemaSource } from '@wix/bex-core';
|
|
3
4
|
import type { FetchMock } from 'fetch-mock';
|
|
4
5
|
export type WixDataFields = NonNullable<collections.GetDataCollectionResponse['collection']>['fields'];
|
|
@@ -16,15 +17,15 @@ export type MockCmsCollectionOptions<T extends Record<string, unknown> = Record<
|
|
|
16
17
|
source: SchemaSource<T>;
|
|
17
18
|
};
|
|
18
19
|
/**
|
|
19
|
-
* Routes the collection schema (`getDataCollection`) that `
|
|
20
|
+
* Routes the collection schema (`getDataCollection`) that `useCmsSchemaSource`
|
|
20
21
|
* loads. `@wix/data` issues real fetch calls; the caller's fetch-mock instance
|
|
21
22
|
* intercepts them by URL.
|
|
22
23
|
*/
|
|
23
24
|
export declare function mockCmsCollection<T extends Record<string, unknown> = Record<string, unknown>>(fetchMock: FetchMock, options: MockCmsCollectionOptions<T>): void;
|
|
24
|
-
type ItemsResolver<T> =
|
|
25
|
+
type ItemsResolver<T> = ReturnType<typeof sourceFetchData<T>>;
|
|
25
26
|
/**
|
|
26
27
|
* What `mockCmsItems` serves: either plain rows or a resolver that returns a page
|
|
27
|
-
* per query (a schema source's
|
|
28
|
+
* per query (a schema source's derived fetch is exactly a resolver).
|
|
28
29
|
*/
|
|
29
30
|
export type CmsItems<T extends Record<string, unknown>> = T[] | ItemsResolver<T>;
|
|
30
31
|
/**
|
|
@@ -40,7 +41,7 @@ export type MockCmsItemsOptions<T extends Record<string, unknown>> = {
|
|
|
40
41
|
/**
|
|
41
42
|
* Routes the collection's rows (`items.query(...).find()`). Pass plain rows, or a
|
|
42
43
|
* resolver `(query) => Promise<{ items, total }>` — the latter is a schema source's
|
|
43
|
-
* `
|
|
44
|
+
* `sourceFetchData(source)`, so an in-memory source drives paging per request.
|
|
44
45
|
*/
|
|
45
46
|
export declare function mockCmsItems<T extends Record<string, unknown>>(fetchMock: FetchMock, options: MockCmsItemsOptions<T>): void;
|
|
46
47
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmsFetchMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,WAAW,CACrC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,CACpD,CAAC,QAAQ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEzD;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAgChC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAwBlE;AA2BD,KAAK,aAAa,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"cmsFetchMocks.d.ts","sourceRoot":"","sources":["../../../src/testkit/cmsFetchMocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,aAAa,GAAG,WAAW,CACrC,WAAW,CAAC,yBAAyB,CAAC,YAAY,CAAC,CACpD,CAAC,QAAQ,CAAC,CAAC;AAEZ;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAEzD;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAgChC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAwBlE;AA2BD,KAAK,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAG9D;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAClD,CAAC,EAAE,GACH,aAAa,CAAC,CAAC,CAAC,CAAC;AAErB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC7D;IAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAsChC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,IAAI,CAcN"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/patterns-cms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cairo",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@babel/runtime": "^7.0.0",
|
|
31
|
-
"@wix/bex-core": "2.
|
|
32
|
-
"@wix/bex-utils": "2.
|
|
31
|
+
"@wix/bex-core": "2.336.0",
|
|
32
|
+
"@wix/bex-utils": "2.123.0",
|
|
33
33
|
"@wix/data": "^1.0.323",
|
|
34
34
|
"@wix/wix-data-items-sdk": "^1.0.504",
|
|
35
35
|
"lodash": "^4.17.20",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@wix/essentials": ">=0.1.26",
|
|
40
40
|
"@wix/sdk-testkit": ">=0.1.6",
|
|
41
|
-
"fetch-mock": ">=12.5.2"
|
|
41
|
+
"fetch-mock": ">=12.5.2",
|
|
42
|
+
"react": "^16.13.1 || ^17.0.0 || ^18.0.0"
|
|
42
43
|
},
|
|
43
44
|
"peerDependenciesMeta": {
|
|
44
45
|
"@wix/sdk-testkit": {
|
|
@@ -133,5 +134,5 @@
|
|
|
133
134
|
"wallaby": {
|
|
134
135
|
"autoDetect": true
|
|
135
136
|
},
|
|
136
|
-
"falconPackageHash": "
|
|
137
|
+
"falconPackageHash": "27c83118bf877a3a4fd8b401b06ecd9864e85679cfe165d8b1d9c36d"
|
|
137
138
|
}
|