@@ -9,6 +9,7 @@ import type { Adapter } from '../../src/types'
99import { Media } from './collections/Media'
1010
1111let adapter : Adapter
12+ let uploadOptions
1213
1314if ( process . env . PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'azure' ) {
1415 adapter = azureBlobStorageAdapter ( {
@@ -20,6 +21,11 @@ if (process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'azure') {
2021}
2122
2223if ( process . env . PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 's3' ) {
24+ // The s3 adapter supports using temp files for uploads
25+ uploadOptions = {
26+ useTempFiles : true ,
27+ }
28+
2329 adapter = s3Adapter ( {
2430 config : {
2531 endpoint : process . env . S3_ENDPOINT ,
@@ -47,6 +53,7 @@ if (process.env.PAYLOAD_PUBLIC_CLOUD_STORAGE_ADAPTER === 'gcs') {
4753export default buildConfig ( {
4854 serverURL : 'http://localhost:3000' ,
4955 collections : [ Media , Users ] ,
56+ upload : uploadOptions ,
5057 admin : {
5158 // NOTE - these webpack extensions are only required
5259 // for development of this plugin.
@@ -59,6 +66,8 @@ export default buildConfig({
5966 alias : {
6067 ...( config . resolve . alias || { } ) ,
6168 react : path . resolve ( __dirname , '../node_modules/react' ) ,
69+ fs : path . resolve ( __dirname , 'mocks/fileStub.js' ) ,
70+ util : path . resolve ( __dirname , 'mocks/promisifyMock.js' ) ,
6271 '@azure/storage-blob' : path . resolve ( __dirname , '../../src/adapters/azure/mock.js' ) ,
6372 '@aws-sdk/client-s3' : path . resolve ( __dirname , '../../src/adapters/s3/mock.js' ) ,
6473 '@google-cloud/storage' : path . resolve ( __dirname , '../../src/adapters/gcs/mock.js' ) ,
@@ -72,6 +81,7 @@ export default buildConfig({
7281 outputFile : path . resolve ( __dirname , 'payload-types.ts' ) ,
7382 } ,
7483 plugins : [
84+ // @ts -expect-error
7585 cloudStorage ( {
7686 collections : {
7787 media : {
@@ -81,12 +91,19 @@ export default buildConfig({
8191 } ) ,
8292 ] ,
8393 onInit : async payload => {
84- await payload . create ( {
94+ const users = await payload . find ( {
8595 collection : 'users' ,
86- data : {
87- email : 'dev@payloadcms.com' ,
88- password : 'test' ,
89- } ,
96+ limit : 1 ,
9097 } )
98+
99+ if ( ! users . docs . length ) {
100+ await payload . create ( {
101+ collection : 'users' ,
102+ data : {
103+ email : 'dev@payloadcms.com' ,
104+ password : 'test' ,
105+ } ,
106+ } )
107+ }
91108 } ,
92109} )
0 commit comments