fix(cm): default values for override (#1112)
* chore: test * chore: inherited-collection class * feat: collection inherit * feat: collection inherit * feat: inhertis sync runner * test: get parents fields * feat: collection inherit style promote * feat: sync * feat: sync alter table * feat: pgOnly Test * fix: child collection create api * feat: replace parent field * chore: reload parent fields * test: reload collection test * feat: details are displayed according to conditions * fix: typo * feat: inheritance map class * chore: is parent node * feat: display where child row created from * fix: find with appends * feat: add parent collection fields * fix: create table * feat: load fields for all children * refactor: sync fields from parent * test: has one field inhertis * feat: replace child association target * feat: should not replace child field when parent field update * test: should update inherit field when parent field update * feat: only the blocks directly inherited from the current data are displayed * fix: inherit from multiple collections * feat: only the blocks directly inherited from the current data are displayed * fix: test * feat: parent collection expend * fix: test * test: belongsToMany inherits * test: belongsToMany inherits * feat: block display * feat: collection inherite * feat: collection inherite * feat: multiple inherits * fix: sync runner * feat: collection inherite * feat: collecton inherits * feat: cannot be modified after inheritance and saving * feat: collection inherit for graph * feat: collection inherits * fix: drop inhertied field * fix: should throw error when type conflit * feat: output inherited fields * feat: bulk update collection fields * feat: collection fields * feat: collection fields * test: create relation with child table * fix: test * fix: test * fix: test * feat: style impove * test: should not replace field with difference type * feat: add text * fix: throw error when replace field with difference type * feat: overriding * feat: kan bankanban group fields * feat: calendar block fields * feat: kan bankanban group fields * fix: test * feat: relationship fields * feat: should delete child's field when parent field deleted * feat: foreign key filter * fix: build error & multiple inherit destory field * fix: test * chore: disable error * feat: no recursive update associations (#1091) * feat: update associations * fix(collection-manager): should update uiSchema * chore: flip if * feat: mutile inherits * feat: db dialect * feat: inherits show by database * chore: git hash into docker image * fix: js gzip * fix: dockerfile * chore: error message * feat: overriding * feat: overriding * feat: overriding * feat: local * feat: filter fields by interface * fix: database logging env * test: replace hasOne target * feat: add view * feat: local * feat: enableInherits * chore: error message * feat: enableInherits * feat: code optimization * feat: code optimization * feat: code optimization * feat: override select * feat: override select * feat: override select * feat: override select * feat: override * feat: override Co-authored-by: chareice <chareice@live.com> Co-authored-by: chenos <chenlinxh@gmail.com>
This commit is contained in:
		
							parent
							
								
									c861a6884a
								
							
						
					
					
						commit
						f4e850059a
					
				@ -14,6 +14,8 @@ import {
 | 
			
		||||
  useSchemaInitializer,
 | 
			
		||||
  useRecord,
 | 
			
		||||
  useCompile,
 | 
			
		||||
  SchemaComponent,
 | 
			
		||||
  useCollection,
 | 
			
		||||
} from '../..';
 | 
			
		||||
import { overridingSchema } from '../Configuration/schemas/collectionFields';
 | 
			
		||||
 | 
			
		||||
@ -191,60 +193,59 @@ export const CollectionFieldsTableArray: React.FC<any> = observer((props) => {
 | 
			
		||||
    });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  const getIsOverriding = (record) => {
 | 
			
		||||
    const flag = currentFields.find((v) => {
 | 
			
		||||
      return v.name === record.name;
 | 
			
		||||
    });
 | 
			
		||||
    return !flag;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  const expandedRowRender = (record: CategorizeDataItem, index, indent, expanded) => {
 | 
			
		||||
    const columns = useTableColumns();
 | 
			
		||||
    if (inherits.includes(record.key)) {
 | 
			
		||||
      columns.pop();
 | 
			
		||||
      columns.push({
 | 
			
		||||
        title: <RecursionField name={'column4'} schema={overridingSchema as Schema} onlyRenderSelf />,
 | 
			
		||||
        dataIndex: 'column4',
 | 
			
		||||
        key: 'column4',
 | 
			
		||||
        render: (v, record) => {
 | 
			
		||||
          const index = findIndex(field.value, record);
 | 
			
		||||
          const flag = getIsOverriding(record);
 | 
			
		||||
          //@ts-ignore
 | 
			
		||||
          overridingSchema.properties.actions.properties.overriding['x-visible'] = flag;
 | 
			
		||||
          return (
 | 
			
		||||
            <RecordIndexProvider index={index}>
 | 
			
		||||
              <RecordProvider record={record}>
 | 
			
		||||
                <RecursionField schema={overridingSchema as Schema} name={index} onlyRenderProperties />
 | 
			
		||||
              </RecordProvider>
 | 
			
		||||
            </RecordIndexProvider>
 | 
			
		||||
          );
 | 
			
		||||
        },
 | 
			
		||||
      });
 | 
			
		||||
    if(!props.loading){
 | 
			
		||||
      const columns = useTableColumns();
 | 
			
		||||
      if (inherits.includes(record.key)) {
 | 
			
		||||
        columns.pop();
 | 
			
		||||
        columns.push({
 | 
			
		||||
          title: <RecursionField name={'column4'} schema={overridingSchema as Schema} onlyRenderSelf />,
 | 
			
		||||
          dataIndex: 'column4',
 | 
			
		||||
          key: 'column4',
 | 
			
		||||
          render: (v, record) => {
 | 
			
		||||
            const index = findIndex(field.value, record);
 | 
			
		||||
            return (
 | 
			
		||||
              <RecordIndexProvider index={index}>
 | 
			
		||||
                <RecordProvider record={record}>
 | 
			
		||||
                  <SchemaComponent
 | 
			
		||||
                    scope={{ currentCollection: name }}
 | 
			
		||||
                    schema={overridingSchema as Schema}
 | 
			
		||||
                    name={index}
 | 
			
		||||
                    onlyRenderProperties
 | 
			
		||||
                  />
 | 
			
		||||
                </RecordProvider>
 | 
			
		||||
              </RecordIndexProvider>
 | 
			
		||||
            );
 | 
			
		||||
          },
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
      const restProps = {
 | 
			
		||||
        rowSelection:
 | 
			
		||||
          props.rowSelection && !inherits.includes(record.key)
 | 
			
		||||
            ? {
 | 
			
		||||
                type: 'checkbox',
 | 
			
		||||
                selectedRowKeys,
 | 
			
		||||
                onChange(selectedRowKeys: any[]) {
 | 
			
		||||
                  setSelectedRowKeys(selectedRowKeys);
 | 
			
		||||
                },
 | 
			
		||||
                ...props.rowSelection,
 | 
			
		||||
              }
 | 
			
		||||
            : undefined,
 | 
			
		||||
      };
 | 
			
		||||
      return (
 | 
			
		||||
        <Table
 | 
			
		||||
          {...others}
 | 
			
		||||
          {...restProps}
 | 
			
		||||
          components={components}
 | 
			
		||||
          showHeader={true}
 | 
			
		||||
          columns={columns}
 | 
			
		||||
          dataSource={record.data}
 | 
			
		||||
          pagination={false}
 | 
			
		||||
        />
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
    const restProps = {
 | 
			
		||||
      rowSelection:
 | 
			
		||||
        props.rowSelection && !inherits.includes(record.key)
 | 
			
		||||
          ? {
 | 
			
		||||
              type: 'checkbox',
 | 
			
		||||
              selectedRowKeys,
 | 
			
		||||
              onChange(selectedRowKeys: any[]) {
 | 
			
		||||
                setSelectedRowKeys(selectedRowKeys);
 | 
			
		||||
              },
 | 
			
		||||
              ...props.rowSelection,
 | 
			
		||||
            }
 | 
			
		||||
          : undefined,
 | 
			
		||||
    };
 | 
			
		||||
    return (
 | 
			
		||||
      <Table
 | 
			
		||||
        {...others}
 | 
			
		||||
        {...restProps}
 | 
			
		||||
        components={components}
 | 
			
		||||
        showHeader={true}
 | 
			
		||||
        columns={columns}
 | 
			
		||||
        dataSource={record.data}
 | 
			
		||||
        pagination={false}
 | 
			
		||||
      />
 | 
			
		||||
    );
 | 
			
		||||
   
 | 
			
		||||
  };
 | 
			
		||||
  return (
 | 
			
		||||
    <div
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@ import { ArrayTable } from '@formily/antd';
 | 
			
		||||
import { ISchema, useForm } from '@formily/react';
 | 
			
		||||
import { uid } from '@formily/shared';
 | 
			
		||||
import cloneDeep from 'lodash/cloneDeep';
 | 
			
		||||
import set from 'lodash/set';
 | 
			
		||||
import { set, omit } from 'lodash';
 | 
			
		||||
import React, { useState } from 'react';
 | 
			
		||||
import { useTranslation } from 'react-i18next';
 | 
			
		||||
import { useAPIClient, useRequest } from '../../api-client';
 | 
			
		||||
@ -92,19 +92,17 @@ const useOverridingCollectionField = () => {
 | 
			
		||||
    async run() {
 | 
			
		||||
      await form.submit();
 | 
			
		||||
      const values = cloneDeep(form.values);
 | 
			
		||||
      if (values.autoCreateReverseField) {
 | 
			
		||||
      } else {
 | 
			
		||||
        delete values.reverseField;
 | 
			
		||||
      }
 | 
			
		||||
      delete values.autoCreateReverseField;
 | 
			
		||||
      const { uiSchema } = values;
 | 
			
		||||
      delete values.collectionName;
 | 
			
		||||
      delete values.key;
 | 
			
		||||
      const data = omit(values, [
 | 
			
		||||
        'key',
 | 
			
		||||
        'uiSchemaUid',
 | 
			
		||||
        'collectionName',
 | 
			
		||||
        'autoCreateReverseField',
 | 
			
		||||
        'uiSchema.x-uid',
 | 
			
		||||
        'reverseField.key',
 | 
			
		||||
        'reverseField.uiSchemaUid',
 | 
			
		||||
      ]);
 | 
			
		||||
      await resource.create({
 | 
			
		||||
        values: {
 | 
			
		||||
          ...values,
 | 
			
		||||
          uiSchema: { title: uiSchema.title, type: uiSchema.type, 'x-component': uiSchema['x-component'] },
 | 
			
		||||
        },
 | 
			
		||||
        values: data,
 | 
			
		||||
      });
 | 
			
		||||
      ctx.setVisible(false);
 | 
			
		||||
      await form.reset();
 | 
			
		||||
@ -119,45 +117,56 @@ export const OverridingCollectionField = (props) => {
 | 
			
		||||
  return <OverridingFieldAction item={record} {...props} />;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const getIsOverriding = (currentFields, record) => {
 | 
			
		||||
  const flag = currentFields.find((v) => {
 | 
			
		||||
    return v.name === record.name;
 | 
			
		||||
  });
 | 
			
		||||
  return flag;
 | 
			
		||||
};
 | 
			
		||||
export const OverridingFieldAction = (props) => {
 | 
			
		||||
  const { scope, getContainer, item: record, children } = props;
 | 
			
		||||
  const { getInterface } = useCollectionManager();
 | 
			
		||||
  const { scope, getContainer, item: record, children, currentCollection } = props;
 | 
			
		||||
  const { getInterface, getCurrentCollectionFields } = useCollectionManager();
 | 
			
		||||
  const [visible, setVisible] = useState(false);
 | 
			
		||||
  const [schema, setSchema] = useState({});
 | 
			
		||||
  const api = useAPIClient();
 | 
			
		||||
  const { t } = useTranslation();
 | 
			
		||||
  const compile = useCompile();
 | 
			
		||||
  const [data, setData] = useState<any>({});
 | 
			
		||||
 | 
			
		||||
  const currentFields = getCurrentCollectionFields(currentCollection);
 | 
			
		||||
  const disabled = getIsOverriding(currentFields, record);
 | 
			
		||||
  return (
 | 
			
		||||
    <RecordProvider record={record}>
 | 
			
		||||
      <ActionContext.Provider value={{ visible, setVisible }}>
 | 
			
		||||
        <a
 | 
			
		||||
          //@ts-ignore
 | 
			
		||||
          disabled={disabled}
 | 
			
		||||
          onClick={async () => {
 | 
			
		||||
            const { data } = await api.resource('collections.fields', record.collectionName).get({
 | 
			
		||||
              filterByTk: record.name,
 | 
			
		||||
              appends: ['uiSchema', 'reverseField'],
 | 
			
		||||
            });
 | 
			
		||||
            setData(data?.data);
 | 
			
		||||
            const interfaceConf = getInterface(record.interface);
 | 
			
		||||
            const defaultValues: any = cloneDeep(data?.data) || {};
 | 
			
		||||
            if (!defaultValues?.reverseField) {
 | 
			
		||||
              defaultValues.autoCreateReverseField = false;
 | 
			
		||||
              defaultValues.reverseField = interfaceConf.default?.reverseField;
 | 
			
		||||
              set(defaultValues.reverseField, 'name', `f_${uid()}`);
 | 
			
		||||
              set(defaultValues.reverseField, 'uiSchema.title', record.__parent.title);
 | 
			
		||||
            if (!disabled) {
 | 
			
		||||
              const { data } = await api.resource('collections.fields', record.collectionName).get({
 | 
			
		||||
                filterByTk: record.name,
 | 
			
		||||
                appends: ['uiSchema', 'reverseField'],
 | 
			
		||||
              });
 | 
			
		||||
              setData(data?.data);
 | 
			
		||||
              const interfaceConf = getInterface(record.interface);
 | 
			
		||||
              const defaultValues: any = cloneDeep(data?.data) || {};
 | 
			
		||||
              if (!defaultValues?.reverseField) {
 | 
			
		||||
                defaultValues.autoCreateReverseField = false;
 | 
			
		||||
                defaultValues.reverseField = interfaceConf.default?.reverseField;
 | 
			
		||||
                set(defaultValues.reverseField, 'name', `f_${uid()}`);
 | 
			
		||||
                set(defaultValues.reverseField, 'uiSchema.title', record.__parent.title);
 | 
			
		||||
              }
 | 
			
		||||
              const schema = getSchema(
 | 
			
		||||
                {
 | 
			
		||||
                  ...interfaceConf,
 | 
			
		||||
                  default: defaultValues,
 | 
			
		||||
                },
 | 
			
		||||
                record,
 | 
			
		||||
                compile,
 | 
			
		||||
                getContainer,
 | 
			
		||||
              );
 | 
			
		||||
              setSchema(schema);
 | 
			
		||||
              setVisible(true);
 | 
			
		||||
            }
 | 
			
		||||
            const schema = getSchema(
 | 
			
		||||
              {
 | 
			
		||||
                ...interfaceConf,
 | 
			
		||||
                default: defaultValues,
 | 
			
		||||
              },
 | 
			
		||||
              record,
 | 
			
		||||
              compile,
 | 
			
		||||
              getContainer,
 | 
			
		||||
            );
 | 
			
		||||
            setSchema(schema);
 | 
			
		||||
            setVisible(true);
 | 
			
		||||
          }}
 | 
			
		||||
        >
 | 
			
		||||
          {children || t('Override')}
 | 
			
		||||
 | 
			
		||||
@ -223,18 +223,18 @@ export const overridingSchema: ISchema = {
 | 
			
		||||
          'x-component': 'OverridingCollectionField',
 | 
			
		||||
          'x-component-props': {
 | 
			
		||||
            type: 'primary',
 | 
			
		||||
            'currentCollection': '{{ currentCollection }}',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        view:{
 | 
			
		||||
        view: {
 | 
			
		||||
          type: 'void',
 | 
			
		||||
          title: '{{ t("View") }}',
 | 
			
		||||
          'x-component': 'ViewCollectionField',
 | 
			
		||||
          'x-component-props': {
 | 
			
		||||
            type: 'primary',
 | 
			
		||||
          },
 | 
			
		||||
        }
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										136
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								yarn.lock
									
									
									
									
									
								
							@ -2770,11 +2770,6 @@
 | 
			
		||||
    exec-sh "^0.3.2"
 | 
			
		||||
    minimist "^1.2.0"
 | 
			
		||||
 | 
			
		||||
"@colors/colors@1.5.0":
 | 
			
		||||
  version "1.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
 | 
			
		||||
  integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
 | 
			
		||||
 | 
			
		||||
"@commitlint/cli@^16.1.0":
 | 
			
		||||
  version "16.1.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-16.1.0.tgz#022ad86008374b02974c9f3faf86affb785f4574"
 | 
			
		||||
@ -2969,15 +2964,6 @@
 | 
			
		||||
  resolved "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f"
 | 
			
		||||
  integrity sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==
 | 
			
		||||
 | 
			
		||||
"@dabh/diagnostics@^2.0.2":
 | 
			
		||||
  version "2.0.3"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
 | 
			
		||||
  integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    colorspace "1.1.x"
 | 
			
		||||
    enabled "2.0.x"
 | 
			
		||||
    kuler "^2.0.0"
 | 
			
		||||
 | 
			
		||||
"@dnd-kit/accessibility@^3.0.0":
 | 
			
		||||
  version "3.0.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.0.0.tgz#b56e3750414fd907b7d6972b3116aa8f96d07fde"
 | 
			
		||||
@ -6944,11 +6930,6 @@ async@^2.6.3, async@~2.6.1:
 | 
			
		||||
  dependencies:
 | 
			
		||||
    lodash "^4.17.14"
 | 
			
		||||
 | 
			
		||||
async@^3.2.3:
 | 
			
		||||
  version "3.2.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
 | 
			
		||||
  integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
 | 
			
		||||
 | 
			
		||||
asynckit@^0.4.0:
 | 
			
		||||
  version "0.4.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
 | 
			
		||||
@ -8322,7 +8303,7 @@ color-support@^1.1.2, color-support@^1.1.3:
 | 
			
		||||
  resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
 | 
			
		||||
  integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
 | 
			
		||||
 | 
			
		||||
color@^3.0.0, color@^3.1.3:
 | 
			
		||||
color@^3.0.0:
 | 
			
		||||
  version "3.2.1"
 | 
			
		||||
  resolved "https://registry.npmjs.org/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
 | 
			
		||||
  integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
 | 
			
		||||
@ -8345,14 +8326,6 @@ colors@~1.2.1:
 | 
			
		||||
  resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
 | 
			
		||||
  integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
 | 
			
		||||
 | 
			
		||||
colorspace@1.1.x:
 | 
			
		||||
  version "1.1.4"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
 | 
			
		||||
  integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    color "^3.1.3"
 | 
			
		||||
    text-hex "1.0.x"
 | 
			
		||||
 | 
			
		||||
columnify@^1.5.4:
 | 
			
		||||
  version "1.5.4"
 | 
			
		||||
  resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
 | 
			
		||||
@ -10023,11 +9996,6 @@ emojis-list@^3.0.0:
 | 
			
		||||
  resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
 | 
			
		||||
  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
 | 
			
		||||
 | 
			
		||||
enabled@2.0.x:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
 | 
			
		||||
  integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
 | 
			
		||||
 | 
			
		||||
encodeurl@^1.0.2:
 | 
			
		||||
  version "1.0.2"
 | 
			
		||||
  resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
 | 
			
		||||
@ -10916,7 +10884,7 @@ fclone@1.0.11, fclone@~1.0.11:
 | 
			
		||||
  resolved "https://registry.npmjs.org/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640"
 | 
			
		||||
  integrity sha1-EOhdo4v+p/xZk0HClu4ddyZu5kA=
 | 
			
		||||
 | 
			
		||||
fecha@^4.2.0, fecha@~4.2.0:
 | 
			
		||||
fecha@~4.2.0:
 | 
			
		||||
  version "4.2.3"
 | 
			
		||||
  resolved "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
 | 
			
		||||
  integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
 | 
			
		||||
@ -10947,13 +10915,6 @@ file-saver@^2.0.5:
 | 
			
		||||
  resolved "https://registry.npmmirror.com/file-saver/download/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
 | 
			
		||||
  integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
 | 
			
		||||
 | 
			
		||||
file-stream-rotator@^0.6.1:
 | 
			
		||||
  version "0.6.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz#007019e735b262bb6c6f0197e58e5c87cb96cec3"
 | 
			
		||||
  integrity sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    moment "^2.29.1"
 | 
			
		||||
 | 
			
		||||
file-type@^3.3.0:
 | 
			
		||||
  version "3.9.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
 | 
			
		||||
@ -11125,11 +11086,6 @@ fmin@^0.0.2:
 | 
			
		||||
    tape "^4.5.1"
 | 
			
		||||
    uglify-js "^2.6.2"
 | 
			
		||||
 | 
			
		||||
fn.name@1.x.x:
 | 
			
		||||
  version "1.1.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
 | 
			
		||||
  integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
 | 
			
		||||
 | 
			
		||||
follow-redirects@^1.14.0, follow-redirects@^1.14.8:
 | 
			
		||||
  version "1.14.9"
 | 
			
		||||
  resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
 | 
			
		||||
@ -14631,11 +14587,6 @@ koa@^2.13.4:
 | 
			
		||||
    type-is "^1.6.16"
 | 
			
		||||
    vary "^1.1.2"
 | 
			
		||||
 | 
			
		||||
kuler@^2.0.0:
 | 
			
		||||
  version "2.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
 | 
			
		||||
  integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
 | 
			
		||||
 | 
			
		||||
latest-version@^3.0.0:
 | 
			
		||||
  version "3.1.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
 | 
			
		||||
@ -15043,17 +14994,6 @@ log-driver@^1.2.7:
 | 
			
		||||
  resolved "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8"
 | 
			
		||||
  integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==
 | 
			
		||||
 | 
			
		||||
logform@^2.3.2, logform@^2.4.0:
 | 
			
		||||
  version "2.4.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.2.tgz#a617983ac0334d0c3b942c34945380062795b47c"
 | 
			
		||||
  integrity sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@colors/colors" "1.5.0"
 | 
			
		||||
    fecha "^4.2.0"
 | 
			
		||||
    ms "^2.1.1"
 | 
			
		||||
    safe-stable-stringify "^2.3.1"
 | 
			
		||||
    triple-beam "^1.3.0"
 | 
			
		||||
 | 
			
		||||
long@^4.0.0:
 | 
			
		||||
  version "4.0.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
 | 
			
		||||
@ -15939,7 +15879,7 @@ moment-timezone@^0.5.31:
 | 
			
		||||
  dependencies:
 | 
			
		||||
    moment ">= 2.9.0"
 | 
			
		||||
 | 
			
		||||
moment@2.x, moment@^2.29.1:
 | 
			
		||||
moment@2.x:
 | 
			
		||||
  version "2.29.4"
 | 
			
		||||
  resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
 | 
			
		||||
  integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
 | 
			
		||||
@ -16639,11 +16579,6 @@ object-copy@^0.1.0:
 | 
			
		||||
    define-property "^0.2.5"
 | 
			
		||||
    kind-of "^3.0.3"
 | 
			
		||||
 | 
			
		||||
object-hash@^2.0.1:
 | 
			
		||||
  version "2.2.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5"
 | 
			
		||||
  integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==
 | 
			
		||||
 | 
			
		||||
object-inspect@^1.11.0, object-inspect@^1.9.0:
 | 
			
		||||
  version "1.11.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
 | 
			
		||||
@ -16764,13 +16699,6 @@ once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
 | 
			
		||||
  dependencies:
 | 
			
		||||
    wrappy "1"
 | 
			
		||||
 | 
			
		||||
one-time@^1.0.0:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
 | 
			
		||||
  integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    fn.name "1.x.x"
 | 
			
		||||
 | 
			
		||||
onetime@^2.0.0:
 | 
			
		||||
  version "2.0.1"
 | 
			
		||||
  resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
 | 
			
		||||
@ -19705,7 +19633,7 @@ readable-stream@1.1.x:
 | 
			
		||||
    isarray "0.0.1"
 | 
			
		||||
    string_decoder "~0.10.x"
 | 
			
		||||
 | 
			
		||||
"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0:
 | 
			
		||||
"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.6.0:
 | 
			
		||||
  version "3.6.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
 | 
			
		||||
  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
 | 
			
		||||
@ -20586,11 +20514,6 @@ safe-regex@^1.1.0:
 | 
			
		||||
  dependencies:
 | 
			
		||||
    ret "~0.1.10"
 | 
			
		||||
 | 
			
		||||
safe-stable-stringify@^2.3.1:
 | 
			
		||||
  version "2.4.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.1.tgz#34694bd8a30575b7f94792aa51527551bd733d61"
 | 
			
		||||
  integrity sha512-dVHE6bMtS/bnL2mwualjc6IxEv1F+OCUpA46pKUj6F8uDbUM0jCCulPqRNPSnWwGNKx5etqMjZYdXtrm5KJZGA==
 | 
			
		||||
 | 
			
		||||
"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
 | 
			
		||||
  version "2.1.2"
 | 
			
		||||
  resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
 | 
			
		||||
@ -21279,11 +21202,6 @@ stable@^0.1.8:
 | 
			
		||||
  resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
 | 
			
		||||
  integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
 | 
			
		||||
 | 
			
		||||
stack-trace@0.0.x:
 | 
			
		||||
  version "0.0.10"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
 | 
			
		||||
  integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
 | 
			
		||||
 | 
			
		||||
stack-utils@^1.0.1:
 | 
			
		||||
  version "1.0.5"
 | 
			
		||||
  resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b"
 | 
			
		||||
@ -21923,11 +21841,6 @@ text-extensions@^1.0.0:
 | 
			
		||||
  resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26"
 | 
			
		||||
  integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==
 | 
			
		||||
 | 
			
		||||
text-hex@1.0.x:
 | 
			
		||||
  version "1.0.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
 | 
			
		||||
  integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
 | 
			
		||||
 | 
			
		||||
text-table@^0.2.0:
 | 
			
		||||
  version "0.2.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
 | 
			
		||||
@ -22185,11 +22098,6 @@ trim-newlines@^3.0.0:
 | 
			
		||||
  resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
 | 
			
		||||
  integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
 | 
			
		||||
 | 
			
		||||
triple-beam@^1.3.0:
 | 
			
		||||
  version "1.3.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
 | 
			
		||||
  integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
 | 
			
		||||
 | 
			
		||||
trough@^1.0.0:
 | 
			
		||||
  version "1.0.5"
 | 
			
		||||
  resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
 | 
			
		||||
@ -23411,42 +23319,6 @@ window-size@0.1.0:
 | 
			
		||||
  resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
 | 
			
		||||
  integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
 | 
			
		||||
 | 
			
		||||
winston-daily-rotate-file@^4.7.1:
 | 
			
		||||
  version "4.7.1"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f"
 | 
			
		||||
  integrity sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    file-stream-rotator "^0.6.1"
 | 
			
		||||
    object-hash "^2.0.1"
 | 
			
		||||
    triple-beam "^1.3.0"
 | 
			
		||||
    winston-transport "^4.4.0"
 | 
			
		||||
 | 
			
		||||
winston-transport@^4.4.0, winston-transport@^4.5.0:
 | 
			
		||||
  version "4.5.0"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa"
 | 
			
		||||
  integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    logform "^2.3.2"
 | 
			
		||||
    readable-stream "^3.6.0"
 | 
			
		||||
    triple-beam "^1.3.0"
 | 
			
		||||
 | 
			
		||||
winston@^3.8.2:
 | 
			
		||||
  version "3.8.2"
 | 
			
		||||
  resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50"
 | 
			
		||||
  integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==
 | 
			
		||||
  dependencies:
 | 
			
		||||
    "@colors/colors" "1.5.0"
 | 
			
		||||
    "@dabh/diagnostics" "^2.0.2"
 | 
			
		||||
    async "^3.2.3"
 | 
			
		||||
    is-stream "^2.0.0"
 | 
			
		||||
    logform "^2.4.0"
 | 
			
		||||
    one-time "^1.0.0"
 | 
			
		||||
    readable-stream "^3.4.0"
 | 
			
		||||
    safe-stable-stringify "^2.3.1"
 | 
			
		||||
    stack-trace "0.0.x"
 | 
			
		||||
    triple-beam "^1.3.0"
 | 
			
		||||
    winston-transport "^4.5.0"
 | 
			
		||||
 | 
			
		||||
wkx@^0.5.0:
 | 
			
		||||
  version "0.5.0"
 | 
			
		||||
  resolved "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz#c6c37019acf40e517cc6b94657a25a3d4aa33e8c"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user