diff --git a/src/core.ts b/src/core.ts index eaa1988..1d98eaa 100644 --- a/src/core.ts +++ b/src/core.ts @@ -44,6 +44,12 @@ interface ResourceFactory { allowPatch(): this; allowEmplace(): this; allowDelete(): this; + revokeFetchCollection(): this; + revokeFetchItem(): this; + revokeCreate(): this; + revokePatch(): this; + revokeEmplace(): this; + revokeDelete(): this; } export interface ResourceData { @@ -155,6 +161,30 @@ export const resource = (schema: T): Resource => { canDelete = true; return this; }, + revokeFetchCollection() { + canFetchCollection = false; + return this; + }, + revokeFetchItem() { + canFetchItem = false; + return this; + }, + revokeCreate() { + canCreate = false; + return this; + }, + revokePatch() { + canPatch = false; + return this; + }, + revokeEmplace() { + canEmplace = false; + return this; + }, + revokeDelete() { + canDelete = false; + return this; + }, get canCreate() { return canCreate; },