Skip to content

Commit 2e11bf3

Browse files
authored
Remove S3 File Adapter (#7324)
* remove s3 adapter * moved mock files adapter * Update package-lock.json
1 parent bf732b9 commit 2e11bf3

File tree

8 files changed

+64
-156
lines changed

8 files changed

+64
-156
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ ___
9595
- Removed [parse-server-simple-mailgun-adapter](https://github.com/parse-community/parse-server-simple-mailgun-adapter) dependency; to continue using the adapter it has to be explicitly installed (Manuel Trezza) [#7321](https://github.com/parse-community/parse-server/pull/7321)
9696
- Remove support for MongoDB 3.6 which has reached its End-of-Life date and PostgreSQL 10 (Manuel Trezza) [#7315](https://github.com/parse-community/parse-server/pull/7315)
9797
- Remove support for Node 10 which has reached its End-of-Life date (Manuel Trezza) [#7314](https://github.com/parse-community/parse-server/pull/7314)
98+
- Remove S3 Files Adapter from Parse Server, instead install separately as `@parse/s3-files-adapter` (Manuel Trezza) [#?](https://github.com/parse-community/parse-server/pull/?)
9899
### Notable Changes
99100
- Added Parse Server Security Check to report weak security settings (Manuel Trezza, dblythy) [#7247](https://github.com/parse-community/parse-server/issues/7247)
100101
- EXPERIMENTAL: Added new page router with placeholder rendering and localization of custom and feature pages such as password reset and email verification (Manuel Trezza) [#6891](https://github.com/parse-community/parse-server/issues/6891)

package-lock.json

Lines changed: 16 additions & 148 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
"@graphql-tools/utils": "6.2.4",
2626
"@parse/fs-files-adapter": "1.2.0",
2727
"@parse/push-adapter": "3.4.0",
28-
"@parse/s3-files-adapter": "1.6.0",
2928
"apollo-server-express": "2.21.0",
3029
"bcryptjs": "2.4.3",
3130
"body-parser": "1.19.0",
@@ -93,6 +92,7 @@
9392
"lint-staged": "10.2.3",
9493
"madge": "4.0.2",
9594
"mock-mail-adapter": "file:spec/dependencies/mock-mail-adapter",
95+
"mock-files-adapter": "file:spec/dependencies/mock-files-adapter",
9696
"mongodb-runner": "4.8.1",
9797
"mongodb-version-list": "1.0.0",
9898
"node-fetch": "2.6.1",

spec/AdapterLoader.spec.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const loadAdapter = require('../lib/Adapters/AdapterLoader').loadAdapter;
22
const FilesAdapter = require('@parse/fs-files-adapter').default;
3-
const S3Adapter = require('@parse/s3-files-adapter').default;
43
const ParsePushAdapter = require('@parse/push-adapter').default;
4+
const MockFilesAdapter = require('mock-files-adapter');
55
const Config = require('../lib/Config');
66

77
describe('AdapterLoader', () => {
@@ -142,12 +142,12 @@ describe('AdapterLoader', () => {
142142
}).not.toThrow();
143143
});
144144

145-
it('should load S3Adapter from direct passing', done => {
145+
it('should load file adapter from direct passing', done => {
146146
spyOn(console, 'warn').and.callFake(() => {});
147-
const s3Adapter = new S3Adapter('key', 'secret', 'bucket');
147+
const mockFilesAdapter = new MockFilesAdapter('key', 'secret', 'bucket');
148148
expect(() => {
149-
const adapter = loadAdapter(s3Adapter, FilesAdapter);
150-
expect(adapter).toBe(s3Adapter);
149+
const adapter = loadAdapter(mockFilesAdapter, FilesAdapter);
150+
expect(adapter).toBe(mockFilesAdapter);
151151
}).not.toThrow();
152152
done();
153153
});
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* A mock files adapter for testing.
3+
*/
4+
class MockFilesAdapter {
5+
constructor(options = {}) {
6+
if (options.throw) {
7+
throw 'MockFilesAdapterConstructor';
8+
}
9+
}
10+
createFile() {
11+
return 'MockFilesAdapterCreateFile';
12+
}
13+
deleteFile() {
14+
return 'MockFilesAdapterDeleteFile';
15+
}
16+
getFileData() {
17+
return 'MockFilesAdapterGetFileData';
18+
}
19+
getFileLocation() {
20+
return 'MockFilesAdapterGetFileLocation';
21+
}
22+
validateFilename() {
23+
return 'MockFilesAdapterValidateFilename';
24+
}
25+
handleFileStream() {
26+
return 'MockFilesAdapterHandleFileStream';
27+
}
28+
}
29+
30+
module.exports = MockFilesAdapter;
31+
module.exports.default = MockFilesAdapter;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"name": "mock-files-adapter",
3+
"version": "1.0.0",
4+
"description": "Mock files adapter for tests.",
5+
"main": "index.js"
6+
}

spec/index.spec.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,9 @@ describe('server', () => {
391391
});
392392

393393
it('exposes correct adapters', done => {
394-
expect(ParseServer.S3Adapter).toThrow();
394+
expect(ParseServer.S3Adapter).toThrow(
395+
'S3Adapter is not provided by parse-server anymore; please install @parse/s3-files-adapter'
396+
);
395397
expect(ParseServer.GCSAdapter).toThrow(
396398
'GCSAdapter is not provided by parse-server anymore; please install @parse/gcs-files-adapter'
397399
);

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import ParseServer from './ParseServer';
2-
import S3Adapter from '@parse/s3-files-adapter';
32
import FileSystemAdapter from '@parse/fs-files-adapter';
43
import InMemoryCacheAdapter from './Adapters/Cache/InMemoryCacheAdapter';
54
import NullCacheAdapter from './Adapters/Cache/NullCacheAdapter';
@@ -21,6 +20,7 @@ const _ParseServer = function (options: ParseServerOptions) {
2120
_ParseServer.createLiveQueryServer = ParseServer.createLiveQueryServer;
2221
_ParseServer.start = ParseServer.start;
2322

23+
const S3Adapter = useExternal('S3Adapter', '@parse/s3-files-adapter');
2424
const GCSAdapter = useExternal('GCSAdapter', '@parse/gcs-files-adapter');
2525

2626
Object.defineProperty(module.exports, 'logger', {

0 commit comments

Comments
 (0)