You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.4 KiB
73 lines
1.4 KiB
import { ContextDefinition } from "jsonld";
|
|
|
|
/**
|
|
* =============================================================================
|
|
* Typescript Typings for wac
|
|
* =============================================================================
|
|
*/
|
|
|
|
/**
|
|
* Authorization Type
|
|
*/
|
|
export interface Authorization {
|
|
"@id"?: string;
|
|
"@context"?: ContextDefinition;
|
|
/**
|
|
* Denotes this as an acl:Authorization
|
|
*/
|
|
type: {
|
|
"@id": "Authorization";
|
|
};
|
|
/**
|
|
* The subject of this authorization
|
|
*/
|
|
accessTo?: {
|
|
"@id": string;
|
|
};
|
|
/**
|
|
* The container subject of this authorization
|
|
*/
|
|
default?: {
|
|
"@id": string;
|
|
};
|
|
/**
|
|
* An agent is a person, social entity or software identified by a URI, e.g., a WebID denotes an agent
|
|
*/
|
|
agent?: {
|
|
"@id": string;
|
|
}[];
|
|
/**
|
|
* Denotes a group of agents being given the access permission
|
|
*/
|
|
agentGroup?: {
|
|
"@id": string;
|
|
}[];
|
|
/**
|
|
* An agent class is a class of persons or entities identified by a URI.
|
|
*/
|
|
agentClass?: (
|
|
| {
|
|
"@id": "AuthenticatedAgent";
|
|
}
|
|
| {
|
|
"@id": "Agent";
|
|
}
|
|
)[];
|
|
/**
|
|
* Denotes a class of operations that the agents can perform on a resource.
|
|
*/
|
|
mode?: (
|
|
| {
|
|
"@id": "Read";
|
|
}
|
|
| {
|
|
"@id": "Write";
|
|
}
|
|
| {
|
|
"@id": "Append";
|
|
}
|
|
| {
|
|
"@id": "Control";
|
|
}
|
|
)[];
|
|
}
|
|
|