name: unlock
label: Unlock
'on': record_only
type: amis_button
amis_schema: |-
  {
      "type": "service",
      "data": {
      "lockout": ""
    },
      "body": [
        {
      "type": "service",
      "api": {
        "url": "/service/api/space_users/is_lockout",
        "method": "post",
        "requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
        "adaptor": ""
      },
      "body": [
        {
          "type": "button",
          "label": "${'CustomAction.space_users.unlock' | t}",
          "id": "u:lockout",
          "confirmText": "${'CustomLabels.space_users_actions_unlock_confirmText' | t}",
          "onEvent": {
            "click": {
              "weight": 0,
              "actions": [
                {
                  "actionType": "ajax",
                  "api": {
                    "url": "/service/api/space_users/unlock",
                    "method": "post",
                    "requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
                    "adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_unlock_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_unlock_failed')};"
                  }
                },
                {
                  "actionType": "broadcast",
                  "args": {
                    "eventName": "@data.changed.space_users"
                  },
                  "data": {
                    "objectName": "space_users",
                    "displayAs": "${displayAs}"
                  }
                },
                {
                  "actionType": "refresh"
                }
              ]
            }
          },
          "visibleOn": "context.user.is_space_admin == true && context.user.spaceUserId != context.recordId && lockout == true"
        }
      ],
      "regions": [
        "body"
      ],
      "bodyClassName": "p-0",
      "id": "u:6d7a34bd662e",
      "dsType": "api"
    }
    ]}
  