Browse Source

Add revoke factory methods

Allow resources to revoke permissions through the revokeXXXXX() methods.
master
TheoryOfNekomata 9 months ago
parent
commit
f5c7669d7d
1 changed files with 30 additions and 0 deletions
  1. +30
    -0
      src/core.ts

+ 30
- 0
src/core.ts View File

@@ -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<T extends BaseSchema> {
@@ -155,6 +161,30 @@ export const resource = <T extends BaseSchema>(schema: T): Resource<T> => {
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;
},


Loading…
Cancel
Save