Skip to content

Latest commit

 

History

History
687 lines (411 loc) · 19.2 KB

modules_domains_domains_service.DomainsService.md

File metadata and controls

687 lines (411 loc) · 19.2 KB

Class: DomainsService

modules/domains/domains.service.DomainsService

Table of contents

Constructors

Methods

Constructors

constructor

new DomainsService(_signerService, _cacheClient)

Parameters

Name Type
_signerService SignerService
_cacheClient CacheClient

Methods

changeAppOwnership

changeAppOwnership(__namedParameters): Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

changeAppOwnership

description change owner ship of app subdomain and all app owned subdomains

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.newOwner string
__namedParameters.returnSteps? boolean

Returns

Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

return array of steps needed to change ownership


changeOrgOwnership

changeOrgOwnership(__namedParameters): Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

changeOrgOwnership

description change owner ship of org subdomain and all org owned roles subdomains

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.newOwner string
__namedParameters.returnSteps? boolean
__namedParameters.withSubdomains? boolean

Returns

Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

return array of steps needed to change ownership


changeRoleOwnership

changeRoleOwnership(__namedParameters): Promise<void>

changeRoleOwnership

description change ownership of role subdomain

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.newOwner string

Returns

Promise<void>


checkExistenceOfDomain

checkExistenceOfDomain(__namedParameters): Promise<boolean>

checkExistenceOfDomain

description check existence of domain in ENS registry

Parameters

Name Type
__namedParameters Object
__namedParameters.domain string

Returns

Promise<boolean>

true or false whatever the domain is present


createApplication

createApplication(__namedParameters): Promise<undefined | { info: string = "Set subdomain for application"; next: () => Promise<void> ; tx: EncodedCall }[]>

createApp

description creates role (create subdomain, sets the domain name and sets the role definition to metadata record in ENS Domain)

description creates roles subdomain for the app namespace

Parameters

Name Type
__namedParameters Object
__namedParameters.appName string
__namedParameters.data IAppDefinition
__namedParameters.namespace string
__namedParameters.returnSteps? boolean

Returns

Promise<undefined | { info: string = "Set subdomain for application"; next: () => Promise<void> ; tx: EncodedCall }[]>


createOrganization

createOrganization(__namedParameters): Promise<undefined | { info: string = "Create organization subdomain"; next: () => Promise<void> ; tx: EncodedCall }[]>

createOrganization

description creates organization (create subdomain, sets the domain name and sets the role definition to metadata record in ENS Domain)

description and sets subdomain for roles and app for org namespace

Parameters

Name Type
__namedParameters Object
__namedParameters.data IOrganizationDefinition
__namedParameters.namespace string
__namedParameters.orgName string
__namedParameters.returnSteps? boolean

Returns

Promise<undefined | { info: string = "Create organization subdomain"; next: () => Promise<void> ; tx: EncodedCall }[]>


createRole

createRole(__namedParameters): Promise<undefined | { info: string = "Create subdomain for role"; next: () => Promise<void> ; tx: EncodedCall }[]>

createRole

description creates role (create subdomain, sets the domain name and sets the role definition to metadata record in ENS Domain)

Parameters

Name Type
__namedParameters Object
__namedParameters.data IRoleDefinition
__namedParameters.namespace string
__namedParameters.returnSteps? boolean
__namedParameters.roleName string

Returns

Promise<undefined | { info: string = "Create subdomain for role"; next: () => Promise<void> ; tx: EncodedCall }[]>

information (true/false) if the role was created


deleteApplication

deleteApplication(__namedParameters): Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

deleteApplication

description delete application and roles

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.returnSteps? boolean

Returns

Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>


deleteOrganization

deleteOrganization(__namedParameters): Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>

deleteOrganization

description delete organization and roles

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.returnSteps? boolean

Returns

Promise<undefined | { info: string ; next: (__namedParameters: { retryCheck?: boolean }) => Promise<undefined | TransactionReceipt> ; tx: EncodedCall }[]>


deleteRole

deleteRole(__namedParameters): Promise<void>

deleteRole

description delete role

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string

Returns

Promise<void>


getAllowedRolesByIssuer

getAllowedRolesByIssuer(did): Promise<string[]>

getAllowedRolesByIssuer

description get all roles that a DID can issue, given its role credentials and all role definitions

Parameters

Name Type Description
did string DID of issuer

Returns

Promise<string[]>

array of roles that the DID can issue


getAppsOfOrg

getAppsOfOrg(org): Promise<IApp[]>

getENSTypesByOwner

description get all applications for organization namespace

Parameters

Name Type
org string

Returns

Promise<IApp[]>

array of subdomains or empty array when there is no subdomains


getDIDsByRole

getDIDsByRole(role): Promise<string[]>

getDIDsByRole

description get all users did which have certain role

Parameters

Name Type
role string

Returns

