Socket
Socket
Sign inDemoInstall

@exogee/graphweaver-apollo

Package Overview
Dependencies
236
Maintainers
4
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.17 to 0.1.18

3

lib/index.d.ts

@@ -10,2 +10,5 @@ import { AuthChecker } from 'type-graphql';

config?: any;
hooks?: {
beforeRead?: <C extends BaseContext>(context: C) => void;
};
}

@@ -12,0 +15,0 @@ export interface GraphweaverConfig {

9

lib/index.js

@@ -48,3 +48,2 @@ "use strict";

};
var _a, _b, _c;
import_logger.logger.trace(`Graphweaver constructor called`);

@@ -69,8 +68,8 @@ if (!config) {

(0, import_plugins.corsPlugin)(this.config.corsOptions),
...((_a = this.config.apolloServerOptions) == null ? void 0 : _a.plugins) || []
...this.config.apolloServerOptions?.plugins || []
];
const resolvers = this.config.resolvers || [];
if (((_b = this.config.adminMetadata) == null ? void 0 : _b.enabled) && this.config.resolvers) {
if (this.config.adminMetadata?.enabled && this.config.resolvers) {
import_logger.logger.trace(`Graphweaver adminMetadata is enabled`);
resolvers.push(import_metadata_service.AdminUiMetadataResolver);
resolvers.push((0, import_metadata_service.getAdminUiMetadataResolver)(this.config.adminMetadata?.hooks));
}

@@ -92,3 +91,3 @@ import_logger.logger.trace(`Graphweaver buildSchemaSync with ${resolvers.length} resolvers`);

resolvers,
authChecker: (_c = config.authChecker) != null ? _c : () => true
authChecker: config.authChecker ?? (() => true)
});

@@ -95,0 +94,0 @@ }

@@ -0,13 +1,17 @@

import { BaseContext } from '@exogee/graphweaver';
import { AdminUiEntityMetadata } from './entity';
export declare class AdminUiMetadataResolver {
getAdminUiMetadata(): Promise<{
entities: AdminUiEntityMetadata[];
enums: {
name: string;
values: {
import { AdminMetadata } from '..';
export declare const getAdminUiMetadataResolver: (hooks?: AdminMetadata['hooks']) => {
new (): {
getAdminUiMetadata<C extends BaseContext>(context: C): Promise<{
entities: AdminUiEntityMetadata[];
enums: {
name: string;
value: any;
values: {
name: string;
value: any;
}[];
}[];
}[];
}>;
}
}>;
};
};

@@ -28,5 +28,6 @@ "use strict";

};
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
var resolver_exports = {};
__export(resolver_exports, {
AdminUiMetadataResolver: () => AdminUiMetadataResolver
getAdminUiMetadataResolver: () => getAdminUiMetadataResolver
});

