-
getAccountStatus
- Este método obtiene el estado actual de la cuenta de token. Este método lo puede llamar el
Token Admin
del código de cadenas o el propietario de la cuenta de token.
-
@Validator(yup.string(), yup.string())
public async getAccountStatus(orgId: string, userId: string) {
const accountId = await this.Ctx.ERC721Account.generateAccountId(orgId, userId);
await this.Ctx.ERC721Auth.checkAuthorization("ERC721ACCOUNT_STATUS.get", "TOKEN", { accountId });
try {
return await this.Ctx.ERC721AccountStatus.getAccountStatus(accountId);
} catch (err) {
return await this.Ctx.ERC721AccountStatus.getDefaultAccountStatus(accountId);
}
}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token. Si no se encuentra ningún estado en el libro mayor de la cuenta porque la cuenta se creó antes de que la funcionalidad de estado de cuenta estuviera disponible, el estado se muestra como
active
en la respuesta.
- Ejemplo de Valor de Devolución:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
getAccountStatusHistory
- Este método obtiene el historial del estado de la cuenta. Este método lo puede llamar el
Token Admin
del código de cadenas o el propietario de la cuenta de token.
-
public async getAccountStatusHistory(orgId: string, userId: string) {
const accountId = await this.Ctx.ERC721Account.generateAccountId(orgId, userId);
await this.Ctx.ERC721Account.getAccount(accountId);
await this.Ctx.ERC721Auth.checkAuthorization("ERC721ACCOUNT_STATUS.history", "TOKEN", { accountId });
const status_id = await this.Ctx.ERC721AccountStatus.generateAccountStatusId(accountId);
let accountStatusHistory: any;
try {
accountStatusHistory = await this.Ctx.ERC721AccountStatus.history(status_id);
} catch (err) {
return [];
}
return accountStatusHistory;
}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, el historial de estado de la cuenta en formato JSON.
- Ejemplo de Valor de Devolución:
[
{
"trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
"timeStamp": "2022-12-02T10:39:14.000Z",
"value": {
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
},
{
"trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
"timeStamp": "2022-12-02T10:37:50.000Z",
"value": {
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
}
]
-
activateAccount
- Este método activa una cuenta de token. Este método solo puede ser llamado por
Token Admin
del código de cadenas. No se pueden activar las cuentas suprimidas. Para las cuentas creadas antes de que esté disponible la funcionalidad de estado de cuenta, debe llamar a este método para definir el estado de la cuenta como active
.
-
@Validator(yup.string(), yup.string())
public async activateAccount(orgId: string, userId: string) {
await this.Ctx.ERC721Auth.checkAuthorization("ERC721ACCOUNT_STATUS.activateAccount", "TOKEN");
const accountId = await this.Ctx.ERC721Account.generateAccountId(orgId, userId);
return await this.Ctx.ERC721Account.activateAccount(accountId);
}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de Valor de Devolución:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
suspendAccount
- Este método suspende una cuenta de token. Este método solo puede ser llamado por
Token Admin
del código de cadenas. Después de suspender una cuenta, no puede completar ninguna operación que actualice la cuenta. No se puede suspender una cuenta suprimida.
-
@Validator(yup.string(), yup.string())
public async suspendAccount(orgId: string, userId: string) {
await this.Ctx.ERC721Auth.checkAuthorization("ERC721ACCOUNT_STATUS.suspendAccount", "TOKEN");
const accountId = await this.Ctx.ERC721Account.generateAccountId(orgId, userId);
return await this.Ctx.ERC721Account.suspendAccount(accountId);
}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de Valor de Devolución:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
-
deleteAccount
- Este método suprime una cuenta de token. Este método solo puede ser llamado por
Token Admin
del código de cadenas. Después de suprimir una cuenta, no puede completar ninguna operación que actualice la cuenta. La cuenta suprimida tiene el estado final y no se puede cambiar a ningún otro estado. Para suprimir una cuenta, el saldo de cuenta debe ser cero.
-
@Validator(yup.string(), yup.string())
public async deleteAccount(orgId: string, userId: string) {
await this.Ctx.ERC721Auth.checkAuthorization("ERC721ACCOUNT_STATUS.deleteAccount", "TOKEN");
const accountId = await this.Ctx.ERC721Account.generateAccountId(orgId, userId);
return await this.Ctx.ERC721Account.deleteAccount(accountId);
}
- Parámetros:
orgId: string
: ID del proveedor de servicios de afiliación (MSP) del usuario en la organización actual.
userId: string
: nombre de usuario o ID de correo electrónico del usuario.
- Devuelve:
- Si se realiza correctamente, una representación JSON del estado de la cuenta de token.
- Ejemplo de Valor de Devolución:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "deleted"
}