@eclipse-ditto/ditto-javascript-client-dom
Version:
DOM implementation of Eclipse Ditto JavaScript API to be used in browsers.
147 lines • 3.93 kB
TypeScript
/*!
* Copyright (c) 2019 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
import { EntityWithId, IndexedEntityModel } from './model';
/**
* Representation of a Policy
*/
export declare class Policy extends EntityWithId {
private readonly _id;
private readonly _entries;
constructor(_id: string, _entries: Entries);
/**
* Parses a Policy.
*
* @param o - The object to parse.
* @param id - The id of the new Policy.
* @returns The Policy
*/
static fromObject(o: any, id: string): Policy;
toObject(): Object;
get id(): string;
get entries(): Entries;
}
/**
* Representation of Entries
*/
export declare class Entries extends IndexedEntityModel<Entry> {
/**
* Parses Entries.
*
* @param o - The object to parse.
* @returns The Entries
*/
static fromObject(o: any): Entries;
}
/**
* Representation of an Entry
*/
export declare class Entry extends EntityWithId {
private readonly _id;
private readonly _subjects;
private readonly _resources;
constructor(_id: string, _subjects: Subjects, _resources: Resources);
/**
* Parses an Entry.
*
* @param o - The object to parse.
* @param label - The label of the new Entry.
* @returns The Entry
*/
static fromObject(o: any, label: string): Entry;
toObject(): Object;
get id(): string;
get subjects(): Subjects;
get resources(): Resources;
}
/**
* Representation of Subjects
*/
export declare class Subjects extends IndexedEntityModel<Subject> {
/**
* Parses Subjects.
*
* @param o - The object to parse.
* @returns The Subjects
*/
static fromObject(o: any): Subjects;
}
/**
* Representation of Resources
*/
export declare class Resources extends IndexedEntityModel<Resource> {
/**
* Parses Resources.
*
* @param o - The object to parse.
* @returns The Resources
*/
static fromObject(o: any): Resources;
}
export declare type SubjectIssuer = string;
export declare enum DittoSubjectIssuer {
GOOGLE = "google",
NGINX = "nginx"
}
export declare class SubjectId {
private readonly _id;
private constructor();
static fromIssuerAndId(issuer: SubjectIssuer, subjectId: string): SubjectId;
static fromString(subjectId: string): SubjectId;
toString(): string;
}
export declare type SubjectType = string;
/**
* Representation of a Subject
*/
export declare class Subject extends EntityWithId {
private readonly _id;
private readonly _type;
constructor(_id: SubjectId, _type: SubjectType);
/**
* Parses a Subject.
*
* @param o - The object to parse.
* @param id - The id of the new Subject.
* @returns The Subject
*/
static fromObject(o: any, id: string): Subject;
toObject(): Object;
get id(): string;
get type(): SubjectType;
}
export declare enum AccessRight {
Read = "READ",
Write = "WRITE"
}
/**
* Representation of a Resource
*/
export declare class Resource extends EntityWithId {
private readonly _id;
private readonly _grant;
private readonly _revoke;
constructor(_id: string, _grant: AccessRight[], _revoke: AccessRight[]);
/**
* Parses a Resource.
*
* @param o - The object to parse.
* @param id - The id of the new Resource.
* @returns The Resource
*/
static fromObject(o: any, id: string): Resource;
toObject(): Object;
get id(): string;
get grant(): AccessRight[];
get revoke(): AccessRight[];
}
//# sourceMappingURL=policies.model.d.ts.map