@1hive/connect-core
Version:
Access and interact with Aragon Organizations and their apps.
35 lines • 1.87 kB
TypeScript
import type { Address, AppFilters, Network, SubscriptionCallback, SubscriptionHandler } from '@1hive/connect-types';
import { ConnectionContext } from '../types';
import IOrganizationConnector from './IOrganizationConnector';
import App from '../entities/App';
import Organization from '../entities/Organization';
import Permission from '../entities/Permission';
import Repo from '../entities/Repo';
import Role from '../entities/Role';
export declare type ConnectorJsonConfig = {
permissions: Permission[];
network: Network;
};
declare class ConnectorJson implements IOrganizationConnector {
#private;
connection?: ConnectionContext;
readonly config: ConnectorJsonConfig;
readonly name = "json";
readonly network: Network;
constructor(config: ConnectorJsonConfig);
connect(connection: ConnectionContext): Promise<void>;
disconnect(): Promise<void>;
permissionsForOrg(): Promise<Permission[]>;
onPermissionsForOrg(organization: Organization, callback: SubscriptionCallback<Permission[]>): SubscriptionHandler;
app(organization: Organization, filters: AppFilters): Promise<App>;
apps(filters: AppFilters): Promise<App[]>;
appForOrg(organization: Organization): Promise<App>;
onAppForOrg(organization: Organization, filters: AppFilters, callback: SubscriptionCallback<App>): SubscriptionHandler;
appsForOrg(organization: Organization): Promise<App[]>;
onAppsForOrg(organization: Organization, filters: AppFilters, callback: SubscriptionCallback<App[]>): SubscriptionHandler;
repoForApp(organization: Organization, appAddress: Address): Promise<Repo>;
appByAddress(organization: Organization, appAddress: Address): Promise<App>;
rolesForAddress(organization: Organization, appAddress: Address): Promise<Role[]>;
}
export default ConnectorJson;
//# sourceMappingURL=ConnectorJson.d.ts.map