mirror of
https://github.com/lingble/twenty.git
synced 2025-11-01 13:17:57 +00:00
Add metadata query resolvers (#1929)
* Add metadata queries resolvers * remove hello field * fix linter
This commit is contained in:
@@ -50,6 +50,9 @@
|
||||
"@nestjs/typeorm": "^10.0.0",
|
||||
"@paljs/plugins": "^5.3.3",
|
||||
"@prisma/client": "4.13.0",
|
||||
"@ptc-org/nestjs-query-core": "^4.2.0",
|
||||
"@ptc-org/nestjs-query-graphql": "^4.2.0",
|
||||
"@ptc-org/nestjs-query-typeorm": "^4.2.1-alpha.2",
|
||||
"@sentry/node": "^7.66.0",
|
||||
"@sentry/tracing": "^7.66.0",
|
||||
"@types/lodash.camelcase": "^4.3.7",
|
||||
@@ -62,10 +65,12 @@
|
||||
"bytes": "^3.1.2",
|
||||
"class-transformer": "^0.5.1",
|
||||
"class-validator": "^0.14.0",
|
||||
"dataloader": "^2.2.2",
|
||||
"date-fns": "^2.30.0",
|
||||
"file-type": "16.5.4",
|
||||
"graphql": "^16.8.0",
|
||||
"graphql": "16.8.0",
|
||||
"graphql-fields": "^2.0.3",
|
||||
"graphql-subscriptions": "2.0.0",
|
||||
"graphql-type-json": "^0.3.2",
|
||||
"graphql-upload": "^13.0.0",
|
||||
"graphql-yoga": "^4.0.4",
|
||||
|
||||
60
server/patches/@ptc-org+nestjs-query-graphql+4.2.0.patch
Normal file
60
server/patches/@ptc-org+nestjs-query-graphql+4.2.0.patch
Normal file
@@ -0,0 +1,60 @@
|
||||
diff --git a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/cursor/page-info.type.js b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/cursor/page-info.type.js
|
||||
index 00d836d..8eef442 100644
|
||||
--- a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/cursor/page-info.type.js
|
||||
+++ b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/cursor/page-info.type.js
|
||||
@@ -39,7 +39,6 @@ const getOrCreatePageInfoType = () => {
|
||||
tslib_1.__metadata("design:type", String)
|
||||
], PageInfoTypeImpl.prototype, "endCursor", void 0);
|
||||
PageInfoTypeImpl = tslib_1.__decorate([
|
||||
- (0, graphql_1.Directive)('@shareable'),
|
||||
(0, graphql_1.ObjectType)('PageInfo'),
|
||||
tslib_1.__metadata("design:paramtypes", [Boolean, Boolean, String, String])
|
||||
], PageInfoTypeImpl);
|
||||
diff --git a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-connection.type.js b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-connection.type.js
|
||||
index b47564f..d33f391 100644
|
||||
--- a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-connection.type.js
|
||||
+++ b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-connection.type.js
|
||||
@@ -64,7 +64,6 @@ function getOrCreateOffsetConnectionType(TItemClass, opts) {
|
||||
tslib_1.__metadata("design:paramtypes", [])
|
||||
], AbstractConnection.prototype, "totalCount", null);
|
||||
AbstractConnection = AbstractConnection_1 = tslib_1.__decorate([
|
||||
- (0, graphql_1.Directive)('@shareable'),
|
||||
(0, graphql_1.ObjectType)(connectionName),
|
||||
tslib_1.__metadata("design:paramtypes", [Object, Array, Function])
|
||||
], AbstractConnection);
|
||||
diff --git a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-page-info.type.js b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-page-info.type.js
|
||||
index 4803306..d459b16 100644
|
||||
--- a/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-page-info.type.js
|
||||
+++ b/node_modules/@ptc-org/nestjs-query-graphql/src/types/connection/offset/offset-page-info.type.js
|
||||
@@ -25,7 +25,6 @@ const getOrCreateOffsetPageInfoType = () => {
|
||||
tslib_1.__metadata("design:type", Boolean)
|
||||
], PageInfoTypeImpl.prototype, "hasPreviousPage", void 0);
|
||||
PageInfoTypeImpl = tslib_1.__decorate([
|
||||
- (0, graphql_1.Directive)('@shareable'),
|
||||
(0, graphql_1.ObjectType)('OffsetPageInfo'),
|
||||
tslib_1.__metadata("design:paramtypes", [Boolean, Boolean])
|
||||
], PageInfoTypeImpl);
|
||||
diff --git a/node_modules/@ptc-org/nestjs-query-graphql/src/types/delete-many-reponse.type.js b/node_modules/@ptc-org/nestjs-query-graphql/src/types/delete-many-reponse.type.js
|
||||
index 4de72de..b42f05f 100644
|
||||
--- a/node_modules/@ptc-org/nestjs-query-graphql/src/types/delete-many-reponse.type.js
|
||||
+++ b/node_modules/@ptc-org/nestjs-query-graphql/src/types/delete-many-reponse.type.js
|
||||
@@ -16,7 +16,6 @@ const DeleteManyResponseType = () => {
|
||||
tslib_1.__metadata("design:type", Number)
|
||||
], DeleteManyResponseTypeImpl.prototype, "deletedCount", void 0);
|
||||
DeleteManyResponseTypeImpl = tslib_1.__decorate([
|
||||
- (0, graphql_1.Directive)('@shareable'),
|
||||
(0, graphql_1.ObjectType)('DeleteManyResponse')
|
||||
], DeleteManyResponseTypeImpl);
|
||||
deleteManyResponseType = DeleteManyResponseTypeImpl;
|
||||
diff --git a/node_modules/@ptc-org/nestjs-query-graphql/src/types/update-many-response.type.js b/node_modules/@ptc-org/nestjs-query-graphql/src/types/update-many-response.type.js
|
||||
index c525d14..74be84f 100644
|
||||
--- a/node_modules/@ptc-org/nestjs-query-graphql/src/types/update-many-response.type.js
|
||||
+++ b/node_modules/@ptc-org/nestjs-query-graphql/src/types/update-many-response.type.js
|
||||
@@ -16,7 +16,6 @@ const UpdateManyResponseType = () => {
|
||||
tslib_1.__metadata("design:type", Number)
|
||||
], UpdateManyResponseTypeImpl.prototype, "updatedCount", void 0);
|
||||
UpdateManyResponseTypeImpl = tslib_1.__decorate([
|
||||
- (0, graphql_1.Directive)('@shareable'),
|
||||
(0, graphql_1.ObjectType)('UpdateManyResponse')
|
||||
], UpdateManyResponseTypeImpl);
|
||||
updateManyResponseType = UpdateManyResponseTypeImpl;
|
||||
@@ -1,3 +1,5 @@
|
||||
import { Field, ID, ObjectType } from '@nestjs/graphql';
|
||||
|
||||
import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
@@ -7,6 +9,11 @@ import {
|
||||
PrimaryGeneratedColumn,
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
import {
|
||||
Authorize,
|
||||
IDField,
|
||||
QueryOptions,
|
||||
} from '@ptc-org/nestjs-query-graphql';
|
||||
|
||||
import { ObjectMetadata } from 'src/metadata/object-metadata/object-metadata.entity';
|
||||
|
||||
@@ -14,29 +21,47 @@ export type FieldMetadataTargetColumnMap = {
|
||||
[key: string]: string;
|
||||
};
|
||||
|
||||
@ObjectType('field')
|
||||
@QueryOptions({
|
||||
defaultResultSize: 10,
|
||||
maxResultsSize: 100,
|
||||
disableFilter: true,
|
||||
disableSort: true,
|
||||
})
|
||||
@Authorize({
|
||||
authorize: (context: any) => ({
|
||||
workspaceId: { eq: context?.req?.user?.workspace?.id },
|
||||
}),
|
||||
})
|
||||
@Entity('field_metadata')
|
||||
export class FieldMetadata {
|
||||
@IDField(() => ID)
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column({ nullable: false, name: 'object_id' })
|
||||
objectId: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: false })
|
||||
type: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: false, name: 'display_name' })
|
||||
displayName: string;
|
||||
|
||||
@Column({ nullable: false, name: 'target_column_name' })
|
||||
targetColumnName: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@Column({ nullable: true, name: 'description', type: 'text' })
|
||||
description: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@Column({ nullable: true, name: 'icon' })
|
||||
icon: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@Column({ nullable: true, name: 'placeholder' })
|
||||
placeholder: string;
|
||||
|
||||
@@ -46,12 +71,15 @@ export class FieldMetadata {
|
||||
@Column('text', { nullable: true, array: true })
|
||||
enums: string[];
|
||||
|
||||
@Field()
|
||||
@Column({ default: false, name: 'is_custom' })
|
||||
isCustom: boolean;
|
||||
|
||||
@Field()
|
||||
@Column({ default: false, name: 'is_active' })
|
||||
isActive: boolean;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: true, default: true, name: 'is_nullable' })
|
||||
isNullable: boolean;
|
||||
|
||||
|
||||
@@ -1,11 +1,36 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
import {
|
||||
NestjsQueryGraphQLModule,
|
||||
PagingStrategies,
|
||||
} from '@ptc-org/nestjs-query-graphql';
|
||||
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
||||
|
||||
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
|
||||
|
||||
import { FieldMetadataService } from './field-metadata.service';
|
||||
import { FieldMetadata } from './field-metadata.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([FieldMetadata], 'metadata')],
|
||||
imports: [
|
||||
NestjsQueryGraphQLModule.forFeature({
|
||||
imports: [
|
||||
NestjsQueryTypeOrmModule.forFeature([FieldMetadata], 'metadata'),
|
||||
],
|
||||
resolvers: [
|
||||
{
|
||||
EntityClass: FieldMetadata,
|
||||
DTOClass: FieldMetadata,
|
||||
enableTotalCount: true,
|
||||
pagingStrategy: PagingStrategies.CURSOR,
|
||||
create: { disabled: true },
|
||||
update: { disabled: true },
|
||||
delete: { disabled: true },
|
||||
guards: [JwtAuthGuard],
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
providers: [FieldMetadataService],
|
||||
exports: [FieldMetadataService],
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { UseGuards } from '@nestjs/common';
|
||||
import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
|
||||
import { Args, Mutation, Resolver } from '@nestjs/graphql';
|
||||
|
||||
import { Workspace } from '@prisma/client';
|
||||
|
||||
@@ -15,11 +15,6 @@ import { CreateCustomFieldInput } from './args/create-custom-field.input';
|
||||
export class MetadataResolver {
|
||||
constructor(private readonly metadataService: MetadataService) {}
|
||||
|
||||
@Query(() => String)
|
||||
async hello(): Promise<string> {
|
||||
return 'Hello World!';
|
||||
}
|
||||
|
||||
@Mutation(() => String)
|
||||
async createCustomField(
|
||||
@Args() createCustomFieldInput: CreateCustomFieldInput,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { ObjectType, ID, Field } from '@nestjs/graphql';
|
||||
|
||||
import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
@@ -6,11 +8,31 @@ import {
|
||||
PrimaryGeneratedColumn,
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
import {
|
||||
Authorize,
|
||||
CursorConnection,
|
||||
IDField,
|
||||
QueryOptions,
|
||||
} from '@ptc-org/nestjs-query-graphql';
|
||||
|
||||
import { FieldMetadata } from 'src/metadata/field-metadata/field-metadata.entity';
|
||||
|
||||
@ObjectType('object')
|
||||
@QueryOptions({
|
||||
defaultResultSize: 10,
|
||||
maxResultsSize: 100,
|
||||
disableFilter: true,
|
||||
disableSort: true,
|
||||
})
|
||||
@Authorize({
|
||||
authorize: (context: any) => ({
|
||||
workspaceId: { eq: context?.req?.user?.workspace?.id },
|
||||
}),
|
||||
})
|
||||
@CursorConnection('fields', () => FieldMetadata)
|
||||
@Entity('object_metadata')
|
||||
export class ObjectMetadata {
|
||||
@IDField(() => ID)
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@@ -18,27 +40,34 @@ export class ObjectMetadata {
|
||||
dataSourceId: string;
|
||||
|
||||
// Deprecated
|
||||
@Field()
|
||||
@Column({ nullable: false, name: 'display_name' })
|
||||
displayName: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: true, name: 'display_name_singular' })
|
||||
displayNameSingular: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: true, name: 'display_name_plural' })
|
||||
displayNamePlural: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: true, name: 'description', type: 'text' })
|
||||
description: string;
|
||||
|
||||
@Field()
|
||||
@Column({ nullable: true, name: 'icon' })
|
||||
icon: string;
|
||||
|
||||
@Column({ nullable: false, name: 'target_table_name' })
|
||||
targetTableName: string;
|
||||
|
||||
@Field()
|
||||
@Column({ default: false, name: 'is_custom' })
|
||||
isCustom: boolean;
|
||||
|
||||
@Field()
|
||||
@Column({ default: false, name: 'is_active' })
|
||||
isActive: boolean;
|
||||
|
||||
@@ -48,9 +77,11 @@ export class ObjectMetadata {
|
||||
@OneToMany(() => FieldMetadata, (field) => field.object)
|
||||
fields: FieldMetadata[];
|
||||
|
||||
@Field()
|
||||
@CreateDateColumn({ name: 'created_at' })
|
||||
createdAt: Date;
|
||||
|
||||
@Field()
|
||||
@UpdateDateColumn({ name: 'updated_at' })
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
@@ -1,11 +1,36 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
|
||||
import {
|
||||
NestjsQueryGraphQLModule,
|
||||
PagingStrategies,
|
||||
} from '@ptc-org/nestjs-query-graphql';
|
||||
import { NestjsQueryTypeOrmModule } from '@ptc-org/nestjs-query-typeorm';
|
||||
|
||||
import { JwtAuthGuard } from 'src/guards/jwt.auth.guard';
|
||||
|
||||
import { ObjectMetadataService } from './object-metadata.service';
|
||||
import { ObjectMetadata } from './object-metadata.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([ObjectMetadata], 'metadata')],
|
||||
imports: [
|
||||
NestjsQueryGraphQLModule.forFeature({
|
||||
imports: [
|
||||
NestjsQueryTypeOrmModule.forFeature([ObjectMetadata], 'metadata'),
|
||||
],
|
||||
resolvers: [
|
||||
{
|
||||
EntityClass: ObjectMetadata,
|
||||
DTOClass: ObjectMetadata,
|
||||
enableTotalCount: true,
|
||||
pagingStrategy: PagingStrategies.CURSOR,
|
||||
create: { disabled: true },
|
||||
update: { disabled: true },
|
||||
delete: { disabled: true },
|
||||
guards: [JwtAuthGuard],
|
||||
},
|
||||
],
|
||||
}),
|
||||
],
|
||||
providers: [ObjectMetadataService],
|
||||
exports: [ObjectMetadataService],
|
||||
})
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
import {
|
||||
GraphQLBoolean,
|
||||
GraphQLNonNull,
|
||||
GraphQLObjectType,
|
||||
GraphQLString,
|
||||
} from 'graphql';
|
||||
import { ConnectionCursorScalar } from '@ptc-org/nestjs-query-graphql';
|
||||
import { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
||||
|
||||
/**
|
||||
* GraphQL PageInfo type.
|
||||
@@ -11,8 +7,8 @@ import {
|
||||
export const PageInfoType = new GraphQLObjectType({
|
||||
name: 'PageInfo',
|
||||
fields: {
|
||||
startCursor: { type: GraphQLString },
|
||||
endCursor: { type: GraphQLString },
|
||||
startCursor: { type: ConnectionCursorScalar },
|
||||
endCursor: { type: ConnectionCursorScalar },
|
||||
hasNextPage: { type: new GraphQLNonNull(GraphQLBoolean) },
|
||||
hasPreviousPage: { type: new GraphQLNonNull(GraphQLBoolean) },
|
||||
},
|
||||
|
||||
113
server/yarn.lock
113
server/yarn.lock
@@ -2206,6 +2206,43 @@
|
||||
resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz"
|
||||
integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
|
||||
|
||||
"@ptc-org/nestjs-query-core@4.2.0", "@ptc-org/nestjs-query-core@^4.2.0":
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ptc-org/nestjs-query-core/-/nestjs-query-core-4.2.0.tgz#0724056c0de4846cf5f06833a72f0dfe127a7609"
|
||||
integrity sha512-6IDHTmQI32jjOQj+yQp0zGZ/Y7E9IUH5nAO8XLNNZ1IN76cDNQcoYYrS06JopQ/LP9wJRusHQgD0cEVUMobh7g==
|
||||
dependencies:
|
||||
lodash.merge "^4.6.2"
|
||||
reflect-metadata "^0.1.13"
|
||||
tslib "^2.6.2"
|
||||
|
||||
"@ptc-org/nestjs-query-graphql@^4.2.0":
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ptc-org/nestjs-query-graphql/-/nestjs-query-graphql-4.2.0.tgz#e4209569a87465b5af7a78733fbb494b19231c24"
|
||||
integrity sha512-BjPoNjT5UjhpvSK0wJ/exeWpjzOTQsgQgOuYOuPzMx9pwf2zYL1GD+aH08vog3OkK5o/0g/pV3I6XTIBsxAN4g==
|
||||
dependencies:
|
||||
"@ptc-org/nestjs-query-core" "4.2.0"
|
||||
dataloader "^2.2.2"
|
||||
graphql-fields "^2.0.3"
|
||||
lodash.merge "4.6.2"
|
||||
lodash.omit "^4.5.0"
|
||||
lower-case-first "^2.0.2"
|
||||
pluralize "^8.0.0"
|
||||
reflect-metadata "0.1.13"
|
||||
tslib "^2.6.2"
|
||||
upper-case-first "^2.0.2"
|
||||
|
||||
"@ptc-org/nestjs-query-typeorm@^4.2.1-alpha.2":
|
||||
version "4.2.1-alpha.2"
|
||||
resolved "https://registry.yarnpkg.com/@ptc-org/nestjs-query-typeorm/-/nestjs-query-typeorm-4.2.1-alpha.2.tgz#8cc44ce9e8322662e45cbb773f8d1c1fed6acec1"
|
||||
integrity sha512-100zvXIfWhI7Nk3aURuk1xPmAYd/9RXrt/mFqXPhJDVOHtzi30r/42+vOIq8l38uIQNeT78eYRlV2C/glzRIBA==
|
||||
dependencies:
|
||||
camel-case "^4.1.2"
|
||||
lodash.filter "^4.6.0"
|
||||
lodash.merge "^4.6.2"
|
||||
lodash.omit "^4.5.0"
|
||||
tslib "^2.6.2"
|
||||
uuid "^9.0.0"
|
||||
|
||||
"@repeaterjs/repeater@^3.0.4":
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca"
|
||||
@@ -4195,6 +4232,14 @@ callsites@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
|
||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||
|
||||
camel-case@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
|
||||
integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
|
||||
dependencies:
|
||||
pascal-case "^3.1.2"
|
||||
tslib "^2.0.3"
|
||||
|
||||
camelcase@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
|
||||
@@ -4608,6 +4653,11 @@ cssfilter@0.0.10:
|
||||
resolved "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz"
|
||||
integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==
|
||||
|
||||
dataloader@^2.2.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0"
|
||||
integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==
|
||||
|
||||
date-fns@*, date-fns@^2.29.3, date-fns@^2.30.0:
|
||||
version "2.30.0"
|
||||
resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz"
|
||||
@@ -5261,7 +5311,7 @@ fast-diff@^1.1.2:
|
||||
|
||||
fast-glob@3.2.12, fast-glob@^3.2.11, fast-glob@^3.2.9:
|
||||
version "3.2.12"
|
||||
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz"
|
||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
|
||||
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
|
||||
dependencies:
|
||||
"@nodelib/fs.stat" "^2.0.2"
|
||||
@@ -5792,6 +5842,13 @@ graphql-parse-resolve-info@^4.13.0:
|
||||
debug "^4.1.1"
|
||||
tslib "^2.0.1"
|
||||
|
||||
graphql-subscriptions@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-2.0.0.tgz#11ec181d475852d8aec879183e8e1eb94f2eb79a"
|
||||
integrity sha512-s6k2b8mmt9gF9pEfkxsaO1lTxaySfKoEJzEfmwguBbQ//Oq23hIXCfR1hm4kdh5hnR20RdwB+s3BCb+0duHSZA==
|
||||
dependencies:
|
||||
iterall "^1.3.0"
|
||||
|
||||
graphql-tag@2.12.6, graphql-tag@^2.11.0, graphql-tag@^2.12.6:
|
||||
version "2.12.6"
|
||||
resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz"
|
||||
@@ -5836,7 +5893,7 @@ graphql-yoga@^4.0.4:
|
||||
lru-cache "^10.0.0"
|
||||
tslib "^2.5.2"
|
||||
|
||||
graphql@*, "graphql@0.13.1 - 16", graphql@16.8.0, graphql@^16.8.0:
|
||||
graphql@*, "graphql@0.13.1 - 16", graphql@16.8.0:
|
||||
version "16.8.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.0.tgz#374478b7f27b2dc6153c8f42c1b80157f79d79d4"
|
||||
integrity sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==
|
||||
@@ -6356,7 +6413,7 @@ istanbul-reports@^3.1.3:
|
||||
html-escaper "^2.0.0"
|
||||
istanbul-lib-report "^3.0.0"
|
||||
|
||||
iterall@1.3.0, iterall@^1.2.1:
|
||||
iterall@1.3.0, iterall@^1.2.1, iterall@^1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz"
|
||||
integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
|
||||
@@ -6931,6 +6988,11 @@ lodash.difference@^4.5.0:
|
||||
resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz"
|
||||
integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==
|
||||
|
||||
lodash.filter@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace"
|
||||
integrity sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==
|
||||
|
||||
lodash.flatten@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz"
|
||||
@@ -6961,12 +7023,12 @@ lodash.memoize@4.x:
|
||||
resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
|
||||
integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
|
||||
|
||||
lodash.merge@^4.6.2:
|
||||
lodash.merge@4.6.2, lodash.merge@^4.6.2:
|
||||
version "4.6.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
|
||||
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
|
||||
|
||||
lodash.omit@4.5.0:
|
||||
lodash.omit@4.5.0, lodash.omit@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz"
|
||||
integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==
|
||||
@@ -7009,6 +7071,20 @@ long@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz"
|
||||
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
|
||||
|
||||
lower-case-first@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b"
|
||||
integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
lower-case@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
|
||||
integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
"lru-cache@7.10.1 - 7.13.1":
|
||||
version "7.13.1"
|
||||
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz"
|
||||
@@ -7306,6 +7382,14 @@ new-github-issue-url@0.2.1:
|
||||
resolved "https://registry.npmjs.org/new-github-issue-url/-/new-github-issue-url-0.2.1.tgz"
|
||||
integrity sha512-md4cGoxuT4T4d/HDOXbrUHkTKrp/vp+m3aOA7XXVYwNsUNMK49g3SQicTSeV5GIz/5QVGAeYRAOlyp9OvlgsYA==
|
||||
|
||||
no-case@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
|
||||
integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
|
||||
dependencies:
|
||||
lower-case "^2.0.2"
|
||||
tslib "^2.0.3"
|
||||
|
||||
node-abi@^3.3.0:
|
||||
version "3.45.0"
|
||||
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.45.0.tgz#f568f163a3bfca5aacfce1fbeee1fa2cc98441f5"
|
||||
@@ -7635,6 +7719,14 @@ parseurl@^1.3.3, parseurl@~1.3.3:
|
||||
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
|
||||
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
|
||||
|
||||
pascal-case@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
|
||||
integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
|
||||
dependencies:
|
||||
no-case "^3.0.4"
|
||||
tslib "^2.0.3"
|
||||
|
||||
passport-google-oauth20@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz"
|
||||
@@ -8156,7 +8248,7 @@ rechoir@^0.6.2:
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
reflect-metadata@^0.1.13:
|
||||
reflect-metadata@0.1.13, reflect-metadata@^0.1.13:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz"
|
||||
integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
|
||||
@@ -9097,7 +9189,7 @@ tslib@^1.11.1, tslib@^1.8.1:
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
"tslib@^2.4.1 || ^1.9.3", tslib@^2.5.2:
|
||||
tslib@^2.0.3, "tslib@^2.4.1 || ^1.9.3", tslib@^2.5.2, tslib@^2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
@@ -9283,6 +9375,13 @@ update-browserslist-db@^1.0.11:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
upper-case-first@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324"
|
||||
integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
uri-js@^4.2.2:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
|
||||
|
||||
Reference in New Issue
Block a user