modules/domains/domains.service.DomainsService
- changeAppOwnership
- changeOrgOwnership
- changeRoleOwnership
- checkExistenceOfDomain
- createApplication
- createOrganization
- createRole
- deleteApplication
- deleteOrganization
- deleteRole
- getAllowedRolesByIssuer
- getAppsOfOrg
- getDIDsByRole
- getDefinition
- getENSTypesByOwner
- getENSTypesBySearchPhrase
- getOrgHierarchy
- getRolesByNamespace
- getSubOrgsByOrgNamespace
- getSubdomains
- init
- isOwner
- namespacesWithRelations
- readName
- registrationTypesOfRoles
- setRoleDefinition
- updateLegacyDefinition
- validateOwnership
- create
• new DomainsService(_signerService
, _cacheClient
)
Name | Type |
---|---|
_signerService |
SignerService |
_cacheClient |
CacheClient |
▸ 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
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.newOwner |
string |
__namedParameters.returnSteps? |
boolean |
Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
return array of steps needed to change ownership
▸ 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
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.newOwner |
string |
__namedParameters.returnSteps? |
boolean |
__namedParameters.withSubdomains? |
boolean |
Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
return array of steps needed to change ownership
▸ changeRoleOwnership(__namedParameters
): Promise
<void
>
changeRoleOwnership
description
change ownership of role subdomain
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.newOwner |
string |
Promise
<void
>
▸ checkExistenceOfDomain(__namedParameters
): Promise
<boolean
>
checkExistenceOfDomain
description
check existence of domain in ENS registry
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.domain |
string |
Promise
<boolean
>
true or false whatever the domain is present
▸ 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
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.appName |
string |
__namedParameters.data |
IAppDefinition |
__namedParameters.namespace |
string |
__namedParameters.returnSteps? |
boolean |
Promise
<undefined
| { info
: string
= "Set subdomain for application"; next
: () => Promise
<void
> ; tx
: EncodedCall
}[]>
▸ 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
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.data |
IOrganizationDefinition |
__namedParameters.namespace |
string |
__namedParameters.orgName |
string |
__namedParameters.returnSteps? |
boolean |
Promise
<undefined
| { info
: string
= "Create organization subdomain"; next
: () => Promise
<void
> ; tx
: EncodedCall
}[]>
▸ 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)
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.data |
IRoleDefinition |
__namedParameters.namespace |
string |
__namedParameters.returnSteps? |
boolean |
__namedParameters.roleName |
string |
Promise
<undefined
| { info
: string
= "Create subdomain for role"; next
: () => Promise
<void
> ; tx
: EncodedCall
}[]>
information (true/false) if the role was created
▸ deleteApplication(__namedParameters
): Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
deleteApplication
description
delete application and roles
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.returnSteps? |
boolean |
Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
▸ deleteOrganization(__namedParameters
): Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
deleteOrganization
description
delete organization and roles
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.returnSteps? |
boolean |
Promise
<undefined
| { info
: string
; next
: (__namedParameters
: { retryCheck?
: boolean
}) => Promise
<undefined
| TransactionReceipt
> ; tx
: EncodedCall
}[]>
▸ deleteRole(__namedParameters
): Promise
<void
>
deleteRole
description
delete role
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
Promise
<void
>
▸ getAllowedRolesByIssuer(did
): Promise
<string
[]>
getAllowedRolesByIssuer
description
get all roles that a DID can issue, given its role credentials and all role definitions
Name | Type | Description |
---|---|---|
did |
string |
DID of issuer |
Promise
<string
[]>
array of roles that the DID can issue
▸ getAppsOfOrg(org
): Promise
<IApp
[]>
getENSTypesByOwner
description
get all applications for organization namespace
Name | Type |
---|---|
org |
string |
Promise
<IApp
[]>
array of subdomains or empty array when there is no subdomains
▸ getDIDsByRole(role
): Promise
<string
[]>
getDIDsByRole
description
get all users did which have certain role
Name | Type |
---|---|
role |
string |
Promise
<string
[]>
array of did's
▸ getDefinition(__namedParameters
): Promise
<IRoleDefinition
| IOrganizationDefinition
| IAppDefinition
>
getRoleDefinition
description
get role definition form ens domain metadata record
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.type |
NamespaceType |
Promise
<IRoleDefinition
| IOrganizationDefinition
| IAppDefinition
>
metadata string or empty string when there is no metadata
▸ getENSTypesByOwner(__namedParameters
): Promise
<IRole
[]> | Promise
<IOrganization
[]> | Promise
<IApp
[]>
getENSTypesByOwner
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.owner |
string |
__namedParameters.type |
NamespaceType |
__namedParameters.withRelations? |
boolean |
Promise
<IRole
[]> | Promise
<IOrganization
[]> | Promise
<IApp
[]>
▸ getENSTypesBySearchPhrase(search
, types?
): Promise
<(IRole
| IOrganization
| IApp
)[]>
getENSTypesBySearchPhrase
Name | Type |
---|---|
search |
string |
types? |
SearchType [] |
Promise
<(IRole
| IOrganization
| IApp
)[]>
▸ getOrgHierarchy(namespace
): Promise
<IOrganization
>
getOrgHierarchy
description
get all hierarchy of an organization (20 levels deep)
Name | Type |
---|---|
namespace |
string |
Promise
<IOrganization
>
organization with all nested subOrgs
▸ getRolesByNamespace(__namedParameters
): Promise
<IRole
[]>
getRolesByNamespace
description
get all subdomains for certain domain
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.parentType |
Application | Organization |
Promise
<IRole
[]>
array of subdomains or empty array when there is no subdomains
▸ getSubOrgsByOrgNamespace(namespace
): Promise
<IOrganization
[]>
getSubOrgsByOrgNamespace
description
get all sub organizations for organization namespace
Name | Type |
---|---|
namespace |
string |
Promise
<IOrganization
[]>
array of subdomains or empty array when there is no subdomains
▸ getSubdomains(__namedParameters
): Promise
<string
[]>
getSubdomains
description
get all subdomains for certain domain
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.domain |
string |
__namedParameters.mode? |
"ALL" | "FIRSTLEVEL" |
Promise
<string
[]>
array of subdomains or empty array when there is no subdomains
▸ init(): Promise
<void
>
Promise
<void
>
▸ isOwner(__namedParameters
): Promise
<boolean
>
isOwner
description
check ownership of the domain
default
if user is not specified it will check the current logged user
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.domain |
string |
__namedParameters.user? |
string |
Promise
<boolean
>
true or false whatever the passed is user is a owner of domain
▸ namespacesWithRelations(namespaces
): Promise
<{ namespace
: string
; owner
: string
}[]>
description
Collects all namespaces related data. Currently its includes only owner
Name | Type |
---|---|
namespaces |
string [] |
Promise
<{ namespace
: string
; owner
: string
}[]>
▸ readName(namehash
): Promise
<string
>
Name | Type |
---|---|
namehash |
string |
Promise
<string
>
▸ registrationTypesOfRoles(roles
): Promise
<Record
<string
, Set
<RegistrationTypes
>>>
Name | Type |
---|---|
roles |
string [] |
Promise
<Record
<string
, Set
<RegistrationTypes
>>>
▸ 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)
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.data |
IRoleDefinition | IOrganizationDefinition | IAppDefinition |
__namedParameters.domain |
string |
Promise
<void
>
▸ 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
Name | Type | Description |
---|---|---|
domain |
string |
domain to potentially update |
data |
IRoleDefinition | IOrganizationDefinition | IAppDefinition |
definition to apply to domain |
Promise
<boolean
>
▸ validateOwnership(__namedParameters
): Promise
<string
[]>
validateOwnership
description
check ownership of the domain and subdomains of org, app or role
Name | Type |
---|---|
__namedParameters |
Object |
__namedParameters.namespace |
string |
__namedParameters.type |
NamespaceType |
Promise
<string
[]>
true or false whatever the passed is user is a owner of org, app or role
▸ Static
create(signerService
, cacheClient
): Promise
<DomainsService
>
Name | Type |
---|---|
signerService |
SignerService |
cacheClient |
CacheClient |
Promise
<DomainsService
>