-
getAccountStatus
- Diese Methode ruft den aktuellen Status des Tokenaccounts ab. Diese Methode kann vom
Token Admin
des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
-
@Validator(yup.string(), yup.string(), yup.string())
public async getAccountStatus(orgId: string, userId: string, tokenId ?: string) {
const userAccountId = this.Ctx.ERC1155Account.generateAccountId(orgId, userId, ACCOUNT_TYPE.USER_ACCOUNT);
let tokenAccount = await this.Ctx.ERC1155Account.getAccount(userAccountId, tokenId);
await this.Ctx.ERC1155Auth.checkAuthorization("ERC1155ACCOUNT_STATUS.get", "TOKEN", { accountId: tokenAccount.accountId });
try {
return await this.Ctx.ERC1155AccountStatus.getAccountStatus(tokenAccount.accountId);
} catch (err) {
return await this.Ctx.ERC1155AccountStatus.getDefaultAccountStatus(tokenAccount.accountId);
}
}
- Parameter:
orgId: string
: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId ?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus. Wenn im Buch für das Konto kein Status gefunden wird, weil das Konto erstellt wurde, bevor die Kontostatusfunktion verfügbar war, wird der Status in der Antwort als
active
aufgeführt.
- Beispiel für den Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
getAccountStatusHistory
- Diese Methode ruft die Historie des Accountstatus ab. Diese Methode kann vom
Token Admin
des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
-
public async getAccountStatusHistory(orgId: string, userId: string, tokenId ?: string) {
const userAccountId = this.Ctx.ERC1155Account.generateAccountId(orgId, userId, ACCOUNT_TYPE.USER_ACCOUNT);
let tokenAccount = await this.Ctx.ERC1155Account.getAccount(userAccountId, tokenId);
await this.Ctx.ERC1155Auth.checkAuthorization("ERC1155ACCOUNT_STATUS.history", "TOKEN", { accountId: tokenAccount.accountId });
const status_id = await this.Ctx.ERC1155AccountStatus.generateAccountStatusId(tokenAccount.accountId);
let accountStatusHistory: any;
try {
accountStatusHistory = await this.Ctx.ERC1155AccountStatus.history(status_id);
} catch (err) {
return [];
}
return accountStatusHistory;
}
- Parameter:
orgId: string
: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId ?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg die Accountstatushistorie im JSON-Format.
- Beispiel für den Rückgabewert:
[
{
"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
- Diese Methode aktiviert ein Token-Konto. Diese Methode kann nur von einem
Token Admin
des Chaincodes aufgerufen werden. Gelöschte Accounts können nicht aktiviert werden. Für alle Konten, die vor der Verfügbarkeit der Accountstatusfunktion erstellt wurden, müssen Sie diese Methode aufrufen, um den Accountstatus auf active
zu setzen.
-
@Validator(yup.string(), yup.string(), yup.string())
public async activateAccount(orgId: string, userId: string, tokenId ?: string) {
await this.Ctx.ERC1155Auth.checkAuthorization("ERC1155ACCOUNT_STATUS.activateAccount", "TOKEN");
const userAccountId = this.Ctx.ERC1155Account.generateAccountId(orgId, userId, ACCOUNT_TYPE.USER_ACCOUNT);
let tokenAccount = await this.Ctx.ERC1155Account.getAccount(userAccountId, tokenId);
return await this.Ctx.ERC1155Account.activateAccount(tokenAccount.accountId);
}
- Parameter:
orgId: string
: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId ?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für den Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
suspendAccount
- Mit dieser Methode wird ein Tokenaccount gesperrt. Diese Methode kann nur von einem
Token Admin
des Chaincodes aufgerufen werden. Nachdem ein Konto gesperrt wurde, können Sie keine Vorgänge mehr ausführen, die das Konto aktualisieren. Ein gelöschtes Konto kann nicht gesperrt werden.
-
@Validator(yup.string(), yup.string(), yup.string())
public async suspendAccount(orgId: string, userId: string, tokenId ?: string) {
await this.Ctx.ERC1155Auth.checkAuthorization("ERC1155ACCOUNT_STATUS.suspendAccount", "TOKEN");
const userAccountId = this.Ctx.ERC1155Account.generateAccountId(orgId, userId, ACCOUNT_TYPE.USER_ACCOUNT);
let tokenAccount = await this.Ctx.ERC1155Account.getAccount(userAccountId, tokenId);
return await this.Ctx.ERC1155Account.suspendAccount(tokenAccount.accountId);
}
- Parameter:
orgId: string
: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId ?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für den Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
-
deleteAccount
- Mit dieser Methode wird ein Tokenaccount gelöscht. Diese Methode kann nur von einem
Token Admin
des Chaincodes aufgerufen werden. Nachdem ein Account gelöscht wurde, können Sie keine Vorgänge mehr ausführen, die den Account aktualisieren. Das gelöschte Konto befindet sich in einem endgültigen Status und kann nicht in einen anderen Status geändert werden. Um ein Konto zu löschen, muss der Kontensaldo Null sein.
-
@Validator(yup.string(), yup.string(), yup.string())
public async deleteAccount(orgId: string, userId: string, tokenId ?: string) {
await this.Ctx.ERC1155Auth.checkAuthorization("ERC1155ACCOUNT_STATUS.deleteAccount", "TOKEN");
const userAccountId = this.Ctx.ERC1155Account.generateAccountId(orgId, userId, ACCOUNT_TYPE.USER_ACCOUNT);
let tokenAccount = await this.Ctx.ERC1155Account.getAccount(userAccountId, tokenId);
return await this.Ctx.ERC1155Account.deleteAccount(tokenAccount.accountId);
}
- Parameter:
orgId: string
: Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId ?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für den Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "deleted"
}