feat: Re-stream static files from S3, introduce protected static files

This commit is contained in:
Maksim Eltyshev
2026-01-30 21:45:18 +01:00
parent a5dc0a64ac
commit db99227f32
8 changed files with 196 additions and 80 deletions
@@ -38,8 +38,7 @@ module.exports = {
if (sails.helpers.utils.isPreloadedFaviconExists(inputs.record.data.hostname)) {
faviconUrl = `${sails.config.custom.baseUrl}/preloaded-favicons/${faviconFilename}`;
} else {
const fileManager = sails.hooks['file-manager'].getInstance();
faviconUrl = `${fileManager.buildUrl(`${sails.config.custom.faviconsPathSegment}/${faviconFilename}`)}`;
faviconUrl = `${sails.config.custom.baseUrl}/favicons/${faviconFilename}`;
}
data = {
@@ -14,13 +14,11 @@ module.exports = {
},
fn(inputs) {
const fileManager = sails.hooks['file-manager'].getInstance();
return {
..._.omit(inputs.record, ['uploadedFileId', 'extension']),
url: `${fileManager.buildUrl(`${sails.config.custom.backgroundImagesPathSegment}/${inputs.record.uploadedFileId}/original.${inputs.record.extension}`)}`,
url: `${sails.config.custom.baseUrl}/background-images/${inputs.record.uploadedFileId}/original.${inputs.record.extension}`,
thumbnailUrls: {
outside360: `${fileManager.buildUrl(`${sails.config.custom.backgroundImagesPathSegment}/${inputs.record.uploadedFileId}/outside-360.${inputs.record.extension}`)}`,
outside360: `${sails.config.custom.baseUrl}/background-images/${inputs.record.uploadedFileId}/outside-360.${inputs.record.extension}`,
},
};
},
+2 -4
View File
@@ -17,8 +17,6 @@ module.exports = {
},
fn(inputs) {
const fileManager = sails.hooks['file-manager'].getInstance();
const data = {
..._.omit(inputs.record, [
'password',
@@ -30,9 +28,9 @@ module.exports = {
'termsAcceptedAt',
]),
avatar: inputs.record.avatar && {
url: `${fileManager.buildUrl(`${sails.config.custom.userAvatarsPathSegment}/${inputs.record.avatar.uploadedFileId}/original.${inputs.record.avatar.extension}`)}`,
url: `${sails.config.custom.baseUrl}/user-avatars/${inputs.record.avatar.uploadedFileId}/original.${inputs.record.avatar.extension}`,
thumbnailUrls: {
cover180: `${fileManager.buildUrl(`${sails.config.custom.userAvatarsPathSegment}/${inputs.record.avatar.uploadedFileId}/cover-180.${inputs.record.avatar.extension}`)}`,
cover180: `${sails.config.custom.baseUrl}/user-avatars/${inputs.record.avatar.uploadedFileId}/cover-180.${inputs.record.avatar.extension}`,
},
},
language: inputs.record.language || sails.config.i18n.defaultLocale,