@m5kdev/backend 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules/backend.mdc +70 -0
- package/.turbo/turbo-build.log +5 -0
- package/.turbo/turbo-check-types.log +5 -0
- package/.turbo/turbo-lint$colon$fix.log +255 -0
- package/CHANGELOG.md +10 -0
- package/dist/src/lib/posthog.d.ts +3 -0
- package/dist/src/lib/posthog.d.ts.map +1 -0
- package/dist/src/lib/sentry.d.ts +2 -0
- package/dist/src/lib/sentry.d.ts.map +1 -0
- package/dist/src/modules/access/access.repository.d.ts +2348 -0
- package/dist/src/modules/access/access.repository.d.ts.map +1 -0
- package/dist/src/modules/access/access.service.d.ts +22 -0
- package/dist/src/modules/access/access.service.d.ts.map +1 -0
- package/dist/src/modules/access/access.test.d.ts +2 -0
- package/dist/src/modules/access/access.test.d.ts.map +1 -0
- package/dist/src/modules/access/access.utils.d.ts +17 -0
- package/dist/src/modules/access/access.utils.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.db.d.ts +396 -0
- package/dist/src/modules/ai/ai.db.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.prompt.d.ts +28 -0
- package/dist/src/modules/ai/ai.prompt.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.repository.d.ts +424 -0
- package/dist/src/modules/ai/ai.repository.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.router.d.ts +2 -0
- package/dist/src/modules/ai/ai.router.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.service.d.ts +115 -0
- package/dist/src/modules/ai/ai.service.d.ts.map +1 -0
- package/dist/src/modules/ai/ai.trpc.d.ts +59 -0
- package/dist/src/modules/ai/ai.trpc.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.constants.d.ts +8 -0
- package/dist/src/modules/ai/ideogram/ideogram.constants.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.dto.d.ts +230 -0
- package/dist/src/modules/ai/ideogram/ideogram.dto.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.prompt.d.ts +3 -0
- package/dist/src/modules/ai/ideogram/ideogram.prompt.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.repository.d.ts +7 -0
- package/dist/src/modules/ai/ideogram/ideogram.repository.d.ts.map +1 -0
- package/dist/src/modules/ai/ideogram/ideogram.service.d.ts +10 -0
- package/dist/src/modules/ai/ideogram/ideogram.service.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.db.d.ts +2336 -0
- package/dist/src/modules/auth/auth.db.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.dto.d.ts +66 -0
- package/dist/src/modules/auth/auth.dto.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.lib.d.ts +4874 -0
- package/dist/src/modules/auth/auth.lib.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.middleware.d.ts +615 -0
- package/dist/src/modules/auth/auth.middleware.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.repository.d.ts +2417 -0
- package/dist/src/modules/auth/auth.repository.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.service.d.ts +104 -0
- package/dist/src/modules/auth/auth.service.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.trpc.d.ts +309 -0
- package/dist/src/modules/auth/auth.trpc.d.ts.map +1 -0
- package/dist/src/modules/auth/auth.utils.d.ts +2352 -0
- package/dist/src/modules/auth/auth.utils.d.ts.map +1 -0
- package/dist/src/modules/base/base.abstract.d.ts +19 -0
- package/dist/src/modules/base/base.abstract.d.ts.map +1 -0
- package/dist/src/modules/base/base.dto.d.ts +70 -0
- package/dist/src/modules/base/base.dto.d.ts.map +1 -0
- package/dist/src/modules/base/base.grants.d.ts +29 -0
- package/dist/src/modules/base/base.grants.d.ts.map +1 -0
- package/dist/src/modules/base/base.grants.test.d.ts +2 -0
- package/dist/src/modules/base/base.grants.test.d.ts.map +1 -0
- package/dist/src/modules/base/base.repository.d.ts +97 -0
- package/dist/src/modules/base/base.repository.d.ts.map +1 -0
- package/dist/src/modules/base/base.service.d.ts +42 -0
- package/dist/src/modules/base/base.service.d.ts.map +1 -0
- package/dist/src/modules/base/base.types.d.ts +2 -0
- package/dist/src/modules/base/base.types.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.db.d.ts +366 -0
- package/dist/src/modules/billing/billing.db.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.repository.d.ts +2764 -0
- package/dist/src/modules/billing/billing.repository.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.router.d.ts +5 -0
- package/dist/src/modules/billing/billing.router.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.service.d.ts +60 -0
- package/dist/src/modules/billing/billing.service.d.ts.map +1 -0
- package/dist/src/modules/billing/billing.trpc.d.ts +75 -0
- package/dist/src/modules/billing/billing.trpc.d.ts.map +1 -0
- package/dist/src/modules/clay/clay.repository.d.ts +6 -0
- package/dist/src/modules/clay/clay.repository.d.ts.map +1 -0
- package/dist/src/modules/clay/clay.service.d.ts +29 -0
- package/dist/src/modules/clay/clay.service.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.db.d.ts +357 -0
- package/dist/src/modules/connect/connect.db.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.dto.d.ts +75 -0
- package/dist/src/modules/connect/connect.dto.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.linkedin.d.ts +3 -0
- package/dist/src/modules/connect/connect.linkedin.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.oauth.d.ts +28 -0
- package/dist/src/modules/connect/connect.oauth.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.repository.d.ts +414 -0
- package/dist/src/modules/connect/connect.repository.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.router.d.ts +5 -0
- package/dist/src/modules/connect/connect.router.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.service.d.ts +89 -0
- package/dist/src/modules/connect/connect.service.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.trpc.d.ts +81 -0
- package/dist/src/modules/connect/connect.trpc.d.ts.map +1 -0
- package/dist/src/modules/connect/connect.types.d.ts +26 -0
- package/dist/src/modules/connect/connect.types.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.db.d.ts +152 -0
- package/dist/src/modules/crypto/crypto.db.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.repository.d.ts +160 -0
- package/dist/src/modules/crypto/crypto.repository.d.ts.map +1 -0
- package/dist/src/modules/crypto/crypto.service.d.ts +11 -0
- package/dist/src/modules/crypto/crypto.service.d.ts.map +1 -0
- package/dist/src/modules/email/email.service.d.ts +57 -0
- package/dist/src/modules/email/email.service.d.ts.map +1 -0
- package/dist/src/modules/file/file.repository.d.ts +13 -0
- package/dist/src/modules/file/file.repository.d.ts.map +1 -0
- package/dist/src/modules/file/file.router.d.ts +4 -0
- package/dist/src/modules/file/file.router.d.ts.map +1 -0
- package/dist/src/modules/file/file.service.d.ts +25 -0
- package/dist/src/modules/file/file.service.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.db.d.ts +563 -0
- package/dist/src/modules/recurrence/recurrence.db.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.repository.d.ts +585 -0
- package/dist/src/modules/recurrence/recurrence.repository.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.service.d.ts +30 -0
- package/dist/src/modules/recurrence/recurrence.service.d.ts.map +1 -0
- package/dist/src/modules/recurrence/recurrence.trpc.d.ts +243 -0
- package/dist/src/modules/recurrence/recurrence.trpc.d.ts.map +1 -0
- package/dist/src/modules/social/social.dto.d.ts +35 -0
- package/dist/src/modules/social/social.dto.d.ts.map +1 -0
- package/dist/src/modules/social/social.linkedin.d.ts +11 -0
- package/dist/src/modules/social/social.linkedin.d.ts.map +1 -0
- package/dist/src/modules/social/social.linkedin.test.d.ts +2 -0
- package/dist/src/modules/social/social.linkedin.test.d.ts.map +1 -0
- package/dist/src/modules/social/social.service.d.ts +29 -0
- package/dist/src/modules/social/social.service.d.ts.map +1 -0
- package/dist/src/modules/social/social.types.d.ts +36 -0
- package/dist/src/modules/social/social.types.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.db.d.ts +347 -0
- package/dist/src/modules/tag/tag.db.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.dto.d.ts +1019 -0
- package/dist/src/modules/tag/tag.dto.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.repository.d.ts +384 -0
- package/dist/src/modules/tag/tag.repository.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.service.d.ts +36 -0
- package/dist/src/modules/tag/tag.service.d.ts.map +1 -0
- package/dist/src/modules/tag/tag.trpc.d.ts +191 -0
- package/dist/src/modules/tag/tag.trpc.d.ts.map +1 -0
- package/dist/src/modules/utils/applyPagination.d.ts +7 -0
- package/dist/src/modules/utils/applyPagination.d.ts.map +1 -0
- package/dist/src/modules/utils/applySorting.d.ts +9 -0
- package/dist/src/modules/utils/applySorting.d.ts.map +1 -0
- package/dist/src/modules/utils/getConditionsFromFilters.d.ts +5 -0
- package/dist/src/modules/utils/getConditionsFromFilters.d.ts.map +1 -0
- package/dist/src/modules/video/video.service.d.ts +8 -0
- package/dist/src/modules/video/video.service.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.constants.d.ts +9 -0
- package/dist/src/modules/webhook/webhook.constants.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.db.d.ts +137 -0
- package/dist/src/modules/webhook/webhook.db.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.dto.d.ts +395 -0
- package/dist/src/modules/webhook/webhook.dto.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.repository.d.ts +149 -0
- package/dist/src/modules/webhook/webhook.repository.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.router.d.ts +4 -0
- package/dist/src/modules/webhook/webhook.router.d.ts.map +1 -0
- package/dist/src/modules/webhook/webhook.service.d.ts +10 -0
- package/dist/src/modules/webhook/webhook.service.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.db.d.ts +297 -0
- package/dist/src/modules/workflow/workflow.db.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.repository.d.ts +344 -0
- package/dist/src/modules/workflow/workflow.repository.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.service.d.ts +22 -0
- package/dist/src/modules/workflow/workflow.service.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.trpc.d.ts +93 -0
- package/dist/src/modules/workflow/workflow.trpc.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.types.d.ts +21 -0
- package/dist/src/modules/workflow/workflow.types.d.ts.map +1 -0
- package/dist/src/modules/workflow/workflow.utils.d.ts +22 -0
- package/dist/src/modules/workflow/workflow.utils.d.ts.map +1 -0
- package/dist/src/test/stubs/utils.d.ts +3 -0
- package/dist/src/test/stubs/utils.d.ts.map +1 -0
- package/dist/src/trpc/context.d.ts +42 -0
- package/dist/src/trpc/context.d.ts.map +1 -0
- package/dist/src/trpc/index.d.ts +4 -0
- package/dist/src/trpc/index.d.ts.map +1 -0
- package/dist/src/trpc/procedures.d.ts +234 -0
- package/dist/src/trpc/procedures.d.ts.map +1 -0
- package/dist/src/trpc/utils.d.ts +5 -0
- package/dist/src/trpc/utils.d.ts.map +1 -0
- package/dist/src/types.d.ts +486 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/errors.d.ts +50 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/logger.d.ts +2 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/posthog.d.ts +14 -0
- package/dist/src/utils/posthog.d.ts.map +1 -0
- package/dist/src/utils/types.d.ts +5 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/jest.config.ts +19 -0
- package/package.json +3 -6
- package/tsconfig.json +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/auth.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TRPC_ERROR_CODE_KEY } from "@trpc/server";
|
|
2
|
+
import type { ServerResult, ServerResultAsync } from "#modules/base/base.dto";
|
|
3
|
+
import type { ServerErrorLayer } from "#modules/base/base.types";
|
|
4
|
+
import { ServerError } from "#utils/errors";
|
|
5
|
+
import { logger } from "#utils/logger";
|
|
6
|
+
export declare abstract class Base {
|
|
7
|
+
layer: ServerErrorLayer;
|
|
8
|
+
logger: ReturnType<typeof logger.child>;
|
|
9
|
+
constructor(layer: ServerErrorLayer);
|
|
10
|
+
error(code: TRPC_ERROR_CODE_KEY, message?: string, { cause, clientMessage, log, }?: {
|
|
11
|
+
cause?: unknown;
|
|
12
|
+
clientMessage?: string;
|
|
13
|
+
log?: boolean;
|
|
14
|
+
}): import("neverthrow").Err<never, ServerError>;
|
|
15
|
+
handleUnknownError(error: unknown): ServerError;
|
|
16
|
+
throwable<T>(fn: () => ServerResult<T>): ServerResult<T>;
|
|
17
|
+
throwableAsync<T>(fn: () => ServerResultAsync<T>): ServerResultAsync<T>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=base.abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.abstract.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,8BAAsB,IAAI;IACjB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEnC,KAAK,EAAE,gBAAgB;IAKnC,KAAK,CACH,IAAI,EAAE,mBAAmB,EACzB,OAAO,CAAC,EAAE,MAAM,EAChB,EACE,KAAK,EACL,aAAa,EACb,GAA4C,GAC7C,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAO;IAgBpE,kBAAkB,CAAC,KAAK,EAAE,OAAO;IAOjC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAQlD,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAO9E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getTableColumns, type InferSelectModel, type Table } from "drizzle-orm";
|
|
2
|
+
import type { Result } from "neverthrow";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import type { ServerError } from "#utils/errors";
|
|
5
|
+
type Simplify<T> = {
|
|
6
|
+
[K in keyof T]: T[K];
|
|
7
|
+
} & {};
|
|
8
|
+
type StringKeys<T> = Extract<keyof T, string>;
|
|
9
|
+
export type ServerResult<T> = Result<T, ServerError>;
|
|
10
|
+
export type ServerResultAsync<T> = Promise<ServerResult<T>>;
|
|
11
|
+
export declare const createTableSelectSchema: <T extends Table>(table: T) => import("drizzle-zod").BuildSchema<"select", T["_"]["columns"], undefined, undefined>;
|
|
12
|
+
export type ExtractColumnTypes<T extends Table, C extends Record<string, unknown>> = Simplify<Pick<InferSelectModel<T>, Extract<keyof C, keyof InferSelectModel<T>>>>;
|
|
13
|
+
export declare function toZodFilter<const T extends readonly string[]>(array: T): Record<T[number], true>;
|
|
14
|
+
export declare function pickSchema<Shape extends z.ZodRawShape, const Keys extends readonly StringKeys<Shape>[]>(schema: z.ZodObject<Shape>, keys: Keys): z.ZodObject<Pick<Shape, Keys[number]>>;
|
|
15
|
+
export declare function pickTableSchema<T extends Table, K extends keyof InferSelectModel<T>>(table: T, columns: readonly K[]): z.ZodObject<Pick<(T["_"]["columns"] extends infer T_2 extends Record<string, any> ? { [K_2 in keyof T_2 as import("drizzle-zod").ColumnIsGeneratedAlwaysAs<T["_"]["columns"][K_2]> extends true ? K_2 : K_2]: T_2[K_2] extends infer TColumn extends import("drizzle-orm").Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object> ? (TRefinements extends object ? TRefinements[K_2] extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | ((schema: any) => any) ? true : false : false) extends true ? import("drizzle-orm").Assume<TRefinements[K_2 & keyof TRefinements] extends infer T_3 ? T_3 extends TRefinements[K_2 & keyof TRefinements] ? T_3 extends (schema: any) => z.ZodType ? (TColumn["_"]["notNull"] extends true ? ReturnType<T_3> : z.ZodNullable<ReturnType<T_3>>) extends infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? TType extends "update" ? z.ZodOptional<TSchema> : TSchema : z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> : T_3 : never : never, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> : import("drizzle-zod").HandleColumn<TType, TColumn, TCoerce> : T_2[K_2] extends infer TObject extends Table<import("drizzle-orm").TableConfig<import("drizzle-orm").Column<any, object, object>>> | import("drizzle-orm").View<string, boolean, import("drizzle-orm").ColumnsSelection> | import("drizzle-orm").SelectedFieldsFlat<import("drizzle-orm").Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object>> ? import("drizzle-zod").BuildSchema<TType, import("drizzle-zod").GetSelection<TObject>, TRefinements extends object ? TRefinements[K_2 & keyof TRefinements] : undefined, TCoerce> : z.ZodAny; } : never) extends infer T_1 ? { [K_1 in keyof T_1]: T_1[K_1]; } : never, K>, z.core.$strip>;
|
|
16
|
+
export declare function omitSchema<Shape extends z.ZodRawShape, const Keys extends readonly StringKeys<Shape>[]>(schema: z.ZodObject<Shape>, keys: Keys): z.ZodObject<Omit<Shape, Keys[number]>>;
|
|
17
|
+
export declare function omitTableSchema<T extends Table, K extends keyof InferSelectModel<T>>(table: T, columns: readonly K[]): z.ZodObject<Omit<(T["_"]["columns"] extends infer T_2 extends Record<string, any> ? { [K_2 in keyof T_2 as import("drizzle-zod").ColumnIsGeneratedAlwaysAs<T["_"]["columns"][K_2]> extends true ? K_2 : K_2]: T_2[K_2] extends infer TColumn extends import("drizzle-orm").Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object> ? (TRefinements extends object ? TRefinements[K_2] extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | ((schema: any) => any) ? true : false : false) extends true ? import("drizzle-orm").Assume<TRefinements[K_2 & keyof TRefinements] extends infer T_3 ? T_3 extends TRefinements[K_2 & keyof TRefinements] ? T_3 extends (schema: any) => z.ZodType ? (TColumn["_"]["notNull"] extends true ? ReturnType<T_3> : z.ZodNullable<ReturnType<T_3>>) extends infer TSchema extends z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? TType extends "update" ? z.ZodOptional<TSchema> : TSchema : z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> : T_3 : never : never, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> : import("drizzle-zod").HandleColumn<TType, TColumn, TCoerce> : T_2[K_2] extends infer TObject extends Table<import("drizzle-orm").TableConfig<import("drizzle-orm").Column<any, object, object>>> | import("drizzle-orm").View<string, boolean, import("drizzle-orm").ColumnsSelection> | import("drizzle-orm").SelectedFieldsFlat<import("drizzle-orm").Column<import("drizzle-orm").ColumnBaseConfig<import("drizzle-orm").ColumnDataType, string>, object, object>> ? import("drizzle-zod").BuildSchema<TType, import("drizzle-zod").GetSelection<TObject>, TRefinements extends object ? TRefinements[K_2 & keyof TRefinements] : undefined, TCoerce> : z.ZodAny; } : never) extends infer T_1 ? { [K_1 in keyof T_1]: T_1[K_1]; } : never, K>, z.core.$strip>;
|
|
18
|
+
export { getTableColumns };
|
|
19
|
+
export declare function pickColumns<T extends Table, Shape extends z.ZodRawShape>(table: T, schema: z.ZodObject<Shape>): Pick<ReturnType<typeof getTableColumns<T>>, Extract<keyof Shape, string>>;
|
|
20
|
+
export declare function pickTableColumns<T extends Table, K extends keyof InferSelectModel<T>>(table: T, columns: readonly K[]): Pick<ReturnType<typeof getTableColumns<T>>, K>;
|
|
21
|
+
export declare function omitTableColumns<T extends Table, K extends keyof InferSelectModel<T>>(table: T, columns: readonly K[]): Omit<ReturnType<typeof getTableColumns<T>>, K>;
|
|
22
|
+
export declare function createSelectDTO<T extends Table>(table: T): {
|
|
23
|
+
columns: ReturnType<typeof getTableColumns<T>>;
|
|
24
|
+
schema: ReturnType<typeof createTableSelectSchema<T>>;
|
|
25
|
+
};
|
|
26
|
+
export declare function createSelectDTO<T extends Table, K extends Extract<keyof InferSelectModel<T>, string>>(table: T, partial: {
|
|
27
|
+
omit: readonly K[];
|
|
28
|
+
}): {
|
|
29
|
+
columns: ReturnType<typeof omitTableColumns<T, K>>;
|
|
30
|
+
schema: ReturnType<typeof omitTableSchema<T, K>>;
|
|
31
|
+
};
|
|
32
|
+
export declare function createSelectDTO<T extends Table, K extends Extract<keyof InferSelectModel<T>, string>>(table: T, partial: {
|
|
33
|
+
pick: readonly K[];
|
|
34
|
+
}): {
|
|
35
|
+
columns: ReturnType<typeof pickTableColumns<T, K>>;
|
|
36
|
+
schema: ReturnType<typeof pickTableSchema<T, K>>;
|
|
37
|
+
};
|
|
38
|
+
export declare function createSelectUtils<T extends Record<string, {
|
|
39
|
+
columns: unknown;
|
|
40
|
+
schema: z.ZodTypeAny;
|
|
41
|
+
}>, S extends z.ZodTypeAny>(dtos: T, output: S, transformer: (rows: Array<{
|
|
42
|
+
[K in keyof T]: z.infer<T[K]["schema"]>;
|
|
43
|
+
}>) => z.infer<S>): {
|
|
44
|
+
select: {
|
|
45
|
+
[K in keyof T]: T[K]["columns"];
|
|
46
|
+
};
|
|
47
|
+
output: S;
|
|
48
|
+
transformer: (rows: Array<{
|
|
49
|
+
[K in keyof T]: z.infer<T[K]["schema"]>;
|
|
50
|
+
}>) => z.infer<S>;
|
|
51
|
+
};
|
|
52
|
+
export declare const uuidOutput: z.ZodObject<{
|
|
53
|
+
id: z.ZodUUID;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export declare const uuidManyOutput: z.ZodObject<{
|
|
56
|
+
ids: z.ZodArray<z.ZodUUID>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const scheduleOutput: z.ZodObject<{
|
|
59
|
+
jobId: z.ZodString;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
export declare const scheduleManyOutput: z.ZodObject<{
|
|
62
|
+
jobIds: z.ZodArray<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
export declare const deleteOutput: z.ZodObject<{
|
|
65
|
+
id: z.ZodUUID;
|
|
66
|
+
}, z.core.$strip>;
|
|
67
|
+
export declare const deleteManyOutput: z.ZodObject<{
|
|
68
|
+
ids: z.ZodArray<z.ZodUUID>;
|
|
69
|
+
}, z.core.$strip>;
|
|
70
|
+
//# sourceMappingURL=base.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Session, User } from "#modules/auth/auth.lib";
|
|
2
|
+
import type { ServerResultAsync } from "#modules/base/base.dto";
|
|
3
|
+
type Level = "user" | "team" | "organization";
|
|
4
|
+
type Access = "all" | "own";
|
|
5
|
+
export type Entity = Partial<{
|
|
6
|
+
userId: string | null;
|
|
7
|
+
teamId: string | null;
|
|
8
|
+
organizationId: string | null;
|
|
9
|
+
}>;
|
|
10
|
+
export type Grant = {
|
|
11
|
+
level: Level;
|
|
12
|
+
role: string;
|
|
13
|
+
action: string;
|
|
14
|
+
resource: string;
|
|
15
|
+
access: Access;
|
|
16
|
+
attributes?: string[];
|
|
17
|
+
};
|
|
18
|
+
export type NestedGrants = Record<string, Partial<Record<Level, Record<string, Record<string, Access>>>>>;
|
|
19
|
+
export type ResourceGrant = Omit<Grant, "resource">;
|
|
20
|
+
export type ResourceActionGrant = Omit<ResourceGrant, "action">;
|
|
21
|
+
export declare function flattenNestedGrants(nestedGrants: NestedGrants): Grant[];
|
|
22
|
+
interface PermissionContext {
|
|
23
|
+
session: Session;
|
|
24
|
+
user: User;
|
|
25
|
+
}
|
|
26
|
+
export declare function checkPermissionSync<T extends Entity>(ctx: PermissionContext, grants: ResourceActionGrant[], entities?: T | T[]): boolean;
|
|
27
|
+
export declare function checkPermissionAsync<T extends Entity>(ctx: PermissionContext, grants: ResourceActionGrant[], getEntities: () => ServerResultAsync<T | T[] | undefined>): ServerResultAsync<boolean>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=base.grants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.grants.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.grants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAC9C,KAAK,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEhE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,EAAE,CAgBvE;AAcD,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAoFD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAClD,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GACjB,OAAO,CAmBT;AAED,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACzD,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,mBAAmB,EAAE,EAC7B,WAAW,EAAE,MAAM,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,GACxD,iBAAiB,CAAC,OAAO,CAAC,CAqB5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.grants.test.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.grants.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { QueryFilters, QueryInput } from "@m5kdev/commons/modules/schemas/query.schema";
|
|
2
|
+
import { type InferInsertModel, type InferSelectModel, type SelectedFields, type SQL } from "drizzle-orm";
|
|
3
|
+
import type { LibSQLDatabase } from "drizzle-orm/libsql";
|
|
4
|
+
import type { SQLiteColumn, SQLiteTableWithColumns } from "drizzle-orm/sqlite-core";
|
|
5
|
+
import { Base } from "#modules/base/base.abstract";
|
|
6
|
+
import { pickColumns, type ServerResultAsync } from "#modules/base/base.dto";
|
|
7
|
+
/** Payload for update/updateMany: id key required (string), other table fields optional. */
|
|
8
|
+
export type TableUpdatePayload<TTable extends SQLiteTableWithColumns<any>, TIdKey extends Extract<keyof InferSelectModel<TTable>, string> = "id"> = Record<TIdKey, string> & Partial<Omit<InferSelectModel<TTable>, TIdKey>>;
|
|
9
|
+
export declare class ConditionBuilder {
|
|
10
|
+
private conditions;
|
|
11
|
+
constructor(conditions?: SQL[]);
|
|
12
|
+
push(condition?: SQL): void;
|
|
13
|
+
join(type?: "and" | "or"): SQL<unknown> | undefined;
|
|
14
|
+
[Symbol.iterator](): ArrayIterator<SQL<unknown>>;
|
|
15
|
+
}
|
|
16
|
+
export declare class TableConditionBuilder<TTable extends SQLiteTableWithColumns<any>> extends ConditionBuilder {
|
|
17
|
+
private table;
|
|
18
|
+
constructor(table: TTable);
|
|
19
|
+
applyFilters({ filters }?: {
|
|
20
|
+
filters?: QueryFilters;
|
|
21
|
+
}): void;
|
|
22
|
+
}
|
|
23
|
+
export declare const arrayContains: (table: SQLiteColumn, values: string[]) => SQL<unknown> | undefined;
|
|
24
|
+
export declare class BaseRepository<O extends LibSQLDatabase<any>, S extends Record<string, SQLiteTableWithColumns<any>>, R extends Record<string, BaseRepository<any, any, any> | BaseExternaRepository>> extends Base {
|
|
25
|
+
protected orm: O;
|
|
26
|
+
protected schema: S;
|
|
27
|
+
repository?: R;
|
|
28
|
+
constructor(options: {
|
|
29
|
+
orm: O;
|
|
30
|
+
schema: S;
|
|
31
|
+
}, repository?: R);
|
|
32
|
+
getConditionBuilder(): ConditionBuilder;
|
|
33
|
+
getConditionBuilder(table: undefined): ConditionBuilder;
|
|
34
|
+
getConditionBuilder<TTable extends SQLiteTableWithColumns<any>>(table: TTable): TableConditionBuilder<TTable>;
|
|
35
|
+
withPagination<TQuery>(query: TQuery, { page, limit }: Pick<QueryInput, "page" | "limit">): TQuery;
|
|
36
|
+
withSorting<TTable extends SQLiteTableWithColumns<any>, TQuery>(query: TQuery, { sort, order }: Pick<QueryInput, "sort" | "order">, table?: TTable): TQuery;
|
|
37
|
+
withSortingAndPagination<TTable extends SQLiteTableWithColumns<any>, TQuery>(query: TQuery, { sort, order, page, limit }: Pick<QueryInput, "sort" | "order" | "page" | "limit">, table?: TTable): TQuery;
|
|
38
|
+
addUserIdFilter(userId: string, query?: QueryInput): QueryInput;
|
|
39
|
+
helpers: {
|
|
40
|
+
pickColumns: typeof pickColumns;
|
|
41
|
+
arrayContains: (table: SQLiteColumn, values: string[]) => SQL<unknown> | undefined;
|
|
42
|
+
ConditionBuilder: typeof ConditionBuilder;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generic table-bound repository with typed CRUD, returning ServerResultAsync via throwableAsync.
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
* const userRepo = new UserRepository(db, schema);
|
|
50
|
+
* class UserRepository extends BaseTableRepository<typeof schema.user> {
|
|
51
|
+
* constructor(db: LibSQLDatabase<typeof schema>, schema: typeof schema) {
|
|
52
|
+
* super(db, schema, schema.user);
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
export declare class BaseTableRepository<O extends LibSQLDatabase<any>, S extends Record<string, SQLiteTableWithColumns<any>>, R extends Record<string, BaseRepository<any, any, any> | BaseExternaRepository>, TTable extends SQLiteTableWithColumns<any>, TIdKey extends Extract<keyof InferSelectModel<TTable>, string> = "id"> extends BaseRepository<O, S, R> {
|
|
57
|
+
protected readonly table: TTable;
|
|
58
|
+
protected readonly idKey: TIdKey;
|
|
59
|
+
protected readonly idColumn: SQLiteColumn;
|
|
60
|
+
constructor(options: {
|
|
61
|
+
orm: O;
|
|
62
|
+
schema: S;
|
|
63
|
+
table: TTable;
|
|
64
|
+
idKey?: TIdKey;
|
|
65
|
+
}, repository?: R);
|
|
66
|
+
withSorting<TQuery>(query: TQuery, { sort, order }: Pick<QueryInput, "sort" | "order">, table?: SQLiteTableWithColumns<any>): TQuery;
|
|
67
|
+
withSortingAndPagination<MTable extends SQLiteTableWithColumns<any>, TQuery>(query: TQuery, { sort, order, page, limit }: Pick<QueryInput, "sort" | "order" | "page" | "limit">, table?: MTable): TQuery;
|
|
68
|
+
queryList(query?: QueryInput, options?: {
|
|
69
|
+
conditions?: TableConditionBuilder<TTable>;
|
|
70
|
+
select?: SelectedFields<SQLiteColumn, TTable>;
|
|
71
|
+
}, tx?: O): ServerResultAsync<{
|
|
72
|
+
rows: InferSelectModel<TTable>[];
|
|
73
|
+
total: number;
|
|
74
|
+
}>;
|
|
75
|
+
findById(id: string, tx?: O): ServerResultAsync<InferSelectModel<TTable> | undefined>;
|
|
76
|
+
findManyById(ids: readonly string[], tx?: O): ServerResultAsync<Array<InferSelectModel<TTable>>>;
|
|
77
|
+
create(data: InferInsertModel<TTable>, tx?: O): ServerResultAsync<InferSelectModel<TTable>>;
|
|
78
|
+
createMany(data: readonly InferInsertModel<TTable>[], tx?: O): ServerResultAsync<Array<InferSelectModel<TTable>>>;
|
|
79
|
+
update(data: TableUpdatePayload<TTable, TIdKey>, tx?: O): ServerResultAsync<InferSelectModel<TTable>>;
|
|
80
|
+
updateMany(data: readonly TableUpdatePayload<TTable, TIdKey>[], tx?: O): ServerResultAsync<Array<InferSelectModel<TTable>>>;
|
|
81
|
+
softDeleteById(id: string, tx?: O): ServerResultAsync<{
|
|
82
|
+
id: string;
|
|
83
|
+
}>;
|
|
84
|
+
softDeleteManyById(ids: readonly string[], tx?: O): ServerResultAsync<Array<{
|
|
85
|
+
id: string;
|
|
86
|
+
}>>;
|
|
87
|
+
deleteById(id: string, tx?: O): ServerResultAsync<{
|
|
88
|
+
id: string;
|
|
89
|
+
}>;
|
|
90
|
+
deleteManyById(ids: readonly string[], tx?: O): ServerResultAsync<Array<{
|
|
91
|
+
id: string;
|
|
92
|
+
}>>;
|
|
93
|
+
}
|
|
94
|
+
export declare class BaseExternaRepository extends Base {
|
|
95
|
+
constructor();
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=base.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.repository.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { QueryFilter, QueryInput } from "@m5kdev/commons/modules/schemas/query.schema";
|
|
2
|
+
import type { Session, User } from "#modules/auth/auth.lib";
|
|
3
|
+
import { Base } from "#modules/base/base.abstract";
|
|
4
|
+
import type { ServerResult, ServerResultAsync } from "#modules/base/base.dto";
|
|
5
|
+
import { type Entity, type ResourceActionGrant, type ResourceGrant } from "#modules/base/base.grants";
|
|
6
|
+
import type { BaseExternaRepository, BaseRepository } from "#modules/base/base.repository";
|
|
7
|
+
import type { Context } from "#trpc";
|
|
8
|
+
export declare class BaseService<Repositories extends Record<string, BaseRepository<any, any, any> | BaseExternaRepository>, Services extends Record<string, BaseService<any, any>>> extends Base {
|
|
9
|
+
repository: Repositories;
|
|
10
|
+
service: Services;
|
|
11
|
+
constructor(repository?: Repositories, service?: Services);
|
|
12
|
+
addUserFilter(value: string, query?: QueryInput, columnId?: string, method?: QueryFilter["method"]): QueryInput;
|
|
13
|
+
addContextFilter(ctx: Awaited<ReturnType<Context>>, include?: {
|
|
14
|
+
user?: boolean;
|
|
15
|
+
organization?: boolean;
|
|
16
|
+
team?: boolean;
|
|
17
|
+
}, query?: QueryInput, map?: Record<string, {
|
|
18
|
+
columnId: string;
|
|
19
|
+
method: QueryFilter["method"];
|
|
20
|
+
}>): QueryInput;
|
|
21
|
+
}
|
|
22
|
+
export declare class BasePermissionService<Repositories extends Record<string, BaseRepository<any, any, any> | BaseExternaRepository>, Services extends Record<string, BaseService<any, any>>> extends BaseService<Repositories, Services> {
|
|
23
|
+
grants: ResourceGrant[];
|
|
24
|
+
constructor(repository: Repositories, service: Services, grants?: ResourceGrant[]);
|
|
25
|
+
accessGuard<T extends Entity>(ctx: {
|
|
26
|
+
session: Session;
|
|
27
|
+
user: User;
|
|
28
|
+
}, action: string, entities?: T | T[], grants?: ResourceActionGrant[]): ServerResult<true>;
|
|
29
|
+
accessGuardAsync<T extends Entity>(ctx: {
|
|
30
|
+
session: Session;
|
|
31
|
+
user: User;
|
|
32
|
+
}, action: string, getEntities: () => ServerResultAsync<T | T[] | undefined>, grants?: ResourceActionGrant[]): ServerResultAsync<true>;
|
|
33
|
+
checkPermission<T extends Entity>(ctx: {
|
|
34
|
+
session: Session;
|
|
35
|
+
user: User;
|
|
36
|
+
}, action: string, entities?: T | T[], grants?: ResourceActionGrant[]): boolean;
|
|
37
|
+
checkPermissionAsync<T extends Entity>(ctx: {
|
|
38
|
+
session: Session;
|
|
39
|
+
user: User;
|
|
40
|
+
}, action: string, getEntities: () => ServerResultAsync<T | T[] | undefined>, grants?: ResourceActionGrant[]): ServerResultAsync<boolean>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=base.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.types.d.ts","sourceRoot":"","sources":["../../../../src/modules/base/base.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,MAAM,GACN,UAAU,CAAC"}
|