@@ -57,80 +58,83 @@ module.exports = __toCommonJS(resolver_exports);

};
let AdminUiMetadataResolver = class {
async getAdminUiMetadata() {
const metadata = (0, import_type_graphql.getMetadataStorage)();
const objectTypeData = {};
for (const objectType of metadata.objectTypes) {
objectTypeData[objectType.name] = objectType;
}
const enumMetadata = /* @__PURE__ */ new Map();
for (const registeredEnum of metadata.enums) {
enumMetadata.set(registeredEnum.enumObj, registeredEnum);
}
const entities = metadata.objectTypes.map((objectType) => {
var _a, _b, _c, _d, _e, _f;
const name = objectType.name;
const adminUISettings = import_graphweaver.AdminUISettingsMap.get(name);
const backendId = (_c = (_b = (_a = import_graphweaver.EntityMetadataMap.get(name)) == null ? void 0 : _a.provider) == null ? void 0 : _b.backendId) != null ? _c : null;
const summaryField = (_e = (_d = objectType.fields) == null ? void 0 : _d.find(
(field) => (0, import_graphweaver.isSummaryField)(objectType.target, field.name)
)) == null ? void 0 : _e.name;
const fields = (_f = objectType.fields) == null ? void 0 : _f.map((field) => {
var _a2, _b2, _c2, _d2, _e2;
const typeValue = field.getType();
const entityName = typeValue.name ? typeValue.name : (_a2 = enumMetadata.get(typeValue)) == null ? void 0 : _a2.name;
const fieldObject = {
name: field.name,
type: entityName
};
const relatedObject = objectTypeData[entityName];
if (field.typeOptions.array) {
if (!relatedObject) {
throw new Error(`Unknown entityName ${entityName}`);
const getAdminUiMetadataResolver = (hooks) => {
let AdminUiMetadataResolver = class {
async getAdminUiMetadata(context) {
hooks?.beforeRead?.(context);
const metadata = (0, import_type_graphql.getMetadataStorage)();
const objectTypeData = {};
for (const objectType of metadata.objectTypes) {
objectTypeData[objectType.name] = objectType;
}
const enumMetadata = /* @__PURE__ */ new Map();
for (const registeredEnum of metadata.enums) {
enumMetadata.set(registeredEnum.enumObj, registeredEnum);
}
const entities = metadata.objectTypes.map((objectType) => {
const name = objectType.name;
const adminUISettings = import_graphweaver.AdminUISettingsMap.get(name);
const backendId = import_graphweaver.EntityMetadataMap.get(name)?.provider?.backendId ?? null;
const summaryField = objectType.fields?.find(
(field) => (0, import_graphweaver.isSummaryField)(objectType.target, field.name)
)?.name;
const fields = objectType.fields?.map((field) => {
const typeValue = field.getType();
const entityName = typeValue.name ? typeValue.name : enumMetadata.get(typeValue)?.name;
const fieldObject = {
name: field.name,
type: entityName
};
const relatedObject = objectTypeData[entityName];
if (field.typeOptions.array) {
if (!relatedObject) {
throw new Error(`Unknown entityName ${entityName}`);
}
const relatedEntity = relatedObject.fields?.find((field2) => {
const fieldType = field2.getType();
return fieldType.name === name;
});
if (relatedEntity?.typeOptions) {
fieldObject.relationshipType = relatedEntity.typeOptions.array ? import_graphweaver.RelationshipType.MANY_TO_MANY : import_graphweaver.RelationshipType.ONE_TO_MANY;
}
fieldObject.relatedEntity = entityName;
} else if (relatedObject) {
fieldObject.relationshipType = import_graphweaver.RelationshipType.MANY_TO_ONE;
}
const relatedEntity = (_b2 = relatedObject.fields) == null ? void 0 : _b2.find((field2) => {
const fieldType = field2.getType();
return fieldType.name === name;
});
if (relatedEntity == null ? void 0 : relatedEntity.typeOptions) {
fieldObject.relationshipType = relatedEntity.typeOptions.array ? import_graphweaver.RelationshipType.MANY_TO_MANY : import_graphweaver.RelationshipType.ONE_TO_MANY;
}
fieldObject.relatedEntity = entityName;
} else if (relatedObject) {
fieldObject.relationshipType = import_graphweaver.RelationshipType.MANY_TO_ONE;
}
fieldObject.filter = ((_e2 = (_d2 = (_c2 = adminUISettings == null ? void 0 : adminUISettings.fields) == null ? void 0 : _c2[field.name]) == null ? void 0 : _d2.filter) == null ? void 0 : _e2.hide) ? void 0 : {
type: mapFilterType(fieldObject, metadata.enums)
fieldObject.filter = adminUISettings?.fields?.[field.name]?.filter?.hide ? void 0 : {
type: mapFilterType(fieldObject, metadata.enums)
};
return fieldObject;
});
return {
name,
backendId,
summaryField,
fields
};
return fieldObject;
});
}).filter((entity) => !!entity.backendId);
const enums = metadata.enums.map((registeredEnum) => ({
name: registeredEnum.name,
values: Object.entries(registeredEnum.enumObj).map(([name, value]) => ({
name,
value
}))
}));
return {
name,
backendId,
summaryField,
fields
entities,
enums
};
}).filter((entity) => !!entity.backendId);
const enums = metadata.enums.map((registeredEnum) => ({
name: registeredEnum.name,
values: Object.entries(registeredEnum.enumObj).map(([name, value]) => ({
name,
value
}))
}));
return {
entities,
enums
};
}
}
};
__decorateClass([
(0, import_type_graphql.Query)(() => import_metadata.AdminUiMetadata, { name: "_graphweaver" }),
__decorateParam(0, (0, import_type_graphql.Ctx)())
], AdminUiMetadataResolver.prototype, "getAdminUiMetadata", 1);
AdminUiMetadataResolver = __decorateClass([
(0, import_type_graphql.Resolver)((of) => import_metadata.AdminUiMetadata)
], AdminUiMetadataResolver);
return AdminUiMetadataResolver;
};
__decorateClass([
(0, import_type_graphql.Query)(() => import_metadata.AdminUiMetadata, { name: "_graphweaver" })
], AdminUiMetadataResolver.prototype, "getAdminUiMetadata", 1);
AdminUiMetadataResolver = __decorateClass([
(0, import_type_graphql.Resolver)((of) => import_metadata.AdminUiMetadata)
], AdminUiMetadataResolver);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
AdminUiMetadataResolver
getAdminUiMetadataResolver
});
//# sourceMappingURL=resolver.js.map

@@ -31,4 +31,3 @@ "use strict";

willSendResponse: async ({ response }) => {
var _a, _b, _c, _d, _e, _f, _g;
(_a = response.http) == null ? void 0 : _a.headers.set(
response.http?.headers.set(
"Access-Control-Allow-Headers",

@@ -47,3 +46,3 @@ [

);
(_b = response.http) == null ? void 0 : _b.headers.set(
response.http?.headers.set(
"Access-Control-Expose-Headers",

@@ -56,13 +55,13 @@ [

const defaultOrigin = "http://localhost:9000";
const origin = ((_c = request.http) == null ? void 0 : _c.headers.get("origin")) || defaultOrigin;
(_d = response.http) == null ? void 0 : _d.headers.set("Access-Control-Allow-Credentials", "true");
const origin = request.http?.headers.get("origin") || defaultOrigin;
response.http?.headers.set("Access-Control-Allow-Credentials", "true");
if (validateOrigin(origin)) {
import_logger.logger.trace(`Adding CORS allow origin header: ${origin}`);
(_e = response.http) == null ? void 0 : _e.headers.set("Access-Control-Allow-Origin", origin);
response.http?.headers.set("Access-Control-Allow-Origin", origin);
} else if (origin === defaultOrigin) {
import_logger.logger.trace(`Adding CORS allow origin header: ${origin}`);
(_f = response.http) == null ? void 0 : _f.headers.set("Access-Control-Allow-Origin", origin);
response.http?.headers.set("Access-Control-Allow-Origin", origin);
} else {
import_logger.logger.trace(`No CORS match, adding allow header false`);
(_g = response.http) == null ? void 0 : _g.headers.set("Access-Control-Allow-Headers", "false");
response.http?.headers.set("Access-Control-Allow-Headers", "false");
}

@@ -69,0 +68,0 @@ }

@@ -38,3 +38,3 @@ "use strict";

willSendResponse: async () => {
release == null ? void 0 : release();
release?.();
release = void 0;

@@ -41,0 +41,0 @@ }

{
"name": "@exogee/graphweaver-apollo",
"version": "0.1.17",
"version": "0.1.18",
"description": "Apollo Server support for @exogee/graphweaver",

@@ -24,4 +24,4 @@ "license": "MIT",

"type-graphql": "2.0.0-beta.2",
"@exogee/graphweaver": "0.1.17",
"@exogee/logger": "0.1.17"
"@exogee/graphweaver": "0.1.18",
"@exogee/logger": "0.1.18"
},

@@ -28,0 +28,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc