Skip to content

Commit

Permalink
feat: 馃幐 Added the core-shared-logging package
Browse files Browse the repository at this point in the history
  • Loading branch information
sullivanpj committed Sep 17, 2023
1 parent 4a9913d commit a0b43f9
Show file tree
Hide file tree
Showing 291 changed files with 650 additions and 20,795 deletions.
3 changes: 3 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ INFISICAL_ENVIRONMENT="prod"
READINESS_CHECK_PATH="/readiness"
HEALTH_CHECK_PATH="/healthcheck"

LOG_LEVEL="debug"
# LOG_PATH="C:\\Development\\open-system\\logs"

PNPM_VERSION="8.7.4"

DEV_EDITOR_ID="vscode"
Expand Down
6 changes: 5 additions & 1 deletion apps/workers/contact-api/.dev.vars
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,11 @@ READINESS_CHECK_PATH="/readiness"
HEALTH_CHECK_PATH="/healthcheck"

LOG_LEVEL="debug"
LOG_PATH="C:\\Development\\open-system\\logs"

PNPM_VERSION="8.7.4"

NODE_ENV=development
DEV_EDITOR_ID="vscode"
DEV_REPO_ROOT="C:\\Development\\open-system"

NODE_ENV="development"
1 change: 1 addition & 0 deletions apps/workers/contact-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"fs": "0.0.1-security",
"http": "0.0.1-security",
"process": "^0.11.10",
"reflect-metadata": "^0.1.13",
"wrangler": "^3.2.0",
"zlib": "^1.0.5"
}
Expand Down
8 changes: 8 additions & 0 deletions apps/workers/contact-api/src/dependencies.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { InfisicalEnvManager } from "@open-system/core-server-infisical/infisical-env-manager";
import { EnvManager } from "@open-system/core-shared-env/env-manager";
import { bindService } from "@open-system/core-shared-injection/utilities/bind-service";
import { ConsoleLogger } from "@open-system/core-shared-logging/console";
import { Logger } from "@open-system/core-shared-logging/logger";

bindService<EnvManager>(EnvManager, InfisicalEnvManager);
bindService<Logger>(Logger, ConsoleLogger);
6 changes: 1 addition & 5 deletions apps/workers/contact-api/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
/* eslint-disable @typescript-eslint/no-explicit-any */

import "reflect-metadata";
import "./dependencies";

import { InitialServerContext } from "@open-system/core-server-application";
import { CloudflareServerBindings } from "@open-system/core-server-cloudflare/types";
import {
GraphQLActiveServerContext,
GraphQLServerContext
} from "@open-system/core-server-graphql/context";
import { PinoLogger } from "@open-system/core-server-pino-logging";
import { Injector } from "@open-system/core-shared-injection/injector";
import { Logger } from "@open-system/core-shared-utilities/logging";
import { createServer } from "./server";

export interface Env extends CloudflareServerBindings {
DB: any;
}

Injector.bind(Logger).to(PinoLogger);

export default {
async fetch(
request: Request,
Expand Down
2 changes: 1 addition & 1 deletion apps/workers/contact-api/wrangler.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "contact-api"
# main = "src/index.ts"
main = "./index.mjs"
main = "./index.js"

# ip = "127.0.0.1"
# port = 4008
Expand Down
34 changes: 17 additions & 17 deletions apps/workers/contact-attachments-upload/src/handler.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
export { Headers } from "@open-system/core-client-data-access";
export {
BaseCloudflareEnv,
CloudflareServerBindings,
R2Bucket,
R2ListOptions,
} from "@open-system/core-shared-cloudflare";
export { ConsoleLogger } from "@open-system/core-shared-utilities";
R2ListOptions
} from "@open-system/core-server-cloudflare";
export { ConsoleLogger } from "@open-system/core-shared-logging";

interface Env extends BaseCloudflareEnv {
interface Env extends CloudflareServerBindings {
CONTACT_ATTACHMENTS_BUCKET: R2Bucket;
}

Expand All @@ -16,8 +16,8 @@ function objectNotFound(objectName: string): Response {
{
status: 404,
headers: {
"content-type": "text/html; charset=UTF-8",
},
"content-type": "text/html; charset=UTF-8"
}
}
);
}
Expand All @@ -43,22 +43,22 @@ export async function handleRequest(
prefix: url.searchParams.get("prefix") ?? undefined,
delimiter: url.searchParams.get("delimiter") ?? undefined,
cursor: url.searchParams.get("cursor") ?? undefined,
include: ["customMetadata", "httpMetadata"],
include: ["customMetadata", "httpMetadata"]
};
ConsoleLogger.log(JSON.stringify(options));

