-
GetAccountStatus
- このメソッドは、トークン・アカウントの現在のステータスを取得します。このメソッドは、チェーンコードの
Token Admin
またはトークン・アカウント所有者によってコールできます。
-
func (t *Controller) GetAccountStatus(orgId string, userId string) (interface{}, error) {
accountId, err := t.Ctx.ERC721Account.GenerateAccountId(orgId, userId)
if err != nil {
return nil, fmt.Errorf("error in getting the generating accountId of (Org-Id: %s, User-Id: %s)", orgId, userId)
}
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721AccountStatus.Get", "TOKEN", map[string]string{"accountId": accountId})
if err != nil && !auth {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
accountStatus, err := t.Ctx.ERC721AccountStatus.GetAccountStatus(accountId)
if err != nil {
return t.Ctx.ERC721AccountStatus.GetDefaultAccountStatus(accountId)
}
return accountStatus, nil
}
- パラメータ:
orgId: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
userId: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、トークン・アカウント・ステータスのJSON表現。アカウント・ステータス機能が使用可能になる前にアカウントが作成されたためにアカウントの元帳にステータスが見つからない場合、ステータスはレスポンスで
active
としてリストされます。
- 戻り値の例:
{
"AssetType": "oaccountStatus",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"Status": "active"
}
-
GetAccountStatusHistory
- このメソッドは、アカウント・ステータスの履歴を取得します。このメソッドは、チェーンコードの
Token Admin
またはトークン・アカウント所有者によってコールできます。
-
func (t *Controller) GetAccountStatusHistory(orgId string, userId string) (interface{}, error) {
accountId, err := t.Ctx.ERC721Account.GenerateAccountId(orgId, userId)
if err != nil {
return nil, fmt.Errorf("error in getting the generating accountId of (Org-Id: %s, User-Id: %s)", orgId, userId)
}
_, err = t.Ctx.ERC721Account.GetAccount(accountId)
if err != nil {
return nil, fmt.Errorf("error in GetAccountStatusHistory: %s", err)
}
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721AccountStatus.Get", "TOKEN", map[string]string{"accountId": accountId})
if err != nil && !auth {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
statusId, err := t.Ctx.ERC721AccountStatus.GenerateAccountStatusId(accountId)
if err != nil {
return nil, err
}
accountStatusHistory, err := t.Ctx.ERC721AccountStatus.History(statusId)
if err != nil {
return []map[string]interface{}{}, nil
}
return accountStatusHistory, nil
}
- パラメータ:
orgId: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
userId: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、JSON形式のアカウント・ステータス履歴が表示されます。
- 戻り値の例:
[
{
"IsDelete": "false",
"Timestamp": "2022-12-02T16:20:34+05:30",
"TxId": "af1601c7a14b4becf4bb3b285d85553b39bf234caaf1cd488a284a31a2d9df78",
"Value": {
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"AssetType": "oaccountStatus",
"Status": "suspended",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7"
}
},
{
"IsDelete": "false",
"Timestamp": "2022-12-02T16:19:15+05:30",
"TxId": "4b307b989063e43add5357ab110e19174d586b9746cc8a30c9aa3a2b0b48a34e",
"Value": {
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"AssetType": "oaccountStatus",
"Status": "active",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7"
}
}
]
-
ActivateAccount
- このメソッドは、トークン・アカウントをアクティブ化します。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。削除されたアカウントはアクティブ化できません。アカウント・ステータス機能が使用可能になる前に作成されたアカウントの場合は、このメソッドをコールして、アカウント・ステータスをactive
に設定する必要があります。
-
func (t *Controller) ActivateAccount(orgId string, userId string) (interface{}, error) {
accountId, err := t.Ctx.ERC721Account.GenerateAccountId(orgId, userId)
if err != nil {
return nil, fmt.Errorf("error in getting the generating accountId of (Org-Id: %s, User-Id: %s)", orgId, userId)
}
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721AccountStatus.ActivateAccount", "TOKEN")
if err != nil && !auth {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
return t.Ctx.ERC721Account.ActivateAccount(accountId)
}
- パラメータ:
orgId: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
userId: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、トークン・アカウント・ステータスのJSON表現。
- 戻り値の例:
{
"AssetType": "oaccountStatus",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"Status": "active"
}
-
SuspendAccount
- このメソッドは、トークン・アカウントを一時停止します。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。アカウントが一時停止された後は、アカウントを更新する操作を完了できません。削除されたアカウントは一時停止できません。
-
func (t *Controller) SuspendAccount(orgId string, userId string) (interface{}, error) {
accountId, err := t.Ctx.ERC721Account.GenerateAccountId(orgId, userId)
if err != nil {
return nil, fmt.Errorf("error in getting the generating accountId of (Org-Id: %s, User-Id: %s)", orgId, userId)
}
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721AccountStatus.SuspendAccount", "TOKEN")
if err != nil && !auth {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
return t.Ctx.ERC721Account.SuspendAccount(accountId)
}
- パラメータ:
orgId: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
userId: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、トークン・アカウント・ステータスのJSON表現。
- 戻り値の例:
{
"AssetType": "oaccountStatus",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"Status": "suspended"
}
-
DeleteAccount
- このメソッドはトークン・アカウントを削除します。このメソッドは、チェーンコードの
Token Admin
によってのみコールできます。アカウントの削除後は、アカウントを更新する操作を完了できません。削除されたアカウントは最終状態であり、他の状態に変更できません。勘定科目を削除するには、勘定科目残高がゼロである必要があります。
-
func (t *Controller) DeleteAccount(orgId string, userId string) (interface{}, error) {
accountId, err := t.Ctx.ERC721Account.GenerateAccountId(orgId, userId)
if err != nil {
return nil, fmt.Errorf("error in getting the generating accountId of (Org-Id: %s, User-Id: %s)", orgId, userId)
}
auth, err := t.Ctx.ERC721Auth.CheckAuthorization("ERC721AccountStatus.DeleteAccount", "TOKEN")
if err != nil && !auth {
return nil, fmt.Errorf("error in authorizing the caller %s", err.Error())
}
return t.Ctx.ERC721Account.DeleteAccount(accountId)
}
- パラメータ:
orgId: string
- 現在の組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) ID。
userId: string
- ユーザーのユーザー名または電子メールID。
- 戻り値:
- 成功すると、トークン・アカウント・ステータスのJSON表現。
- 戻り値の例:
{
"AssetType": "oaccountStatus",
"StatusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"AccountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"Status": "deleted"
}