diff --git a/packages/server-core/src/media/static-resource-filters/static-resource-filters.hooks.ts b/packages/server-core/src/media/static-resource-filters/static-resource-filters.hooks.ts index 7642248d42..8bc94f7932 100644 --- a/packages/server-core/src/media/static-resource-filters/static-resource-filters.hooks.ts +++ b/packages/server-core/src/media/static-resource-filters/static-resource-filters.hooks.ts @@ -21,6 +21,7 @@ Ethereal Engine. All Rights Reserved. import { staticResourceFiltersQueryValidator } from '@etherealengine/engine/src/schemas/media/static-resource-filters.schema' import { hooks as schemaHooks } from '@feathersjs/schema' +import { disallow, iff, isProvider } from 'feathers-hooks-common' import verifyScope from '../../hooks/verify-scope' import { staticResourceFiltersExternalResolver, @@ -38,16 +39,15 @@ export default { before: { all: [ - verifyScope('admin', 'admin'), () => schemaHooks.validateQuery(staticResourceFiltersQueryValidator), schemaHooks.resolveQuery(staticResourceFiltersQueryResolver) ], - find: [], - get: [], - create: [], - update: [], - patch: [], - remove: [] + find: [disallow()], + get: [iff(isProvider('external'), verifyScope('static_resource', 'read'))], + create: [disallow()], + update: [disallow()], + patch: [disallow()], + remove: [disallow()] }, after: { all: [], diff --git a/packages/server-core/src/media/static-resource/static-resource.hooks.ts b/packages/server-core/src/media/static-resource/static-resource.hooks.ts index ae89b30207..968063d222 100755 --- a/packages/server-core/src/media/static-resource/static-resource.hooks.ts +++ b/packages/server-core/src/media/static-resource/static-resource.hooks.ts @@ -23,7 +23,7 @@ All portions of the code written by the Ethereal Engine team are Copyright © 20 Ethereal Engine. All Rights Reserved. */ import { hooks as schemaHooks } from '@feathersjs/schema' -import { disallow } from 'feathers-hooks-common' +import { disallow, iff, isProvider } from 'feathers-hooks-common' import { staticResourceDataValidator, @@ -79,24 +79,21 @@ export default { () => schemaHooks.validateQuery(staticResourceQueryValidator), schemaHooks.resolveQuery(staticResourceQueryResolver) ], - find: [collectAnalytics()], + find: [iff(isProvider('external'), verifyScope('static_resource', 'read')), collectAnalytics()], get: [disallow('external')], create: [ + iff(isProvider('external'), verifyScope('static_resource', 'write')), setLoggedinUserInBody('userId'), - verifyScope('admin', 'admin'), () => schemaHooks.validateData(staticResourceDataValidator), schemaHooks.resolveData(staticResourceDataResolver) ], - update: [verifyScope('admin', 'admin')], + update: [disallow()], patch: [ - verifyScope('admin', 'admin'), + iff(isProvider('external'), verifyScope('static_resource', 'write')), () => schemaHooks.validateData(staticResourcePatchValidator), schemaHooks.resolveData(staticResourcePatchResolver) ], - remove: [ - // iff(isProvider('external'), verifyScope('admin', 'admin') as any), - ensureResource - ] + remove: [iff(isProvider('external'), verifyScope('static_resource', 'write')), ensureResource] }, after: {