const listing = await bucket.list(options);
return new Response(JSON.stringify(listing), {
headers: {
"content-type": "application/json; charset=UTF-8",
},
"content-type": "application/json; charset=UTF-8"
}
});
}

if (request.method === "GET") {
const object = await bucket.get(objectName, {
range: request.headers,
onlyIf: request.headers,
onlyIf: request.headers
});

if (object === null) {
Expand All @@ -81,7 +81,7 @@ export async function handleRequest(
: 304;
return new Response(object.body, {
headers,
status,
status
});
}

Expand All @@ -95,17 +95,17 @@ export async function handleRequest(
object.writeHttpMetadata(headers);
headers.set("etag", object.httpEtag);
return new Response(null, {
headers,
headers
});
}
if (request.method === "PUT" || request.method == "POST") {
const object = await bucket.put(objectName, request.body, {
httpMetadata: request.headers,
httpMetadata: request.headers
});
return new Response(null, {
headers: {
"etag": object.httpEtag,
},
"etag": object.httpEtag
}
});
}
if (request.method === "DELETE") {
Expand All @@ -114,6 +114,6 @@ export async function handleRequest(
}

return new Response(`Unsupported method`, {
status: 400,
status: 400
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
GraphQLActiveServerContext,
GraphQLServerContext
} from "@open-system/core-server-graphql/context";
import { bindService } from "@open-system/core-shared-injection/utilities/bind-service";
import {
IContactAttachmentEntity,
IContactEntity
Expand Down Expand Up @@ -41,17 +42,14 @@ export const useExtendContactGraphQLServerContext = <
async onContextBuilding(params) {
const pluginHook = await basePlugin.onContextBuilding?.(params);

params.context.injector
.bind<Repository<IContactAttachmentEntity>>(
Repository<IContactAttachmentEntity>
)
.to(ContactAttachmentRepository)
.inSingletonScope();

params.context.injector
.bind<Repository<IContactEntity>>(Repository<IContactEntity>)
.to(ContactRepository)
.inSingletonScope();
bindService<Repository<IContactAttachmentEntity>>(
Repository<IContactAttachmentEntity>,
ContactAttachmentRepository
);
bindService<Repository<IContactEntity>>(
Repository<IContactEntity>,
ContactRepository
);

return pluginHook;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { Logger, UniqueIdGenerator } from "@open-system/core-shared-utilities";
import { Logger } from "@open-system/core-shared-logging/logger";
import { UniqueIdGenerator } from "@open-system/core-shared-utilities/common";
import { ICommand } from "./command";

export const commandFactory =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { IEntity } from "@open-system/core-server-domain";
import { EnvManager, EnvironmentType } from "@open-system/core-shared-env";
import { Injector } from "@open-system/core-shared-injection/injector";
import { Injector } from "@open-system/core-shared-injection/injector/injector";
import { Injector as InjectorType } from "@open-system/core-shared-injection/types";
import { ConsoleLogger, Logger } from "@open-system/core-shared-logging";
import {
JSON_PARSER_SYMBOL,
JsonParser
} from "@open-system/core-shared-serialization";
import {
ArrayElement,
ConsoleLogger,
DateTime,
Logger,
UniqueIdGenerator
} from "@open-system/core-shared-utilities";
// import { ICommand } from "../commands";
import { Service } from "../services";
import { EntityName, SYSTEM_TOKEN } from "../types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { IAggregateRoot, IDomainEvent } from "@open-system/core-server-domain";
import { BaseUtilityClass, Logger } from "@open-system/core-shared-utilities";
import { Logger } from "@open-system/core-shared-logging/logger";
import { BaseUtilityClass } from "@open-system/core-shared-utilities/common";
import { EVENT_PUBLISHER_TOKEN } from "../types";
import { EventStore } from "./event-store";
import { MessageBroker } from "./message-broker";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { IAggregateRoot, IDomainEvent } from "@open-system/core-server-domain";
import { Logger } from "@open-system/core-shared-logging/logger";
import {
ArrayElement,
BaseUtilityClass,
Logger
BaseUtilityClass
} from "@open-system/core-shared-utilities";
import { EVENT_STORE_TOKEN } from "../types";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { BaseUtilityClass, Logger } from "@open-system/core-shared-utilities";
import { Logger } from "@open-system/core-shared-logging/logger";
import { BaseUtilityClass } from "@open-system/core-shared-utilities/common";
import { MESSAGE_BROKER_TOKEN } from "../types";

export abstract class MessageBroker<
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { IEntity } from "@open-system/core-server-domain/types";
import { Logger } from "@open-system/core-shared-logging/logger";
import {
BaseUtilityClass,
Logger,
isArrayLike,
isEmpty
} from "@open-system/core-shared-utilities";
} from "@open-system/core-shared-utilities/common";
import { MemCacheClient } from "../providers/mem-cache-client";
import {
BatchLoadFn,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { IEntity } from "@open-system/core-server-domain";
import { Provider } from "@open-system/core-shared-injection";
import { EnvManager } from "@open-system/core-shared-env";
import { Injected, Provider } from "@open-system/core-shared-injection";
import { Logger } from "@open-system/core-shared-logging/logger";
import { JsonParser } from "@open-system/core-shared-serialization";
import {
BaseErrorCode,
BaseUtilityClass,
FieldValidationError,
IncorrectTypeError,
Logger,
ModelValidationError,
NotFoundError,
isError,
isValidInteger
} from "@open-system/core-shared-utilities";
import { map } from "radash";
import { ActiveContext, ServerContext } from "../context";
import {
BatchLoadKey,
CreateParams,
Expand Down Expand Up @@ -43,13 +43,14 @@ export abstract class Repository<

protected readonly options!: RepositoryOptions<TEntity>;
protected readonly logger: Logger;
protected readonly active: ActiveContext;

constructor(context: ServerContext) {
constructor(
@Injected(Logger) _logger: Logger,
@Injected(EnvManager) _env: EnvManager
) {
super(REPOSITORY_TOKEN);

this.logger = context.utils.logger;
this.active = context.active;
this.logger = _logger;

this.dataLoader = new RepositoryDataLoader<TEntity>(
async (
Expand All @@ -58,7 +59,7 @@ export abstract class Repository<
return map(keys, async (key: BatchLoadKey<TEntity>) => {
key.take ??= isValidInteger(key.take, true)
? key.take
: context.env.defaultQuerySize;
: _env.defaultQuerySize;
key.orderBy ??= { id: SortOrder.asc } as Record<
EntityKeys<TEntity>,
string
Expand All @@ -74,7 +75,7 @@ export abstract class Repository<
},
this.logger,
this.options,
context.system.info.instanceId
_env.serviceId
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
ModelValidationError,
NotFoundError
} from "@open-system/core-shared-utilities/errors";
import { Logger } from "@open-system/core-shared-utilities/logging";
import { Logger } from "@open-system/core-shared-logging";
import { UserContext } from "../context";
import { Repository } from "../repositories/repository";
import {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { ExecutorContext, workspaceRoot } from "@nx/devkit";
import { formatDate } from "@open-system/core-shared-utilities/common/date-fns";
import { ConfigurationError } from "@open-system/core-shared-utilities/errors";
import { ConsoleLogger } from "@open-system/core-shared-utilities/logging";
import { ConsoleLogger } from "@open-system/core-shared-logging";
import Path from "path";
import { WranglerCommand } from "../types";
import { runWranglerCommand } from "./wrangler";
Expand Down Expand Up @@ -33,6 +33,6 @@ export async function runWranglerDeploy(
"no-bundle": false,
...options
},
Path.join(workspaceRoot, buildTarget?.options?.outputPath, "index.mjs")
Path.join(workspaceRoot, buildTarget?.options?.outputPath, "index.js")
);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { ExecutorContext, workspaceRoot } from "@nx/devkit";
import { ConfigurationError } from "@open-system/core-shared-utilities";
import { ConsoleLogger } from "@open-system/core-shared-utilities/logging";
import { ConsoleLogger } from "@open-system/core-shared-logging";
import Path from "path";
import { WranglerCommand } from "../types";
import { runWranglerCommand } from "./wrangler";
Expand Down Expand Up @@ -30,6 +30,6 @@ export async function runWranglerServe(
"no-bundle": false,
...options
},
Path.join(workspaceRoot, buildTarget?.options?.outputPath, "index.mjs")
Path.join(workspaceRoot, buildTarget?.options?.outputPath, "index.js")
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
EMPTY_STRING
} from "@open-system/core-shared-utilities";
import { isSet } from "@open-system/core-shared-utilities/common/type-checks";
import { ConsoleLogger } from "@open-system/core-shared-utilities/logging";
import { ConsoleLogger } from "@open-system/core-shared-logging";
import { WranglerCommand } from "../types";

export async function runWranglerCommand(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { Logger } from "@open-system/core-shared-logging/logger";
import {
IIdentity,
Logger,
UniqueIdGenerator,
UniqueIdGenerator
} from "@open-system/core-shared-utilities";
import { AggregateRoot } from "./aggregate-root";

Expand Down

0 comments on commit a0b43f9

Please sign in to comment.