This commit is contained in:
dream2023 2024-01-23 17:36:12 +08:00
parent 15c1f16eeb
commit 3090174df2
7 changed files with 159 additions and 56 deletions

View File

@ -93,6 +93,10 @@ export class CollectionV2 {
return this.options?.fields || [];
}
get dataSource() {
return this.options.dataSource;
}
get sourceKey() {
return this.options.sourceKey;
}

View File

@ -43,10 +43,10 @@ export const useCollectionManager = (dataSourceName?: string) => {
const compile = useCompile();
const getInheritedFields = useCallback(
(name: string, customNamespace?: string) => {
(name: string, customDataSource?: string) => {
return (
cm
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customNamespace || dataSourceNameValue })
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customDataSource || dataSourceNameValue })
?.getInheritedFields() || []
);
},
@ -54,12 +54,12 @@ export const useCollectionManager = (dataSourceName?: string) => {
);
const getCollectionFields = useCallback(
(name: any, customNamespace?: string): CollectionFieldOptions[] => {
(name: any, customDataSource?: string): CollectionFieldOptions[] => {
if (!name) return [];
return (
cm
?.getCollection<InheritanceCollectionMixin>(name, {
dataSource: customNamespace || dataSourceNameValue,
dataSource: customDataSource || dataSourceNameValue,
})
?.getAllFields() || []
);
@ -67,18 +67,18 @@ export const useCollectionManager = (dataSourceName?: string) => {
[cm],
);
const getCollectionField = useCallback(
(name: string, customNamespace?: string) => {
(name: string, customDataSource?: string) => {
if (!name || name.split('.').length < 2) return;
return cm?.getCollectionField(name, { dataSource: customNamespace || dataSourceNameValue });
return cm?.getCollectionField(name, { dataSource: customDataSource || dataSourceNameValue });
},
[cm],
);
const getInheritCollections = useCallback(
(name, customNamespace?: string) => {
(name, customDataSource?: string) => {
if (!name) return [];
return (
cm
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customNamespace || dataSourceNameValue })
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customDataSource || dataSourceNameValue })
?.getParentCollectionsName() || []
);
},
@ -86,22 +86,22 @@ export const useCollectionManager = (dataSourceName?: string) => {
);
const getChildrenCollections = useCallback(
(name: string, isSupportView = false, customNamespace?: string) => {
(name: string, isSupportView = false, customDataSource?: string) => {
if (!name) return [];
return (
cm
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customNamespace || dataSourceNameValue })
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customDataSource || dataSourceNameValue })
?.getChildrenCollections(isSupportView) || []
);
},
[cm],
);
const getCurrentCollectionFields = useCallback(
(name: string, customNamespace?: string) => {
(name: string, customDataSource?: string) => {
if (!name) return [];
return (
cm
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customNamespace || dataSourceNameValue })
?.getCollection<InheritanceCollectionMixin>(name, { dataSource: customDataSource || dataSourceNameValue })
?.getCurrentFields() || []
);
},
@ -214,18 +214,18 @@ export const useCollectionManager = (dataSourceName?: string) => {
);
const getCollection = useCallback(
(name: any, customNamespace?: string): CollectionOptions => {
return cm?.getCollection(name, { dataSource: customNamespace || dataSourceNameValue });
(name: any, customDataSource?: string): CollectionOptions => {
return cm?.getCollection(name, { dataSource: customDataSource || dataSourceNameValue });
},
[cm],
);
// 获取当前 collection 继承链路上的所有 collection
const getAllCollectionsInheritChain = useCallback(
(collectionName: string, customNamespace?: string) => {
(collectionName: string, customDataSource?: string) => {
return cm
?.getCollection<InheritanceCollectionMixin>(collectionName, {
dataSource: customNamespace || dataSourceNameValue,
dataSource: customDataSource || dataSourceNameValue,
})
?.getAllCollectionsInheritChain();
},
@ -238,10 +238,10 @@ export const useCollectionManager = (dataSourceName?: string) => {
* @returns
*/
const getInheritCollectionsChain = useCallback(
(collectionName: string, customNamespace?: string) => () => {
(collectionName: string, customDataSource?: string) => () => {
return cm
?.getCollection<InheritanceCollectionMixin>(collectionName, {
dataSource: customNamespace || dataSourceNameValue,
dataSource: customDataSource || dataSourceNameValue,
})
?.getInheritCollectionsChain();
},
@ -260,10 +260,10 @@ export const useCollectionManager = (dataSourceName?: string) => {
return !field.isForeignKey && getInterface(field.interface)?.titleUsable;
};
const getParentCollectionFields = (parentCollection, currentCollection, customNamespace?: string) => {
const getParentCollectionFields = (parentCollection, currentCollection, customDataSource?: string) => {
return cm
?.getCollection<InheritanceCollectionMixin>(currentCollection, {
dataSource: customNamespace || dataSourceNameValue,
dataSource: customDataSource || dataSourceNameValue,
})
?.getParentCollectionFields(parentCollection);
};

View File

@ -1,6 +1,6 @@
import { RecursionField, observer, useField, useFieldSchema } from '@formily/react';
import React, { useState } from 'react';
import { CollectionProvider } from '../../../../collection-manager';
import { CollectionProvider, useCollectionManager } from '../../../../collection-manager';
import { CreateAction } from '../../../../schema-initializer/components';
import { ActionContextProvider, useActionContext } from '../../action';
import { useAssociationFieldContext, useInsertSchema } from '../hooks';
@ -11,20 +11,24 @@ export const CreateRecordAction = observer(
const field: any = useField();
const fieldSchema = useFieldSchema();
const ctx = useActionContext();
const { getCollection } = useCollectionManager();
const insertAddNewer = useInsertSchema('AddNewer');
const { options: collectionField } = useAssociationFieldContext();
const [visibleAddNewer, setVisibleAddNewer] = useState(false);
const [currentCollection, setCurrentCollection] = useState(collectionField?.target);
const addbuttonClick = (name) => {
const targetCollection = getCollection(collectionField?.target);
const [currentCollection, setCurrentCollection] = useState(targetCollection?.name);
const [currentDataSource, setCurrentDataSource] = useState(targetCollection?.dataSource);
const addbuttonClick = (collectionData) => {
insertAddNewer(schema.AddNewer);
setVisibleAddNewer(true);
setCurrentCollection(name);
setCurrentCollection(collectionData.name);
setCurrentDataSource(collectionData.dataSource);
};
return (
<CollectionProvider name={collectionField?.target}>
<CreateAction {...props} onClick={(arg) => addbuttonClick(arg)} />
<ActionContextProvider value={{ ...ctx, visible: visibleAddNewer, setVisible: setVisibleAddNewer }}>
<CollectionProvider name={currentCollection}>
<CollectionProvider name={currentCollection} dataSource={currentDataSource}>
<RecursionField
onlyRenderProperties
basePath={field.address}

View File

@ -99,6 +99,7 @@ export const CreateRecordAction = observer(
const fieldSchema = useFieldSchema();
const field: any = useField();
const [currentCollection, setCurrentCollection] = useState(collection.name);
const [currentCollectionDataSource, setCurrentCollectionDataSource] = useState(collection.dataSource);
const linkageRules: any[] = fieldSchema?.['x-linkage-rules'] || [];
const values = useRecord();
const ctx = useActionContext();
@ -125,12 +126,13 @@ export const CreateRecordAction = observer(
<ActionContextProvider value={{ ...ctx, visible, setVisible }}>
<CreateAction
{...props}
onClick={(name) => {
onClick={(collectionData) => {
setVisible(true);
setCurrentCollection(name);
setCurrentCollection(collectionData.name);
setCurrentCollectionDataSource(collectionData.dataSource);
}}
/>
<CollectionProvider name={currentCollection}>
<CollectionProvider name={currentCollection} dataSource={currentCollectionDataSource}>
<RecursionField schema={fieldSchema} basePath={field.address} onlyRenderProperties />
</CollectionProvider>
</ActionContextProvider>
@ -181,7 +183,7 @@ export const CreateAction = observer(
return;
}
return {
...childCollection,
...childCollection.getOptions(),
title: k.title || childCollection.title,
};
})
@ -199,7 +201,7 @@ export const CreateAction = observer(
return inheritsCollections.map((option) => ({
key: option.name,
label: compile(option.title),
onClick: () => onClick?.(option.name),
onClick: () => onClick?.(option),
}));
}, [inheritsCollections, onClick]);
@ -276,6 +278,7 @@ function FinallyButton({
form;
designable: boolean;
}) {
const { getCollection } = useCollectionManager();
if (inheritsCollections?.length > 0) {
if (!linkageFromForm) {
return allowAddToCurrent === undefined || allowAddToCurrent ? (
@ -290,7 +293,7 @@ function FinallyButton({
]}
menu={menu}
onClick={(info) => {
onClick?.(collection.name);
onClick?.(collection);
}}
>
{icon}
@ -315,9 +318,10 @@ function FinallyButton({
icon={icon}
onClick={(info) => {
const collectionName = getLinkageCollection(linkageFromForm, form, field);
const targetCollection = inheritsCollections.find((v) => v.name === collectionName)
const targetCollectionName = inheritsCollections.find((v) => v.name === collectionName)
? collectionName
: collection.name;
const targetCollection = getCollection(targetCollectionName);
onClick?.(targetCollection);
}}
style={{
@ -338,7 +342,7 @@ function FinallyButton({
danger={props.danger}
icon={icon}
onClick={(info) => {
onClick?.(collection.name);
onClick?.(collection);
}}
style={{
display: !designable && field?.data?.hidden && 'none',

View File

@ -1,5 +1,5 @@
import { useFieldSchema } from '@formily/react';
import { MaybeCollectionProvider, useAPIClient, useRequest } from '@nocobase/client';
import { CollectionDataSourceProvider, MaybeCollectionProvider, useAPIClient, useRequest } from '@nocobase/client';
import React, { createContext, useContext } from 'react';
import { parseField, removeUnparsableFilter } from '../utils';
import { ChartDataContext } from '../block/ChartDataProvider';
@ -42,6 +42,7 @@ export type QueryProps = Partial<{
export type ChartRendererProps = {
collection: string;
dataSource?: string;
query?: QueryProps;
config?: {
chartType: string;
@ -60,7 +61,7 @@ export const ChartRendererContext = createContext<
>({} as any);
export const ChartRendererProvider: React.FC<ChartRendererProps> = (props) => {
const { query, config, collection, transform } = props;
const { query, config, collection, transform, dataSource } = props;
const { addChart } = useContext(ChartDataContext);
const { ready, form, enabled } = useContext(ChartFilterContext);
const { getFilter, hasFilter, appendFilter } = useChartFilter();
@ -122,12 +123,14 @@ export const ChartRendererProvider: React.FC<ChartRendererProps> = (props) => {
);
return (
<MaybeCollectionProvider collection={collection}>
<ConfigProvider card={{ style: { boxShadow: 'none' } }}>
<ChartRendererContext.Provider value={{ collection, config, transform, service, query }}>
{props.children}
</ChartRendererContext.Provider>
</ConfigProvider>
</MaybeCollectionProvider>
<CollectionDataSourceProvider dataSource={dataSource}>
<MaybeCollectionProvider collection={collection} dataSource={dataSource}>
<ConfigProvider card={{ style: { boxShadow: 'none' } }}>
<ChartRendererContext.Provider value={{ collection, config, transform, service, query }}>
{props.children}
</ChartRendererContext.Provider>
</ConfigProvider>
</MaybeCollectionProvider>
</CollectionDataSourceProvider>
);
};

View File

@ -5,6 +5,7 @@ import {
BlockAssociationContext,
BlockRequestContext,
BlockResourceContext,
CollectionDataSourceProvider,
FormBlockContext,
MaybeCollectionProvider,
RecordProvider,
@ -73,17 +74,19 @@ const BlockRequestProvider = (props) => {
};
const BlockProvider = (props) => {
const { collection, association } = props;
const { collection, association, dataSource } = props;
const resource = useResource(props);
return (
<MaybeCollectionProvider collection={collection}>
<BlockAssociationContext.Provider value={association}>
<BlockResourceContext.Provider value={resource}>
<BlockRequestProvider {...props}>{props.children}</BlockRequestProvider>
</BlockResourceContext.Provider>
</BlockAssociationContext.Provider>
</MaybeCollectionProvider>
<CollectionDataSourceProvider dataSource={dataSource}>
<MaybeCollectionProvider collection={collection}>
<BlockAssociationContext.Provider value={association}>
<BlockResourceContext.Provider value={resource}>
<BlockRequestProvider {...props}>{props.children}</BlockRequestProvider>
</BlockResourceContext.Provider>
</BlockAssociationContext.Provider>
</MaybeCollectionProvider>
</CollectionDataSourceProvider>
);
};

View File

@ -4507,6 +4507,15 @@
dependencies:
"@opentelemetry/semantic-conventions" "1.19.0"
"@opentelemetry/exporter-prometheus@^0.46.0":
version "0.46.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.46.0.tgz#c411a1e8a5266f9f3ddc44a088a538c3c1ee4830"
integrity sha512-AXcoCHG31K2PLGizlJJWcfQqZsGfUZkT7ik6C8VJu7U2Cenk0Xhvd3rO+vVNSSjP1+LHkP4MQtqEXpIZttw5cw==
dependencies:
"@opentelemetry/core" "1.19.0"
"@opentelemetry/resources" "1.19.0"
"@opentelemetry/sdk-metrics" "1.19.0"
"@opentelemetry/instrumentation@^0.46.0":
version "0.46.0"
resolved "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.46.0.tgz#a8a252306f82e2eace489312798592a14eb9830e"
@ -4540,7 +4549,7 @@
"@opentelemetry/core" "1.19.0"
"@opentelemetry/semantic-conventions" "1.19.0"
"@opentelemetry/sdk-metrics@^1.19.0":
"@opentelemetry/sdk-metrics@1.19.0", "@opentelemetry/sdk-metrics@^1.19.0":
version "1.19.0"
resolved "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.19.0.tgz#fe8029af29402563eb8dba75a85fc02006ea92c4"
integrity sha512-FiMii40zr0Fmys4F1i8gmuCvbinBnBsDeGBr4FQemOf0iPCLytYQm5AZJ/nn4xSc71IgKBQwTFQRAGJI7JvZ4Q==
@ -6430,6 +6439,15 @@
dependencies:
"@types/express" "*"
"@types/pg@^8.10.9":
version "8.10.9"
resolved "https://registry.yarnpkg.com/@types/pg/-/pg-8.10.9.tgz#d20bb948c6268c5bd847e2bf968f1194c5a2355a"
integrity sha512-UksbANNE/f8w0wOMxVKKIrLCbEMV+oM1uKejmwXr39olg4xqcfBDbXxObJAt6XxHbDa4XTKOlUEcEltXDX+XLQ==
dependencies:
"@types/node" "*"
pg-protocol "*"
pg-types "^4.0.1"
"@types/picomatch@*":
version "2.3.3"
resolved "https://registry.npmmirror.com/@types/picomatch/-/picomatch-2.3.3.tgz#be60498568c19e989e43fb39aa84be1ed3655e92"
@ -8569,7 +8587,7 @@ bessel@^1.0.2:
resolved "https://registry.npmmirror.com/bessel/-/bessel-1.0.2.tgz#828812291e0b62e94959cdea43fac186e8a7202d"
integrity sha512-Al3nHGQGqDYqqinXhQzmwmcRToe/3WyBv4N8aZc5Pef8xw2neZlR9VPi84Sa23JtgWcucu18HxVZrnI0fn2etw==
big-integer@^1.6.44:
big-integer@^1.6.44, big-integer@^1.6.48:
version "1.6.52"
resolved "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85"
integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==
@ -15916,6 +15934,11 @@ jest-worker@^29.7.0:
merge-stream "^2.0.0"
supports-color "^8.0.0"
jmespath@^0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076"
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
jose@^4.15.1:
version "4.15.4"
resolved "https://registry.npmmirror.com/jose/-/jose-4.15.4.tgz#02a9a763803e3872cf55f29ecef0dfdcc218cc03"
@ -16105,6 +16128,11 @@ json5@^2.1.2, json5@^2.2.2, json5@^2.2.3:
resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jsonata@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/jsonata/-/jsonata-2.0.3.tgz#f8971c2891cb1d6ebfeecbfe657ecc38c1b843a5"
integrity sha512-Up2H81MUtjqI/dWwWX7p4+bUMfMrQJVMN/jW6clFMTiYP528fBOBNtRu944QhKTs3+IsVWbgMeUTny5fw2VMUA==
jsonc-parser@^3.2.0:
version "3.2.0"
resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
@ -16138,6 +16166,11 @@ jsonparse@^1.2.0, jsonparse@^1.3.1:
resolved "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
jsonpath-plus@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz#7ad94e147b3ed42f7939c315d2b9ce490c5a3899"
integrity sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==
jsonwebtoken@^8.5.1:
version "8.5.1"
resolved "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
@ -18570,6 +18603,13 @@ node-releases@^2.0.14:
resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
node-sql-parser@^4.11.0:
version "4.17.0"
resolved "https://registry.yarnpkg.com/node-sql-parser/-/node-sql-parser-4.17.0.tgz#00d31b9943edd93f5a33cd2db2691df41a1e2225"
integrity sha512-3IhovpmUBpcETnoKK/KBdkz2mz53kVG5E1dnqz1QuYvtzdxYZW5xaGGEvW9u6Yyy2ivwR3eUZrn9inmEVef02w==
dependencies:
big-integer "^1.6.48"
node-xlsx@^0.16.1:
version "0.16.2"
resolved "https://registry.npmmirror.com/node-xlsx/-/node-xlsx-0.16.2.tgz#40f580187eae0e032cac96e958e97cb6ceca09f6"
@ -19033,7 +19073,7 @@ object.values@^1.1.6, object.values@^1.1.7:
define-properties "^1.2.0"
es-abstract "^1.22.1"
obuf@^1.0.0, obuf@^1.1.2:
obuf@^1.0.0, obuf@^1.1.2, obuf@~1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
@ -19862,12 +19902,17 @@ pg-int8@1.0.1:
resolved "https://registry.npmmirror.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c"
integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==
pg-numeric@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pg-numeric/-/pg-numeric-1.0.2.tgz#816d9a44026086ae8ae74839acd6a09b0636aa3a"
integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==
pg-pool@^3.6.1:
version "3.6.1"
resolved "https://registry.npmmirror.com/pg-pool/-/pg-pool-3.6.1.tgz#5a902eda79a8d7e3c928b77abf776b3cb7d351f7"
integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==
pg-protocol@^1.6.0:
pg-protocol@*, pg-protocol@^1.6.0:
version "1.6.0"
resolved "https://registry.npmmirror.com/pg-protocol/-/pg-protocol-1.6.0.tgz#4c91613c0315349363af2084608db843502f8833"
integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==
@ -19883,7 +19928,20 @@ pg-types@^2.1.0:
postgres-date "~1.0.4"
postgres-interval "^1.1.0"
pg@^8.7.3:
pg-types@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-4.0.2.tgz#399209a57c326f162461faa870145bb0f918b76d"
integrity sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==
dependencies:
pg-int8 "1.0.1"
pg-numeric "1.0.2"
postgres-array "~3.0.1"
postgres-bytea "~3.0.0"
postgres-date "~2.1.0"
postgres-interval "^3.0.0"
postgres-range "^1.1.1"
pg@^8.11.3, pg@^8.7.3:
version "8.11.3"
resolved "https://registry.npmmirror.com/pg/-/pg-8.11.3.tgz#d7db6e3fe268fcedd65b8e4599cda0b8b4bf76cb"
integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==
@ -20481,16 +20539,33 @@ postgres-array@~2.0.0:
resolved "https://registry.npmmirror.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e"
integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==
postgres-array@~3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-3.0.2.tgz#68d6182cb0f7f152a7e60dc6a6889ed74b0a5f98"
integrity sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==
postgres-bytea@~1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35"
integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==
postgres-bytea@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-3.0.0.tgz#9048dc461ac7ba70a6a42d109221619ecd1cb089"
integrity sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==
dependencies:
obuf "~1.1.2"
postgres-date@~1.0.4:
version "1.0.7"
resolved "https://registry.npmmirror.com/postgres-date/-/postgres-date-1.0.7.tgz#51bc086006005e5061c591cee727f2531bf641a8"
integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==
postgres-date@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-2.1.0.tgz#b85d3c1fb6fb3c6c8db1e9942a13a3bf625189d0"
integrity sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==
postgres-interval@^1.1.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695"
@ -20498,6 +20573,16 @@ postgres-interval@^1.1.0:
dependencies:
xtend "^4.0.0"
postgres-interval@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-3.0.0.tgz#baf7a8b3ebab19b7f38f07566c7aab0962f0c86a"
integrity sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==
postgres-range@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.3.tgz#9ccd7b01ca2789eb3c2e0888b3184225fa859f76"
integrity sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@ -22744,7 +22829,7 @@ sequelize-pool@^7.1.0:
resolved "https://registry.npmmirror.com/sequelize-pool/-/sequelize-pool-7.1.0.tgz#210b391af4002762f823188fd6ecfc7413020768"
integrity sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==
sequelize@^6.26.0:
sequelize@^6.26.0, sequelize@^6.35.0:
version "6.35.2"
resolved "https://registry.npmmirror.com/sequelize/-/sequelize-6.35.2.tgz#9276d24055a9a07bd6812c89ab402659f5853e70"
integrity sha512-EdzLaw2kK4/aOnWQ7ed/qh3B6/g+1DvmeXr66RwbcqSm/+QRS9X0LDI5INBibsy4eNJHWIRPo3+QK0zL+IPBHg==