@cedarjs/storage 5.0.0 → 6.0.0-canary.2615
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/dist/cjs/UrlSigner.d.ts +46 -0
- package/dist/cjs/UrlSigner.d.ts.map +1 -0
- package/dist/cjs/adapters/BaseStorageAdapter.d.ts +31 -0
- package/dist/cjs/adapters/BaseStorageAdapter.d.ts.map +1 -0
- package/dist/cjs/adapters/FileSystemStorage/FileSystemStorage.d.ts +16 -0
- package/dist/cjs/adapters/FileSystemStorage/FileSystemStorage.d.ts.map +1 -0
- package/dist/cjs/adapters/MemoryStorage/MemoryStorage.d.ts +15 -0
- package/dist/cjs/adapters/MemoryStorage/MemoryStorage.d.ts.map +1 -0
- package/dist/cjs/createSavers.d.ts +15 -0
- package/dist/cjs/createSavers.d.ts.map +1 -0
- package/dist/cjs/fileToDataUri.d.ts +3 -0
- package/dist/cjs/fileToDataUri.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +40 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/prismaExtension.d.ts +27 -0
- package/dist/cjs/prismaExtension.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type SignedUrlSettings = {
|
|
2
|
+
endpoint: string;
|
|
3
|
+
secret: string;
|
|
4
|
+
};
|
|
5
|
+
export type SignatureValidationArgs = {
|
|
6
|
+
path: string;
|
|
7
|
+
s: string;
|
|
8
|
+
expiry?: number | string;
|
|
9
|
+
};
|
|
10
|
+
export declare class UrlSigner {
|
|
11
|
+
private secret;
|
|
12
|
+
private endpoint;
|
|
13
|
+
constructor({ secret, endpoint }: SignedUrlSettings);
|
|
14
|
+
generateSignature({ filePath, expiresInMs, }: {
|
|
15
|
+
filePath: string;
|
|
16
|
+
expiresInMs?: number;
|
|
17
|
+
}): {
|
|
18
|
+
expiry: number;
|
|
19
|
+
signature: string;
|
|
20
|
+
} | {
|
|
21
|
+
signature: string;
|
|
22
|
+
expiry: undefined;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The signature and expires have to be extracted from the URL
|
|
26
|
+
*/
|
|
27
|
+
validateSignature({ s: signature, path: filePath, // In the URL we call it path
|
|
28
|
+
expiry, }: SignatureValidationArgs): string;
|
|
29
|
+
validateSignedUrl(fullPathWithQueryParametersOrUrl: string): string;
|
|
30
|
+
generateSignedUrl(filePath: string, expiresIn?: number): string;
|
|
31
|
+
}
|
|
32
|
+
export declare const getSignedDetailsFromUrl: (url: string) => {
|
|
33
|
+
expires: number | undefined;
|
|
34
|
+
file: string | null;
|
|
35
|
+
signature: string | null;
|
|
36
|
+
};
|
|
37
|
+
export declare const EXPIRES_IN: {
|
|
38
|
+
seconds: (s: number) => number;
|
|
39
|
+
minutes: (m: number) => number;
|
|
40
|
+
hours: (h: number) => number;
|
|
41
|
+
days: (d: number) => number;
|
|
42
|
+
weeks: (w: number) => number;
|
|
43
|
+
months: (m: number) => number;
|
|
44
|
+
years: (y: number) => number;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=UrlSigner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlSigner.d.ts","sourceRoot":"","sources":["../../src/UrlSigner.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AACD,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB;IASnD,iBAAiB,CAAC,EAChB,QAAQ,EACR,WAAW,GACZ,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;;;;;;;IA2BD;;OAEG;IACH,iBAAiB,CAAC,EAChB,CAAC,EAAE,SAAS,EACZ,IAAI,EAAE,QAAQ,EAAE,6BAA6B;IAC7C,MAAM,GACP,EAAE,uBAAuB;IAiC1B,iBAAiB,CAAC,gCAAgC,EAAE,MAAM;IAuB1D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAiBvD;AAED,eAAO,MAAM,uBAAuB,GAAI,KAAK,MAAM;;;;CAQlD,CAAA;AAED,eAAO,MAAM,UAAU;iBACR,MAAM;iBACN,MAAM;eACR,MAAM;cACP,MAAM;eACL,MAAM;gBACL,MAAM;eACP,MAAM;CAClB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The storage adapter will just save the file and return
|
|
3
|
+
* {
|
|
4
|
+
* fileId: string,
|
|
5
|
+
* location: string, // depending on storage it could be a path
|
|
6
|
+
* }
|
|
7
|
+
*/
|
|
8
|
+
import mime from 'mime-types';
|
|
9
|
+
export type AdapterResult = {
|
|
10
|
+
location: string;
|
|
11
|
+
};
|
|
12
|
+
export type SaveOptionsOverride = {
|
|
13
|
+
fileName?: string;
|
|
14
|
+
path?: string;
|
|
15
|
+
};
|
|
16
|
+
export type AdapterOptions = {
|
|
17
|
+
baseDir: string;
|
|
18
|
+
};
|
|
19
|
+
export declare abstract class BaseStorageAdapter {
|
|
20
|
+
adapterOpts: AdapterOptions;
|
|
21
|
+
constructor(adapterOpts: AdapterOptions);
|
|
22
|
+
getAdapterOptions(): AdapterOptions;
|
|
23
|
+
generateFileNameWithExtension(saveOpts: SaveOptionsOverride | undefined, file: File): string;
|
|
24
|
+
abstract save(file: File, saveOpts?: SaveOptionsOverride): Promise<AdapterResult>;
|
|
25
|
+
abstract remove(fileLocation: AdapterResult['location']): Promise<void>;
|
|
26
|
+
abstract read(fileLocation: AdapterResult['location']): Promise<{
|
|
27
|
+
contents: Buffer | string;
|
|
28
|
+
type: ReturnType<typeof mime.lookup>;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=BaseStorageAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/BaseStorageAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,YAAY,CAAA;AAG7B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,8BAAsB,kBAAkB;IACtC,WAAW,EAAE,cAAc,CAAA;gBACf,WAAW,EAAE,cAAc;IAIvC,iBAAiB;IAIjB,6BAA6B,CAC3B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,IAAI,EAAE,IAAI;IASZ,QAAQ,CAAC,IAAI,CACX,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,aAAa,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAC9D,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;QACzB,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;KACrC,CAAC;CACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SaveOptionsOverride } from '../BaseStorageAdapter.js';
|
|
2
|
+
import { BaseStorageAdapter } from '../BaseStorageAdapter.js';
|
|
3
|
+
export declare class FileSystemStorage extends BaseStorageAdapter implements BaseStorageAdapter {
|
|
4
|
+
constructor(opts: {
|
|
5
|
+
baseDir: string;
|
|
6
|
+
});
|
|
7
|
+
save(file: File, saveOverride?: SaveOptionsOverride): Promise<{
|
|
8
|
+
location: string;
|
|
9
|
+
}>;
|
|
10
|
+
read(filePath: string): Promise<{
|
|
11
|
+
contents: NonSharedBuffer;
|
|
12
|
+
type: string | false;
|
|
13
|
+
}>;
|
|
14
|
+
remove(filePath: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=FileSystemStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSystemStorage.d.ts","sourceRoot":"","sources":["../../../../src/adapters/FileSystemStorage/FileSystemStorage.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,qBAAa,iBACX,SAAQ,kBACR,YAAW,kBAAkB;gBAEjB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAQ/B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,mBAAmB;;;IAanD,IAAI,CAAC,QAAQ,EAAE,MAAM;;;;IAOrB,MAAM,CAAC,QAAQ,EAAE,MAAM;CAG9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseStorageAdapter } from '../BaseStorageAdapter.js';
|
|
2
|
+
import type { SaveOptionsOverride } from '../BaseStorageAdapter.js';
|
|
3
|
+
export declare class MemoryStorage extends BaseStorageAdapter implements BaseStorageAdapter {
|
|
4
|
+
store: Record<string, any>;
|
|
5
|
+
save(file: File, saveOpts?: SaveOptionsOverride): Promise<{
|
|
6
|
+
location: string;
|
|
7
|
+
}>;
|
|
8
|
+
remove(filePath: string): Promise<void>;
|
|
9
|
+
read(filePath: string): Promise<{
|
|
10
|
+
contents: any;
|
|
11
|
+
type: string | false;
|
|
12
|
+
}>;
|
|
13
|
+
clear(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=MemoryStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../../../src/adapters/MemoryStorage/MemoryStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,qBAAa,aACX,SAAQ,kBACR,YAAW,kBAAkB;IAE7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK;IAEzB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB;;;IAgB/C,MAAM,CAAC,QAAQ,EAAE,MAAM;IAIvB,IAAI,CAAC,QAAQ,EAAE,MAAM;;;;IAOrB,KAAK;CAGZ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SaveOptionsOverride, BaseStorageAdapter } from './adapters/BaseStorageAdapter.js';
|
|
2
|
+
import type { ModelNamesFor, UploadsConfig } from './prismaExtension.js';
|
|
3
|
+
type MakeFilesString<T> = {
|
|
4
|
+
[K in keyof T]: T[K] extends File ? string : T[K];
|
|
5
|
+
};
|
|
6
|
+
export declare const createFileListSaver: (storage: BaseStorageAdapter) => (files?: File[], pathOverrideOnly?: {
|
|
7
|
+
path?: string;
|
|
8
|
+
}) => Promise<string[]>;
|
|
9
|
+
export declare const createUploadSavers: <TClient, MNames extends ModelNamesFor<TClient> = ModelNamesFor<TClient>>(uploadConfig: UploadsConfig<TClient, MNames>, storage: BaseStorageAdapter) => { [K in `for${Capitalize<string & MNames>}`]: <T extends Record<string, any>>(data: T, overrideSaveOptions?: SaveOptionsOverride) => Promise<MakeFilesString<T>>; } & {
|
|
10
|
+
inList: (files?: File[], pathOverrideOnly?: {
|
|
11
|
+
path?: string;
|
|
12
|
+
}) => Promise<string[]>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=createSavers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSavers.d.ts","sourceRoot":"","sources":["../../src/createSavers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGxE,KAAK,eAAe,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;CAClD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,MAC/C,QAAO,IAAI,EAAO,EAAE,mBAAmB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,sBAUvE,CAAA;AAMD,eAAO,MAAM,kBAAkB,GAC7B,OAAO,EACP,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAE9D,cAAc,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAC5C,SAAS,kBAAkB,QAMxB,CAAC,2CAAwB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAC/C,CAAC,wBACe,mBAAmB,KACtC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;qBA9Bb,IAAI,EAAE,qBAA0B;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;CA8EvE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileToDataUri.d.ts","sourceRoot":"","sources":["../../src/fileToDataUri.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,mBAO5B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { BaseStorageAdapter } from './adapters/BaseStorageAdapter.js';
|
|
2
|
+
import type { ModelNamesFor, UploadConfigForModel, UploadsConfig } from './prismaExtension.js';
|
|
3
|
+
import type { UrlSigner } from './UrlSigner.js';
|
|
4
|
+
type SetupStorageOptions<TClient, MNames extends ModelNamesFor<TClient> = ModelNamesFor<TClient>> = {
|
|
5
|
+
uploadsConfig: UploadsConfig<TClient, MNames>;
|
|
6
|
+
storageAdapter: BaseStorageAdapter;
|
|
7
|
+
urlSigner?: UrlSigner;
|
|
8
|
+
};
|
|
9
|
+
export declare const setupStorage: <TClient, MNames extends ModelNamesFor<TClient> = ModelNamesFor<TClient>>({ uploadsConfig, storageAdapter, urlSigner, }: SetupStorageOptions<TClient, MNames>) => {
|
|
10
|
+
storagePrismaExtension: (client: any) => import("@prisma/client/extension").PrismaClientExtends<import("@prisma/client/runtime/client").InternalArgs<{ [K in MNames]: {
|
|
11
|
+
withDataUri: {
|
|
12
|
+
needs: Record<string, boolean>;
|
|
13
|
+
compute: (modelData: Record<string, unknown>) => <T>(this: T) => Promise<T>;
|
|
14
|
+
};
|
|
15
|
+
withSignedUrl: {
|
|
16
|
+
needs: Record<string, boolean>;
|
|
17
|
+
compute: (modelData: Record<string, unknown>) => <T>(this: T, signArgs?: {
|
|
18
|
+
expiresIn?: number;
|
|
19
|
+
}) => T;
|
|
20
|
+
};
|
|
21
|
+
}; }, {}, {}, {}> & import("@prisma/client/runtime/client").DefaultArgs>;
|
|
22
|
+
saveFiles: { [K in `for${Capitalize<string & MNames>}`]: <T extends Record<string, any>>(data: T, overrideSaveOptions?: import("./adapters/BaseStorageAdapter.js").SaveOptionsOverride) => Promise<{ [K_2 in keyof T]: T[K_2] extends File ? string : T[K_2]; }>; } & {
|
|
23
|
+
inList: (files?: File[], pathOverrideOnly?: {
|
|
24
|
+
path?: string;
|
|
25
|
+
}) => Promise<string[]>;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* This utility function ensures that you receive accurate type suggestions for your savers.
|
|
30
|
+
* If you use the type UploadsConfig directly, you may receive suggestions for saveFiles.forY where Y hasn't been configured.
|
|
31
|
+
* By using this utility function, you will only receive suggestions for the models that you have configured.
|
|
32
|
+
*
|
|
33
|
+
* @param uploadsConfig The uploads configuration object.
|
|
34
|
+
* @returns The same uploads configuration object, but with filtered types
|
|
35
|
+
*/
|
|
36
|
+
export declare function createUploadsConfig<TClient, T extends Partial<{
|
|
37
|
+
[K in ModelNamesFor<TClient>]?: UploadConfigForModel<TClient, K>;
|
|
38
|
+
}>>(uploadsConfig: T): T;
|
|
39
|
+
export type { ModelNamesFor, UploadsConfig } from './prismaExtension.js';
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,KAAK,mBAAmB,CACtB,OAAO,EACP,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,IAC5D;IACF,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7C,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,OAAO,EACP,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9D,+CAIC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;gBAZjC,CAAC;;;CAyBN,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EACP,CAAC,SAAS,OAAO,CAAC;KACf,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;CACjE,CAAC,EACF,aAAa,EAAE,CAAC,GAAG,CAAC,CAErB;AAED,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Prisma as PrismaExtension } from '@prisma/client/extension';
|
|
2
|
+
import type { BaseStorageAdapter } from './adapters/BaseStorageAdapter.js';
|
|
3
|
+
import type { UrlSigner } from './UrlSigner.js';
|
|
4
|
+
type FilterOutDollarPrefixed<T> = T extends `$${string}` ? never : T extends symbol ? never : T;
|
|
5
|
+
export type ModelNamesFor<TClient> = FilterOutDollarPrefixed<keyof TClient>;
|
|
6
|
+
type PrismaModelFields<TClient, MName extends ModelNamesFor<TClient>> = keyof PrismaExtension.Result<TClient[MName], any, 'findFirstOrThrow'>;
|
|
7
|
+
export type UploadConfigForModel<TClient, TPrismaModelName extends ModelNamesFor<TClient>> = {
|
|
8
|
+
fields: PrismaModelFields<TClient, TPrismaModelName> | PrismaModelFields<TClient, TPrismaModelName>[];
|
|
9
|
+
};
|
|
10
|
+
export type UploadsConfig<TClient, MNames extends ModelNamesFor<TClient> = ModelNamesFor<TClient>> = {
|
|
11
|
+
[K in MNames]?: UploadConfigForModel<TClient, K>;
|
|
12
|
+
};
|
|
13
|
+
type WithSignedUrlArgs = {
|
|
14
|
+
expiresIn?: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const createUploadsExtension: <TClient, MNames extends ModelNamesFor<TClient> = ModelNamesFor<TClient>>(config: UploadsConfig<TClient, MNames>, storageAdapter: BaseStorageAdapter, urlSigner?: UrlSigner) => (client: any) => import("@prisma/client/extension").PrismaClientExtends<import("@prisma/client/runtime/client").InternalArgs<{ [K in MNames]: {
|
|
17
|
+
withDataUri: {
|
|
18
|
+
needs: Record<string, boolean>;
|
|
19
|
+
compute: (modelData: Record<string, unknown>) => <T>(this: T) => Promise<T>;
|
|
20
|
+
};
|
|
21
|
+
withSignedUrl: {
|
|
22
|
+
needs: Record<string, boolean>;
|
|
23
|
+
compute: (modelData: Record<string, unknown>) => <T>(this: T, signArgs?: WithSignedUrlArgs) => T;
|
|
24
|
+
};
|
|
25
|
+
}; }, {}, {}, {}> & import("@prisma/client/runtime/client").DefaultArgs>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=prismaExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prismaExtension.d.ts","sourceRoot":"","sources":["../../src/prismaExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,KAAK,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,GACpD,KAAK,GACL,CAAC,SAAS,MAAM,GACd,KAAK,GACL,CAAC,CAAA;AAGP,MAAM,MAAM,aAAa,CAAC,OAAO,IAAI,uBAAuB,CAAC,MAAM,OAAO,CAAC,CAAA;AAE3E,KAAK,iBAAiB,CACpB,OAAO,EACP,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,IAClC,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAA;AAEzE,MAAM,MAAM,oBAAoB,CAC9B,OAAO,EACP,gBAAgB,SAAS,aAAa,CAAC,OAAO,CAAC,IAC7C;IACF,MAAM,EACF,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAC5C,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,aAAa,CACvB,OAAO,EACP,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,IAC5D;KACD,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;CACjD,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,OAAO,EACP,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAE9D,QAAQ,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EACtC,gBAAgB,kBAAkB,EAClC,YAAY,SAAS,qIAGlB,CAAC;iBACa;QACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;KAChC;mBACc;QACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9B,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,KAAK,CAAC,CAAA;KACrD;wEA+RN,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/storage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-canary.2615",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/cedarjs/cedar.git",
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
"test:watch": "vitest watch"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@cedarjs/project-config": "
|
|
56
|
+
"@cedarjs/project-config": "6.0.0-canary.2615",
|
|
57
57
|
"mime-types": "2.1.35",
|
|
58
58
|
"ulid": "3.0.2"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@arethetypeswrong/cli": "0.18.4",
|
|
62
|
-
"@cedarjs/framework-tools": "
|
|
62
|
+
"@cedarjs/framework-tools": "6.0.0-canary.2615",
|
|
63
63
|
"@prisma/adapter-better-sqlite3": "7.8.0",
|
|
64
64
|
"@prisma/client": "7.8.0",
|
|
65
65
|
"@types/better-sqlite3": "7.6.13",
|