Promise<string[]>

array of did's


getDefinition

getDefinition(__namedParameters): Promise<IRoleDefinition | IOrganizationDefinition | IAppDefinition>

getRoleDefinition

description get role definition form ens domain metadata record

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.type NamespaceType

Returns

Promise<IRoleDefinition | IOrganizationDefinition | IAppDefinition>

metadata string or empty string when there is no metadata


getENSTypesByOwner

getENSTypesByOwner(__namedParameters): Promise<IRole[]> | Promise<IOrganization[]> | Promise<IApp[]>

getENSTypesByOwner

Parameters

Name Type
__namedParameters Object
__namedParameters.owner string
__namedParameters.type NamespaceType
__namedParameters.withRelations? boolean

Returns

Promise<IRole[]> | Promise<IOrganization[]> | Promise<IApp[]>


getENSTypesBySearchPhrase

getENSTypesBySearchPhrase(search, types?): Promise<(IRole | IOrganization | IApp)[]>

getENSTypesBySearchPhrase

Parameters

Name Type
search string
types? SearchType[]

Returns

Promise<(IRole | IOrganization | IApp)[]>


getOrgHierarchy

getOrgHierarchy(namespace): Promise<IOrganization>

getOrgHierarchy

description get all hierarchy of an organization (20 levels deep)

Parameters

Name Type
namespace string

Returns

Promise<IOrganization>

organization with all nested subOrgs


getRolesByNamespace

getRolesByNamespace(__namedParameters): Promise<IRole[]>

getRolesByNamespace

description get all subdomains for certain domain

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.parentType Application | Organization

Returns

Promise<IRole[]>

array of subdomains or empty array when there is no subdomains


getSubOrgsByOrgNamespace

getSubOrgsByOrgNamespace(namespace): Promise<IOrganization[]>

getSubOrgsByOrgNamespace

description get all sub organizations for organization namespace

Parameters

Name Type
namespace string

Returns

Promise<IOrganization[]>

array of subdomains or empty array when there is no subdomains


getSubdomains

getSubdomains(__namedParameters): Promise<string[]>

getSubdomains

description get all subdomains for certain domain

Parameters

Name Type
__namedParameters Object
__namedParameters.domain string
__namedParameters.mode? "ALL" | "FIRSTLEVEL"

Returns

Promise<string[]>

array of subdomains or empty array when there is no subdomains


init

init(): Promise<void>

Returns

Promise<void>


isOwner

isOwner(__namedParameters): Promise<boolean>

isOwner

description check ownership of the domain

default if user is not specified it will check the current logged user

Parameters

Name Type
__namedParameters Object
__namedParameters.domain string
__namedParameters.user? string

Returns

Promise<boolean>

true or false whatever the passed is user is a owner of domain


namespacesWithRelations

namespacesWithRelations(namespaces): Promise<{ namespace: string ; owner: string }[]>

description Collects all namespaces related data. Currently its includes only owner

Parameters

Name Type
namespaces string[]

Returns

Promise<{ namespace: string ; owner: string }[]>


readName

readName(namehash): Promise<string>

Parameters

Name Type
namehash string

Returns

Promise<string>


registrationTypesOfRoles

registrationTypesOfRoles(roles): Promise<Record<string, Set<RegistrationTypes>>>

Parameters

Name Type
roles string[]

Returns

Promise<Record<string, Set<RegistrationTypes>>>


setRoleDefinition

setRoleDefinition(__namedParameters): Promise<void>

setRoleDefinition

description sets role definition in ENS domain

description please use it only when you want to update role definitions for already created role (domain)

Parameters

Name Type
__namedParameters Object
__namedParameters.data IRoleDefinition | IOrganizationDefinition | IAppDefinition
__namedParameters.domain string

Returns

Promise<void>


updateLegacyDefinition

updateLegacyDefinition(domain, data): Promise<boolean>

In initial version of Switchboard, role definitions where contained in ENS PublicResolver. However, in order for key properties of role definitions to be readable on-chain, a new RoleDefinitionResolver is used. This function sets the resolver in the ENS to the new contract for definitions that are pointing to the old contract

Parameters

Name Type Description
domain string domain to potentially update
data IRoleDefinition | IOrganizationDefinition | IAppDefinition definition to apply to domain

Returns

Promise<boolean>


validateOwnership

validateOwnership(__namedParameters): Promise<string[]>

validateOwnership

description check ownership of the domain and subdomains of org, app or role

Parameters

Name Type
__namedParameters Object
__namedParameters.namespace string
__namedParameters.type NamespaceType

Returns

Promise<string[]>

true or false whatever the passed is user is a owner of org, app or role


create

Static create(signerService, cacheClient): Promise<DomainsService>

Parameters

Name Type
signerService SignerService
cacheClient CacheClient

Returns

Promise<DomainsService>