<?php //app-metadata-module-metadata-external-oauth-provider-6622efe7-0754-4d0f-a536-eebbe5808a47

return [PHP_INT_MAX, [
    'search' => [
        'layout' => [
            'basic' => [
                'name',
                'id' => [
                    'name' => 'id',
                    'width' => '',
                    'label' => 'LBL_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'id',
                        'vname' => 'LBL_ID',
                        'type' => 'id',
                        'required' => true,
                        'comment' => 'Unique identifier',
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'created_by_name' => [
                    'name' => 'created_by_name',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_name',
                        'vname' => 'LBL_CREATED',
                        'type' => 'relate',
                        'reportable' => false,
                        'link' => 'created_by_link',
                        'rname' => 'user_name',
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'created_by',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'importable' => 'false',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'date_modified' => [
                    'name' => 'date_modified',
                    'width' => '',
                    'label' => 'LBL_DATE_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'datetime',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'group' => 'modified_by_name',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_by_name' => [
                    'name' => 'modified_by_name',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_by_name',
                        'vname' => 'LBL_MODIFIED_NAME',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'rname' => 'user_name',
                        'table' => 'users',
                        'id_name' => 'modified_user_id',
                        'module' => 'Users',
                        'link' => 'modified_user_link',
                        'duplicate_merge' => 'disabled',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_MODIFIED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'group' => 'modified_by_name',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_CREATED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'group' => 'created_by_name',
                        'comment' => 'User who created record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => 'LBL_DESCRIPTION',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'type' => 'text',
                        'comment' => 'Full text of the note',
                        'rows' => 6,
                        'cols' => 80,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'deleted' => [
                    'name' => 'deleted',
                    'width' => '',
                    'label' => 'LBL_DELETED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'deleted',
                        'vname' => 'LBL_DELETED',
                        'type' => 'bool',
                        'default' => '0',
                        'reportable' => false,
                        'comment' => 'Record deletion indicator',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by_link' => [
                    'name' => 'created_by_link',
                    'width' => '',
                    'label' => 'LBL_CREATED_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_link',
                        'type' => 'link',
                        'relationship' => 'externaloauthprovider_created_by',
                        'vname' => 'LBL_CREATED_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_user_link' => [
                    'name' => 'modified_user_link',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_link',
                        'type' => 'link',
                        'relationship' => 'externaloauthprovider_modified_user',
                        'vname' => 'LBL_MODIFIED_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'SecurityGroups' => [
                    'name' => 'SecurityGroups',
                    'width' => '',
                    'label' => 'LBL_SECURITYGROUPS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'SecurityGroups',
                        'type' => 'link',
                        'relationship' => 'securitygroups_externaloauthprovider',
                        'module' => 'SecurityGroups',
                        'bean_name' => 'SecurityGroup',
                        'source' => 'non-db',
                        'vname' => 'LBL_SECURITYGROUPS',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'securitygroup_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'record_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'type' => [
                    'name' => 'type',
                    'width' => '',
                    'label' => 'LBL_TYPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'type',
                        'vname' => 'LBL_TYPE',
                        'type' => 'enum',
                        'options' => 'dom_external_oauth_provider_types',
                        'display' => 'readonly',
                        'inline_edit' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'connector' => [
                    'name' => 'connector',
                    'width' => '',
                    'label' => 'LBL_CONNECTOR',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'connector',
                        'vname' => 'LBL_CONNECTOR',
                        'function' => [
                            'name' => 'getExternalOAuthProviderConnectors',
                            'returns' => 'html',
                            'include' => 'modules/ExternalOAuthProvider/utils.php',
                        ],
                        'type' => 'varchar',
                        'required' => true,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'redirect_uri' => [
                    'name' => 'redirect_uri',
                    'width' => '',
                    'label' => 'LBL_REDIRECT_URI',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'redirect_uri',
                        'vname' => 'LBL_REDIRECT_URI',
                        'function' => [
                            'name' => 'getExternalOAuthProviderRedirectURI',
                            'returns' => 'html',
                            'include' => 'modules/ExternalOAuthProvider/utils.php',
                        ],
                        'type' => 'varchar',
                        'source' => 'non-db',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'redirect_uri_type' => [
                    'name' => 'redirect_uri_type',
                    'width' => '',
                    'label' => 'LBL_REDIRECT_URI_TYPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'redirect_uri_type',
                        'vname' => 'LBL_REDIRECT_URI_TYPE',
                        'type' => 'enum',
                        'default' => 'pretty_url',
                        'options' => 'redirect_uri_type_dom',
                        'len' => 50,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'client_id' => [
                    'name' => 'client_id',
                    'width' => '',
                    'label' => 'LBL_CLIENT_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'client_id',
                        'vname' => 'LBL_CLIENT_ID',
                        'type' => 'varchar',
                        'required' => true,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'client_secret' => [
                    'name' => 'client_secret',
                    'width' => '',
                    'label' => 'LBL_CLIENT_SECRET',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'client_secret',
                        'vname' => 'LBL_CLIENT_SECRET',
                        'type' => 'varchar',
                        'display' => 'writeonly',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'sensitive' => true,
                        'api-visible' => false,
                        'db_encrypted' => true,
                        'readonly' => false,
                    ],
                ],
                'scope' => [
                    'name' => 'scope',
                    'width' => '',
                    'label' => 'LBL_SCOPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'scope',
                        'vname' => 'LBL_SCOPE',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'url_authorize' => [
                    'name' => 'url_authorize',
                    'width' => '',
                    'label' => 'LBL_URL_AUTHORIZE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'url_authorize',
                        'vname' => 'LBL_URL_AUTHORIZE',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'authorize_url_options' => [
                    'name' => 'authorize_url_options',
                    'width' => '',
                    'label' => 'LBL_AUTHORIZE_URL_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'authorize_url_options',
                        'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'default' => '{"prompt":"login"}',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'url_access_token' => [
                    'name' => 'url_access_token',
                    'width' => '',
                    'label' => 'LBL_URL_ACCESS_TOKEN',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'url_access_token',
                        'vname' => 'LBL_URL_ACCESS_TOKEN',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'extra_provider_params' => [
                    'name' => 'extra_provider_params',
                    'width' => '',
                    'label' => 'LBL_EXTRA_PROVIDER_PARAMS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'extra_provider_params',
                        'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'get_token_request_grant' => [
                    'name' => 'get_token_request_grant',
                    'width' => '',
                    'label' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'get_token_request_grant',
                        'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                        'type' => 'varchar',
                        'default' => 'authorization_code',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'get_token_request_options' => [
                    'name' => 'get_token_request_options',
                    'width' => '',
                    'label' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'get_token_request_options',
                        'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_request_grant' => [
                    'name' => 'refresh_token_request_grant',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_request_grant',
                        'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                        'type' => 'varchar',
                        'default' => 'refresh_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_request_options' => [
                    'name' => 'refresh_token_request_options',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_request_options',
                        'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'access_token_mapping' => [
                    'name' => 'access_token_mapping',
                    'width' => '',
                    'label' => 'LBL_ACCESS_TOKEN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'access_token_mapping',
                        'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'access_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'expires_in_mapping' => [
                    'name' => 'expires_in_mapping',
                    'width' => '',
                    'label' => 'LBL_EXPIRES_IN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expires_in_mapping',
                        'vname' => 'LBL_EXPIRES_IN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'expires_in',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_mapping' => [
                    'name' => 'refresh_token_mapping',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_mapping',
                        'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'refresh_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'token_type_mapping' => [
                    'name' => 'token_type_mapping',
                    'width' => '',
                    'label' => 'LBL_TOKEN_TYPE_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'token_type_mapping',
                        'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'name' => [
                    'name' => 'name',
                    'width' => '',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'required' => true,
                        'duplicate_merge' => 'disabled',
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
            ],
            'advanced' => [
                'name' => [
                    'name' => 'name',
                    'width' => '',
                    'label' => 'LBL_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'name',
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'required' => true,
                        'duplicate_merge' => 'disabled',
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'type' => [
                    'name' => 'type',
                    'width' => '',
                    'label' => 'LBL_TYPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'fieldDefinition' => [
                        'name' => 'type',
                        'vname' => 'LBL_TYPE',
                        'type' => 'enum',
                        'options' => 'dom_external_oauth_provider_types',
                        'display' => 'readonly',
                        'inline_edit' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                    'vardefBased' => false,
                    'readonly' => false,
                ],
                'id' => [
                    'name' => 'id',
                    'width' => '',
                    'label' => 'LBL_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'id',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'id',
                        'vname' => 'LBL_ID',
                        'type' => 'id',
                        'required' => true,
                        'comment' => 'Unique identifier',
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'date_entered' => [
                    'name' => 'date_entered',
                    'width' => '',
                    'label' => 'LBL_DATE_ENTERED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_entered',
                        'vname' => 'LBL_DATE_ENTERED',
                        'type' => 'datetime',
                        'group' => 'created_by_name',
                        'comment' => 'Date record created',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'datetime',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'datetime',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'datetime',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_entered',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_entered' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'created_by_name' => [
                    'name' => 'created_by_name',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_name',
                        'vname' => 'LBL_CREATED',
                        'type' => 'relate',
                        'reportable' => false,
                        'link' => 'created_by_link',
                        'rname' => 'user_name',
                        'source' => 'non-db',
                        'table' => 'users',
                        'id_name' => 'created_by',
                        'module' => 'Users',
                        'duplicate_merge' => 'disabled',
                        'importable' => 'false',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'date_modified' => [
                    'name' => 'date_modified',
                    'width' => '',
                    'label' => 'LBL_DATE_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'composite',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'date_modified',
                        'vname' => 'LBL_DATE_MODIFIED',
                        'type' => 'datetime',
                        'group' => 'modified_by_name',
                        'comment' => 'Date record last modified',
                        'enable_range_search' => true,
                        'options' => 'date_range_search_dom',
                        'inline_edit' => false,
                        'required' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'layout' => [
                            'operator',
                            'target',
                            'start',
                            'end',
                        ],
                        'display' => 'inline',
                        'attributeFields' => [
                            'operator' => [
                                'name' => 'operator',
                                'type' => 'enum',
                                'vname' => 'LBL_OPERATOR',
                                'options' => 'date_range_search_dom',
                                'default' => '=',
                                'defaultValueModes' => [
                                    'filter',
                                    'edit',
                                ],
                            ],
                            'target' => [
                                'name' => 'target',
                                'type' => 'datetime',
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        '=',
                                                        'not_equal',
                                                        'greater_than',
                                                        'less_than',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'start' => [
                                'name' => 'start',
                                'type' => 'datetime',
                                'vname' => 'LBL_START',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                            'end' => [
                                'name' => 'end',
                                'type' => 'datetime',
                                'vname' => 'LBL_END',
                                'labelKey' => 'LBL_END',
                                'showLabel' => [
                                    '*',
                                ],
                                'display' => 'none',
                                'logic' => [
                                    'display' => [
                                        'key' => 'displayType',
                                        'modes' => [
                                            'edit',
                                            'detail',
                                            'create',
                                            'filter',
                                        ],
                                        'params' => [
                                            'attributeDependencies' => [
                                                [
                                                    'field' => 'date_modified',
                                                    'attribute' => 'operator',
                                                ],
                                            ],
                                            'targetDisplayType' => 'default',
                                            'activeOnAttributes' => [
                                                'date_modified' => [
                                                    'operator' => [
                                                        'between',
                                                    ],
                                                ],
                                            ],
                                        ],
                                    ],
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_by_name' => [
                    'name' => 'modified_by_name',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_NAME',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'relate',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_by_name',
                        'vname' => 'LBL_MODIFIED_NAME',
                        'type' => 'relate',
                        'reportable' => false,
                        'source' => 'non-db',
                        'rname' => 'user_name',
                        'table' => 'users',
                        'id_name' => 'modified_user_id',
                        'module' => 'Users',
                        'link' => 'modified_user_link',
                        'duplicate_merge' => 'disabled',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'modified_user_id' => [
                    'name' => 'modified_user_id',
                    'width' => '',
                    'label' => 'LBL_MODIFIED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_id',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_MODIFIED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'group' => 'modified_by_name',
                        'dbType' => 'id',
                        'reportable' => true,
                        'comment' => 'User who last modified record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by' => [
                    'name' => 'created_by',
                    'width' => '',
                    'label' => 'LBL_CREATED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'assigned_user_name',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by',
                        'rname' => 'user_name',
                        'id_name' => 'modified_user_id',
                        'vname' => 'LBL_CREATED',
                        'type' => 'assigned_user_name',
                        'table' => 'users',
                        'isnull' => 'false',
                        'dbType' => 'id',
                        'group' => 'created_by_name',
                        'comment' => 'User who created record',
                        'massupdate' => false,
                        'inline_edit' => false,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'description' => [
                    'name' => 'description',
                    'width' => '',
                    'label' => 'LBL_DESCRIPTION',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'text',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'type' => 'text',
                        'comment' => 'Full text of the note',
                        'rows' => 6,
                        'cols' => 80,
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'deleted' => [
                    'name' => 'deleted',
                    'width' => '',
                    'label' => 'LBL_DELETED',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'bool',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'deleted',
                        'vname' => 'LBL_DELETED',
                        'type' => 'bool',
                        'default' => '0',
                        'reportable' => false,
                        'comment' => 'Record deletion indicator',
                        'required' => false,
                        'readonly' => false,
                    ],
                ],
                'created_by_link' => [
                    'name' => 'created_by_link',
                    'width' => '',
                    'label' => 'LBL_CREATED_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'created_by_link',
                        'type' => 'link',
                        'relationship' => 'externaloauthprovider_created_by',
                        'vname' => 'LBL_CREATED_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'modified_user_link' => [
                    'name' => 'modified_user_link',
                    'width' => '',
                    'label' => 'LBL_MODIFIED_USER',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'modified_user_link',
                        'type' => 'link',
                        'relationship' => 'externaloauthprovider_modified_user',
                        'vname' => 'LBL_MODIFIED_USER',
                        'link_type' => 'one',
                        'module' => 'Users',
                        'bean_name' => 'User',
                        'source' => 'non-db',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => '',
                            'type' => 'one-to-many',
                            'parent_id' => '',
                        ],
                        'readonly' => false,
                    ],
                ],
                'SecurityGroups' => [
                    'name' => 'SecurityGroups',
                    'width' => '',
                    'label' => 'LBL_SECURITYGROUPS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'link',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'SecurityGroups',
                        'type' => 'link',
                        'relationship' => 'securitygroups_externaloauthprovider',
                        'module' => 'SecurityGroups',
                        'bean_name' => 'SecurityGroup',
                        'source' => 'non-db',
                        'vname' => 'LBL_SECURITYGROUPS',
                        'required' => false,
                        'relationshipMetadata' => [
                            'side' => 'lhs',
                            'related_id' => 'securitygroup_id',
                            'type' => 'many-to-many',
                            'parent_id' => 'record_id',
                        ],
                        'readonly' => false,
                    ],
                ],
                'connector' => [
                    'name' => 'connector',
                    'width' => '',
                    'label' => 'LBL_CONNECTOR',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'connector',
                        'vname' => 'LBL_CONNECTOR',
                        'function' => [
                            'name' => 'getExternalOAuthProviderConnectors',
                            'returns' => 'html',
                            'include' => 'modules/ExternalOAuthProvider/utils.php',
                        ],
                        'type' => 'varchar',
                        'required' => true,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'redirect_uri' => [
                    'name' => 'redirect_uri',
                    'width' => '',
                    'label' => 'LBL_REDIRECT_URI',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'redirect_uri',
                        'vname' => 'LBL_REDIRECT_URI',
                        'function' => [
                            'name' => 'getExternalOAuthProviderRedirectURI',
                            'returns' => 'html',
                            'include' => 'modules/ExternalOAuthProvider/utils.php',
                        ],
                        'type' => 'varchar',
                        'source' => 'non-db',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'redirect_uri_type' => [
                    'name' => 'redirect_uri_type',
                    'width' => '',
                    'label' => 'LBL_REDIRECT_URI_TYPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'enum',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'redirect_uri_type',
                        'vname' => 'LBL_REDIRECT_URI_TYPE',
                        'type' => 'enum',
                        'default' => 'pretty_url',
                        'options' => 'redirect_uri_type_dom',
                        'len' => 50,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'metadata' => [
                            'extraOptions' => [
                                [
                                    'value' => '__SuiteCRMEmptyString__',
                                    'labelKey' => 'LBL_EMPTY',
                                ],
                            ],
                        ],
                        'readonly' => false,
                    ],
                ],
                'client_id' => [
                    'name' => 'client_id',
                    'width' => '',
                    'label' => 'LBL_CLIENT_ID',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'client_id',
                        'vname' => 'LBL_CLIENT_ID',
                        'type' => 'varchar',
                        'required' => true,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'client_secret' => [
                    'name' => 'client_secret',
                    'width' => '',
                    'label' => 'LBL_CLIENT_SECRET',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'client_secret',
                        'vname' => 'LBL_CLIENT_SECRET',
                        'type' => 'varchar',
                        'display' => 'writeonly',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'sensitive' => true,
                        'api-visible' => false,
                        'db_encrypted' => true,
                        'readonly' => false,
                    ],
                ],
                'scope' => [
                    'name' => 'scope',
                    'width' => '',
                    'label' => 'LBL_SCOPE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'scope',
                        'vname' => 'LBL_SCOPE',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'url_authorize' => [
                    'name' => 'url_authorize',
                    'width' => '',
                    'label' => 'LBL_URL_AUTHORIZE',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'url_authorize',
                        'vname' => 'LBL_URL_AUTHORIZE',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'authorize_url_options' => [
                    'name' => 'authorize_url_options',
                    'width' => '',
                    'label' => 'LBL_AUTHORIZE_URL_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'authorize_url_options',
                        'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'default' => '{"prompt":"login"}',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'url_access_token' => [
                    'name' => 'url_access_token',
                    'width' => '',
                    'label' => 'LBL_URL_ACCESS_TOKEN',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'url_access_token',
                        'vname' => 'LBL_URL_ACCESS_TOKEN',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'extra_provider_params' => [
                    'name' => 'extra_provider_params',
                    'width' => '',
                    'label' => 'LBL_EXTRA_PROVIDER_PARAMS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'extra_provider_params',
                        'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'get_token_request_grant' => [
                    'name' => 'get_token_request_grant',
                    'width' => '',
                    'label' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'get_token_request_grant',
                        'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                        'type' => 'varchar',
                        'default' => 'authorization_code',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'get_token_request_options' => [
                    'name' => 'get_token_request_options',
                    'width' => '',
                    'label' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'get_token_request_options',
                        'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_request_grant' => [
                    'name' => 'refresh_token_request_grant',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_request_grant',
                        'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                        'type' => 'varchar',
                        'default' => 'refresh_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_request_options' => [
                    'name' => 'refresh_token_request_options',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'stringmap',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_request_options',
                        'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                        'type' => 'stringmap',
                        'dbType' => 'text',
                        'show_keys' => true,
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'access_token_mapping' => [
                    'name' => 'access_token_mapping',
                    'width' => '',
                    'label' => 'LBL_ACCESS_TOKEN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'access_token_mapping',
                        'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'access_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'expires_in_mapping' => [
                    'name' => 'expires_in_mapping',
                    'width' => '',
                    'label' => 'LBL_EXPIRES_IN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'expires_in_mapping',
                        'vname' => 'LBL_EXPIRES_IN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'expires_in',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'refresh_token_mapping' => [
                    'name' => 'refresh_token_mapping',
                    'width' => '',
                    'label' => 'LBL_REFRESH_TOKEN_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'refresh_token_mapping',
                        'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                        'type' => 'varchar',
                        'default' => 'refresh_token',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
                'token_type_mapping' => [
                    'name' => 'token_type_mapping',
                    'width' => '',
                    'label' => 'LBL_TOKEN_TYPE_MAPPING',
                    'link' => false,
                    'default' => false,
                    'module' => '',
                    'id' => '',
                    'sortable' => true,
                    'type' => 'varchar',
                    'vardefBased' => true,
                    'display' => 'none',
                    'readonly' => true,
                    'fieldDefinition' => [
                        'name' => 'token_type_mapping',
                        'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                        'type' => 'varchar',
                        'required' => false,
                        'reportable' => false,
                        'massupdate' => false,
                        'inline_edit' => false,
                        'importable' => false,
                        'exportable' => false,
                        'unified_search' => false,
                        'readonly' => false,
                    ],
                ],
            ],
        ],
    ],
    'mass_update' => [
        'fields' => [],
    ],
    'listview' => [
        'columns' => [
            [
                'name' => 'name',
                'width' => '',
                'label' => 'LBL_NAME',
                'link' => true,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'name',
                'fieldDefinition' => [
                    'name' => 'name',
                    'vname' => 'LBL_NAME',
                    'type' => 'name',
                    'link' => true,
                    'dbType' => 'varchar',
                    'len' => 255,
                    'required' => true,
                    'duplicate_merge' => 'disabled',
                    'reportable' => false,
                    'massupdate' => false,
                    'inline_edit' => false,
                    'importable' => false,
                    'exportable' => false,
                    'unified_search' => false,
                ],
            ],
            [
                'name' => 'type',
                'width' => '',
                'label' => 'LBL_TYPE',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'enum',
                'fieldDefinition' => [
                    'name' => 'type',
                    'vname' => 'LBL_TYPE',
                    'type' => 'enum',
                    'options' => 'dom_external_oauth_provider_types',
                    'display' => 'readonly',
                    'inline_edit' => false,
                    'reportable' => false,
                    'massupdate' => false,
                    'importable' => false,
                    'exportable' => false,
                    'unified_search' => false,
                    'required' => false,
                ],
            ],
            [
                'name' => 'client_id',
                'width' => '',
                'label' => 'LBL_CLIENT_ID',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'varchar',
                'fieldDefinition' => [
                    'name' => 'client_id',
                    'vname' => 'LBL_CLIENT_ID',
                    'type' => 'varchar',
                    'required' => true,
                    'reportable' => false,
                    'massupdate' => false,
                    'inline_edit' => false,
                    'importable' => false,
                    'exportable' => false,
                    'unified_search' => false,
                ],
            ],
            [
                'name' => 'created_by_name',
                'width' => '',
                'label' => 'LBL_OWNER',
                'link' => false,
                'default' => true,
                'module' => '',
                'id' => '',
                'sortable' => true,
                'type' => 'relate',
                'fieldDefinition' => [
                    'name' => 'created_by_name',
                    'vname' => 'LBL_CREATED',
                    'type' => 'relate',
                    'reportable' => false,
                    'link' => 'created_by_link',
                    'rname' => 'user_name',
                    'source' => 'non-db',
                    'table' => 'users',
                    'id_name' => 'created_by',
                    'module' => 'Users',
                    'duplicate_merge' => 'disabled',
                    'importable' => 'false',
                    'massupdate' => false,
                    'inline_edit' => false,
                    'required' => false,
                ],
            ],
        ],
        'bulkActions' => [
            'delete' => [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'params' => [
                    'min' => 1,
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION_MULTIPLE',
                ],
                'acl' => [
                    'delete',
                ],
            ],
        ],
        'lineActions' => [],
        'tableActions' => [
            'select-columns' => [
                'key' => 'select-columns',
                'icon' => 'column_chooser',
                'titleKey' => 'LBL_COLUMNS',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'list',
                ],
                'klass' => [
                    'column-chooser-button',
                ],
            ],
        ],
        'availableFilters' => [],
        'sidebarWidgets' => [],
        'paginationType' => null,
        'maxHeight' => null,
    ],
    'subpanel' => [
        'securitygroups' => [
            'top_buttons' => [
                [
                    'key' => 'select',
                    'labelKey' => 'LBL_LINK_UNLINK',
                    'action' => 'link',
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'additionalFields' => [],
                    'extraParams' => [],
                    'widget_class' => 'SubPanelTopSelectButton',
                ],
            ],
            'order' => 900,
            'sort_by' => 'name',
            'sort_order' => 'asc',
            'module' => 'security-groups',
            'refresh_page' => 1,
            'subpanel_name' => 'default',
            'get_subpanel_data' => 'SecurityGroups',
            'add_subpanel_data' => 'securitygroup_id',
            'title_key' => 'LBL_SECURITYGROUPS_SUBPANEL_TITLE',
            'icon' => 'SecurityGroups',
            'name' => 'securitygroups',
            'legacyModule' => 'SecurityGroups',
            'headerModule' => 'security-groups',
            'subpanelWidget' => [
                'type' => 'statistics',
                'options' => [
                    'subpanelWidget' => [
                        'rows' => [
                            [
                                'justify' => 'end',
                                'cols' => [
                                    [
                                        'icon' => 'SecurityGroups',
                                    ],
                                    [
                                        'labelKey' => 'LBL_SECURITYGROUPS_SUBPANEL_TITLE',
                                        'class' => 'sub-panel-banner-button-title',
                                        'bold' => true,
                                    ],
                                    [
                                        'statistic' => 'default',
                                        'class' => 'sub-panel-banner-value',
                                        'bold' => true,
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'lineActions' => [
                [
                    'key' => 'unlink',
                    'labelKey' => 'LBL_UNLINK_RECORD',
                    'action' => 'unlink',
                    'icon' => 'unlink',
                    'asyncProcess' => true,
                    'routing' => false,
                    'params' => [
                        'displayConfirmation' => true,
                        'confirmationLabel' => 'LBL_UNLINK_RELATIONSHIP_CONFIRM',
                    ],
                    'modes' => [
                        'list',
                    ],
                    'acl' => [
                        'edit',
                    ],
                    'module' => 'security-groups',
                ],
            ],
            'searchdefs' => null,
            'columns' => [
                [
                    'name' => 'name',
                    'label' => 'LBL_NAME',
                    'sortable' => true,
                    'vname' => 'LBL_NAME',
                    'widget_class' => 'SubPanelDetailViewLink',
                    'width' => '9999%',
                    'link' => true,
                    'fieldDefinition' => [
                        'name' => 'name',
                        'vname' => 'LBL_NAME',
                        'type' => 'name',
                        'link' => true,
                        'dbType' => 'varchar',
                        'len' => 255,
                        'unified_search' => true,
                        'full_text_search' => [
                            'boost' => 3,
                        ],
                        'required' => true,
                        'importable' => 'required',
                        'duplicate_merge' => 'enabled',
                        'merge_filter' => 'selected',
                    ],
                    'type' => 'name',
                ],
                [
                    'name' => 'description',
                    'label' => 'LBL_DESCRIPTION',
                    'sortable' => false,
                    'vname' => 'LBL_DESCRIPTION',
                    'width' => '9999%',
                    'fieldDefinition' => [
                        'name' => 'description',
                        'vname' => 'LBL_DESCRIPTION',
                        'type' => 'text',
                        'comment' => 'Full text of the note',
                        'rows' => 6,
                        'cols' => 80,
                        'required' => false,
                    ],
                    'type' => 'text',
                ],
            ],
        ],
    ],
    'recordview' => [
        'header' => [
            'backButton' => [
                'display' => true,
            ],
        ],
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => true,
            'tabDefs' => [
                'DEFAULT' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_EXTRA' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_MAPPING' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_OTHER' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
            ],
            'colClasses' => [],
        ],
        'topWidget' => [
            'refreshOn' => 'data-update',
        ],
        'sidebarWidgets' => [],
        'bottomWidgets' => [],
        'headerWidgets' => [],
        'actions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'priority' => 150,
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'priority' => 200,
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'priority' => 200,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'priority' => 1900,
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'priority' => 2000,
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'toggle-widgets',
                'labelKey' => 'LBL_INSIGHTS',
                'priority' => 5000,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                    'edit',
                ],
                'acl' => [],
            ],
        ],
        'panels' => [
            [
                'key' => 'default',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'type',
                                'label' => 'LBL_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'type',
                                    'vname' => 'LBL_TYPE',
                                    'type' => 'enum',
                                    'options' => 'dom_external_oauth_provider_types',
                                    'display' => 'readonly',
                                    'inline_edit' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                    'required' => false,
                                ],
                                'type' => 'enum',
                                'readonly' => true,
                            ],
                            [
                                'name' => 'connector',
                                'label' => 'LBL_CONNECTOR',
                                'fieldDefinition' => [
                                    'name' => 'connector',
                                    'vname' => 'LBL_CONNECTOR',
                                    'function' => [
                                        'name' => 'getExternalOAuthProviderConnectors',
                                        'returns' => 'html',
                                        'include' => 'modules/ExternalOAuthProvider/utils.php',
                                    ],
                                    'type' => 'varchar',
                                    'required' => true,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_NAME',
                                    'type' => 'name',
                                    'link' => true,
                                    'dbType' => 'varchar',
                                    'len' => 255,
                                    'required' => true,
                                    'duplicate_merge' => 'disabled',
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'name',
                            ],
                            [
                                'name' => 'scope',
                                'label' => 'LBL_SCOPE',
                                'fieldDefinition' => [
                                    'name' => 'scope',
                                    'vname' => 'LBL_SCOPE',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'client_id',
                                'label' => 'LBL_CLIENT_ID',
                                'fieldDefinition' => [
                                    'name' => 'client_id',
                                    'vname' => 'LBL_CLIENT_ID',
                                    'type' => 'varchar',
                                    'required' => true,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => '',
                                'fieldDefinition' => [],
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'url_authorize',
                                'label' => 'LBL_URL_AUTHORIZE',
                                'fieldDefinition' => [
                                    'name' => 'url_authorize',
                                    'vname' => 'LBL_URL_AUTHORIZE',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'url_access_token',
                                'label' => 'LBL_URL_ACCESS_TOKEN',
                                'fieldDefinition' => [
                                    'name' => 'url_access_token',
                                    'vname' => 'LBL_URL_ACCESS_TOKEN',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'authorize_url_options',
                                'label' => 'LBL_AUTHORIZE_URL_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'authorize_url_options',
                                    'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'default' => '{"prompt":"login"}',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                            [
                                'name' => '',
                                'fieldDefinition' => [],
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'redirect_uri',
                                'label' => 'LBL_REDIRECT_URI',
                                'fieldDefinition' => [
                                    'name' => 'redirect_uri',
                                    'vname' => 'LBL_REDIRECT_URI',
                                    'function' => [
                                        'name' => 'getExternalOAuthProviderRedirectURI',
                                        'returns' => 'html',
                                        'include' => 'modules/ExternalOAuthProvider/utils.php',
                                    ],
                                    'type' => 'varchar',
                                    'source' => 'non-db',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'redirect_uri_type',
                                'label' => 'LBL_REDIRECT_URI_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'redirect_uri_type',
                                    'vname' => 'LBL_REDIRECT_URI_TYPE',
                                    'type' => 'enum',
                                    'default' => 'pretty_url',
                                    'options' => 'redirect_uri_type_dom',
                                    'len' => 50,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_extra',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'extra_provider_params',
                                'label' => 'LBL_EXTRA_PROVIDER_PARAMS',
                                'fieldDefinition' => [
                                    'name' => 'extra_provider_params',
                                    'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                            [
                                'name' => '',
                                'fieldDefinition' => [],
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'get_token_request_grant',
                                'label' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                                'fieldDefinition' => [
                                    'name' => 'get_token_request_grant',
                                    'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                                    'type' => 'varchar',
                                    'default' => 'authorization_code',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'get_token_request_options',
                                'label' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'get_token_request_options',
                                    'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'refresh_token_request_grant',
                                'label' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_request_grant',
                                    'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                                    'type' => 'varchar',
                                    'default' => 'refresh_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'refresh_token_request_options',
                                'label' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_request_options',
                                    'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_mapping',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'access_token_mapping',
                                'label' => 'LBL_ACCESS_TOKEN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'access_token_mapping',
                                    'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'access_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'expires_in_mapping',
                                'label' => 'LBL_EXPIRES_IN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'expires_in_mapping',
                                    'vname' => 'LBL_EXPIRES_IN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'expires_in',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'refresh_token_mapping',
                                'label' => 'LBL_REFRESH_TOKEN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_mapping',
                                    'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'refresh_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'token_type_mapping',
                                'label' => 'LBL_TOKEN_TYPE_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'token_type_mapping',
                                    'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_other',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'date_entered',
                                'label' => 'LBL_DATE_ENTERED',
                                'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'date_entered',
                                    'vname' => 'LBL_DATE_ENTERED',
                                    'type' => 'datetime',
                                    'group' => 'created_by_name',
                                    'comment' => 'Date record created',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                            [
                                'name' => 'date_modified',
                                'label' => 'LBL_DATE_MODIFIED',
                                'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$fields.modified_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'date_modified',
                                    'vname' => 'LBL_DATE_MODIFIED',
                                    'type' => 'datetime',
                                    'group' => 'modified_by_name',
                                    'comment' => 'Date record last modified',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                                'readonly' => true,
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'created_by_name',
                                'label' => 'LBL_OWNER',
                                'customCode' => '{$fields.created_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'created_by_name',
                                    'vname' => 'LBL_CREATED',
                                    'type' => 'relate',
                                    'reportable' => false,
                                    'link' => 'created_by_link',
                                    'rname' => 'user_name',
                                    'source' => 'non-db',
                                    'table' => 'users',
                                    'id_name' => 'created_by',
                                    'module' => 'Users',
                                    'duplicate_merge' => 'disabled',
                                    'importable' => 'false',
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'relate',
                                'readonly' => true,
                            ],
                            [
                                'name' => '',
                                'fieldDefinition' => [],
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'summaryTemplates' => [
            'create' => 'LBL_CREATE',
            'edit' => 'LBL_SUMMARY_DEFAULT',
            'detail' => 'LBL_SUMMARY_DEFAULT',
        ],
        'vardefs' => [
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_ID',
                'type' => 'id',
                'required' => true,
                'comment' => 'Unique identifier',
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_NAME',
                'type' => 'name',
                'link' => true,
                'dbType' => 'varchar',
                'len' => 255,
                'required' => true,
                'duplicate_merge' => 'disabled',
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'group' => 'created_by_name',
                'comment' => 'Date record created',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'inline_edit' => false,
                'required' => false,
            ],
            'created_by_name' => [
                'name' => 'created_by_name',
                'vname' => 'LBL_CREATED',
                'type' => 'relate',
                'reportable' => false,
                'link' => 'created_by_link',
                'rname' => 'user_name',
                'source' => 'non-db',
                'table' => 'users',
                'id_name' => 'created_by',
                'module' => 'Users',
                'duplicate_merge' => 'disabled',
                'importable' => 'false',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'group' => 'modified_by_name',
                'comment' => 'Date record last modified',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'inline_edit' => false,
                'required' => false,
            ],
            'modified_by_name' => [
                'name' => 'modified_by_name',
                'vname' => 'LBL_MODIFIED_NAME',
                'type' => 'relate',
                'reportable' => false,
                'source' => 'non-db',
                'rname' => 'user_name',
                'table' => 'users',
                'id_name' => 'modified_user_id',
                'module' => 'Users',
                'link' => 'modified_user_link',
                'duplicate_merge' => 'disabled',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'group' => 'modified_by_name',
                'dbType' => 'id',
                'reportable' => true,
                'comment' => 'User who last modified record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'group' => 'created_by_name',
                'comment' => 'User who created record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'description' => [
                'name' => 'description',
                'vname' => 'LBL_DESCRIPTION',
                'type' => 'text',
                'comment' => 'Full text of the note',
                'rows' => 6,
                'cols' => 80,
                'required' => false,
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'default' => '0',
                'reportable' => false,
                'comment' => 'Record deletion indicator',
                'required' => false,
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'externaloauthprovider_created_by',
                'vname' => 'LBL_CREATED_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'modified_user_link' => [
                'name' => 'modified_user_link',
                'type' => 'link',
                'relationship' => 'externaloauthprovider_modified_user',
                'vname' => 'LBL_MODIFIED_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'SecurityGroups' => [
                'name' => 'SecurityGroups',
                'type' => 'link',
                'relationship' => 'securitygroups_externaloauthprovider',
                'module' => 'SecurityGroups',
                'bean_name' => 'SecurityGroup',
                'source' => 'non-db',
                'vname' => 'LBL_SECURITYGROUPS',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'securitygroup_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'record_id',
                ],
            ],
            'type' => [
                'name' => 'type',
                'vname' => 'LBL_TYPE',
                'type' => 'enum',
                'options' => 'dom_external_oauth_provider_types',
                'display' => 'readonly',
                'inline_edit' => false,
                'reportable' => false,
                'massupdate' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
                'required' => false,
            ],
            'connector' => [
                'name' => 'connector',
                'vname' => 'LBL_CONNECTOR',
                'function' => [
                    'name' => 'getExternalOAuthProviderConnectors',
                    'returns' => 'html',
                    'include' => 'modules/ExternalOAuthProvider/utils.php',
                ],
                'type' => 'varchar',
                'required' => true,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'redirect_uri' => [
                'name' => 'redirect_uri',
                'vname' => 'LBL_REDIRECT_URI',
                'function' => [
                    'name' => 'getExternalOAuthProviderRedirectURI',
                    'returns' => 'html',
                    'include' => 'modules/ExternalOAuthProvider/utils.php',
                ],
                'type' => 'varchar',
                'source' => 'non-db',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'redirect_uri_type' => [
                'name' => 'redirect_uri_type',
                'vname' => 'LBL_REDIRECT_URI_TYPE',
                'type' => 'enum',
                'default' => 'pretty_url',
                'options' => 'redirect_uri_type_dom',
                'len' => 50,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'client_id' => [
                'name' => 'client_id',
                'vname' => 'LBL_CLIENT_ID',
                'type' => 'varchar',
                'required' => true,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'client_secret' => [
                'name' => 'client_secret',
                'vname' => 'LBL_CLIENT_SECRET',
                'type' => 'varchar',
                'display' => 'writeonly',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
                'sensitive' => true,
                'api-visible' => false,
                'db_encrypted' => true,
            ],
            'scope' => [
                'name' => 'scope',
                'vname' => 'LBL_SCOPE',
                'type' => 'stringmap',
                'dbType' => 'text',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'url_authorize' => [
                'name' => 'url_authorize',
                'vname' => 'LBL_URL_AUTHORIZE',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'authorize_url_options' => [
                'name' => 'authorize_url_options',
                'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'default' => '{"prompt":"login"}',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'url_access_token' => [
                'name' => 'url_access_token',
                'vname' => 'LBL_URL_ACCESS_TOKEN',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'extra_provider_params' => [
                'name' => 'extra_provider_params',
                'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'get_token_request_grant' => [
                'name' => 'get_token_request_grant',
                'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                'type' => 'varchar',
                'default' => 'authorization_code',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'get_token_request_options' => [
                'name' => 'get_token_request_options',
                'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_request_grant' => [
                'name' => 'refresh_token_request_grant',
                'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                'type' => 'varchar',
                'default' => 'refresh_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_request_options' => [
                'name' => 'refresh_token_request_options',
                'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'access_token_mapping' => [
                'name' => 'access_token_mapping',
                'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                'type' => 'varchar',
                'default' => 'access_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'expires_in_mapping' => [
                'name' => 'expires_in_mapping',
                'vname' => 'LBL_EXPIRES_IN_MAPPING',
                'type' => 'varchar',
                'default' => 'expires_in',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_mapping' => [
                'name' => 'refresh_token_mapping',
                'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                'type' => 'varchar',
                'default' => 'refresh_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'token_type_mapping' => [
                'name' => 'token_type_mapping',
                'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
        ],
        'metadata' => [],
        'sections' => [],
        'modalHeaderActions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'priority' => 150,
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'priority' => 200,
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'priority' => 200,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'priority' => 1900,
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'priority' => 2000,
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'toggle-widgets',
                'labelKey' => 'LBL_INSIGHTS',
                'priority' => 5000,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                    'edit',
                ],
                'acl' => [],
            ],
        ],
        'modalFooterActions' => [
            [
                'key' => 'edit',
                'labelKey' => 'LBL_EDIT',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveNew',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'priority' => 100,
                'params' => [
                    'expanded' => true,
                    'disableOnRun' => true,
                ],
                'modes' => [
                    'create',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'saveContinue',
                'labelKey' => 'LBL_SAVE_CONTINUE_LABEL',
                'priority' => 150,
                'params' => [
                    'expanded' => true,
                    'collapsedMobile' => true,
                ],
                'modes' => [
                    'edit',
                ],
                'acl' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancel',
                'priority' => 200,
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                ],
            ],
            [
                'key' => 'cancelCreate',
                'labelKey' => 'LBL_CANCEL',
                'priority' => 200,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'create',
                ],
            ],
            [
                'key' => 'duplicate',
                'labelKey' => 'LBL_DUPLICATE_BUTTON',
                'priority' => 1900,
                'asyncProcess' => true,
                'params' => null,
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'export',
                    'edit',
                ],
            ],
            [
                'key' => 'delete',
                'labelKey' => 'LBL_DELETE',
                'priority' => 2000,
                'asyncProcess' => true,
                'params' => [
                    'displayConfirmation' => true,
                    'confirmationLabel' => 'NTC_DELETE_CONFIRMATION',
                ],
                'modes' => [
                    'detail',
                ],
                'acl' => [
                    'delete',
                ],
            ],
            [
                'key' => 'toggle-widgets',
                'labelKey' => 'LBL_INSIGHTS',
                'priority' => 5000,
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'detail',
                    'edit',
                ],
                'acl' => [],
            ],
        ],
    ],
    'recordmodal' => [
        'templateMeta' => [
            'maxColumns' => '2',
            'useTabs' => true,
            'tabDefs' => [
                'DEFAULT' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_EXTRA' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_MAPPING' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
                'LBL_OTHER' => [
                    'newTab' => false,
                    'panelDefault' => 'expanded',
                ],
            ],
        ],
        'actions' => [
            [
                'key' => 'save',
                'labelKey' => 'LBL_SAVE_BUTTON_LABEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                    'create',
                ],
                'acl' => [
                    'edit',
                    'create',
                ],
            ],
            [
                'key' => 'cancel',
                'labelKey' => 'LBL_CANCEL',
                'params' => [
                    'expanded' => true,
                ],
                'modes' => [
                    'edit',
                    'create',
                ],
                'acl' => [
                    'edit',
                    'create',
                ],
            ],
        ],
        'panels' => [
            [
                'key' => 'default',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'type',
                                'label' => 'LBL_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'type',
                                    'vname' => 'LBL_TYPE',
                                    'type' => 'enum',
                                    'options' => 'dom_external_oauth_provider_types',
                                    'display' => 'readonly',
                                    'inline_edit' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                    'required' => false,
                                ],
                                'type' => 'enum',
                            ],
                            [
                                'name' => 'connector',
                                'label' => 'LBL_CONNECTOR',
                                'fieldDefinition' => [
                                    'name' => 'connector',
                                    'vname' => 'LBL_CONNECTOR',
                                    'function' => [
                                        'name' => 'getExternalOAuthProviderConnectors',
                                        'returns' => 'html',
                                        'include' => 'modules/ExternalOAuthProvider/utils.php',
                                    ],
                                    'type' => 'varchar',
                                    'required' => true,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'name',
                                'label' => 'LBL_NAME',
                                'fieldDefinition' => [
                                    'name' => 'name',
                                    'vname' => 'LBL_NAME',
                                    'type' => 'name',
                                    'link' => true,
                                    'dbType' => 'varchar',
                                    'len' => 255,
                                    'required' => true,
                                    'duplicate_merge' => 'disabled',
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'name',
                            ],
                            [
                                'name' => 'scope',
                                'label' => 'LBL_SCOPE',
                                'fieldDefinition' => [
                                    'name' => 'scope',
                                    'vname' => 'LBL_SCOPE',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'client_id',
                                'label' => 'LBL_CLIENT_ID',
                                'fieldDefinition' => [
                                    'name' => 'client_id',
                                    'vname' => 'LBL_CLIENT_ID',
                                    'type' => 'varchar',
                                    'required' => true,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'url_authorize',
                                'label' => 'LBL_URL_AUTHORIZE',
                                'fieldDefinition' => [
                                    'name' => 'url_authorize',
                                    'vname' => 'LBL_URL_AUTHORIZE',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'url_access_token',
                                'label' => 'LBL_URL_ACCESS_TOKEN',
                                'fieldDefinition' => [
                                    'name' => 'url_access_token',
                                    'vname' => 'LBL_URL_ACCESS_TOKEN',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'authorize_url_options',
                                'label' => 'LBL_AUTHORIZE_URL_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'authorize_url_options',
                                    'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'default' => '{"prompt":"login"}',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'redirect_uri',
                                'label' => 'LBL_REDIRECT_URI',
                                'fieldDefinition' => [
                                    'name' => 'redirect_uri',
                                    'vname' => 'LBL_REDIRECT_URI',
                                    'function' => [
                                        'name' => 'getExternalOAuthProviderRedirectURI',
                                        'returns' => 'html',
                                        'include' => 'modules/ExternalOAuthProvider/utils.php',
                                    ],
                                    'type' => 'varchar',
                                    'source' => 'non-db',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'redirect_uri_type',
                                'label' => 'LBL_REDIRECT_URI_TYPE',
                                'fieldDefinition' => [
                                    'name' => 'redirect_uri_type',
                                    'vname' => 'LBL_REDIRECT_URI_TYPE',
                                    'type' => 'enum',
                                    'default' => 'pretty_url',
                                    'options' => 'redirect_uri_type_dom',
                                    'len' => 50,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'enum',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_extra',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'extra_provider_params',
                                'label' => 'LBL_EXTRA_PROVIDER_PARAMS',
                                'fieldDefinition' => [
                                    'name' => 'extra_provider_params',
                                    'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'get_token_request_grant',
                                'label' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                                'fieldDefinition' => [
                                    'name' => 'get_token_request_grant',
                                    'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                                    'type' => 'varchar',
                                    'default' => 'authorization_code',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'get_token_request_options',
                                'label' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'get_token_request_options',
                                    'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'refresh_token_request_grant',
                                'label' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_request_grant',
                                    'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                                    'type' => 'varchar',
                                    'default' => 'refresh_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'refresh_token_request_options',
                                'label' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_request_options',
                                    'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                                    'type' => 'stringmap',
                                    'dbType' => 'text',
                                    'show_keys' => true,
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'stringmap',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_mapping',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'access_token_mapping',
                                'label' => 'LBL_ACCESS_TOKEN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'access_token_mapping',
                                    'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'access_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'expires_in_mapping',
                                'label' => 'LBL_EXPIRES_IN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'expires_in_mapping',
                                    'vname' => 'LBL_EXPIRES_IN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'expires_in',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'refresh_token_mapping',
                                'label' => 'LBL_REFRESH_TOKEN_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'refresh_token_mapping',
                                    'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                                    'type' => 'varchar',
                                    'default' => 'refresh_token',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                            [
                                'name' => 'token_type_mapping',
                                'label' => 'LBL_TOKEN_TYPE_MAPPING',
                                'fieldDefinition' => [
                                    'name' => 'token_type_mapping',
                                    'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                                    'type' => 'varchar',
                                    'required' => false,
                                    'reportable' => false,
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'importable' => false,
                                    'exportable' => false,
                                    'unified_search' => false,
                                ],
                                'type' => 'varchar',
                            ],
                        ],
                    ],
                ],
            ],
            [
                'key' => 'lbl_other',
                'rows' => [
                    [
                        'cols' => [
                            [
                                'name' => 'date_entered',
                                'label' => 'LBL_DATE_ENTERED',
                                'customCode' => '{$fields.date_entered.value} {$APP.LBL_BY} {$fields.created_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'date_entered',
                                    'vname' => 'LBL_DATE_ENTERED',
                                    'type' => 'datetime',
                                    'group' => 'created_by_name',
                                    'comment' => 'Date record created',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                            ],
                            [
                                'name' => 'date_modified',
                                'label' => 'LBL_DATE_MODIFIED',
                                'customCode' => '{$fields.date_modified.value} {$APP.LBL_BY} {$fields.modified_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'date_modified',
                                    'vname' => 'LBL_DATE_MODIFIED',
                                    'type' => 'datetime',
                                    'group' => 'modified_by_name',
                                    'comment' => 'Date record last modified',
                                    'enable_range_search' => true,
                                    'options' => 'date_range_search_dom',
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'datetime',
                            ],
                        ],
                    ],
                    [
                        'cols' => [
                            [
                                'name' => 'created_by_name',
                                'label' => 'LBL_OWNER',
                                'customCode' => '{$fields.created_by_name.value}',
                                'fieldDefinition' => [
                                    'name' => 'created_by_name',
                                    'vname' => 'LBL_CREATED',
                                    'type' => 'relate',
                                    'reportable' => false,
                                    'link' => 'created_by_link',
                                    'rname' => 'user_name',
                                    'source' => 'non-db',
                                    'table' => 'users',
                                    'id_name' => 'created_by',
                                    'module' => 'Users',
                                    'duplicate_merge' => 'disabled',
                                    'importable' => 'false',
                                    'massupdate' => false,
                                    'inline_edit' => false,
                                    'required' => false,
                                ],
                                'type' => 'relate',
                            ],
                        ],
                    ],
                ],
            ],
        ],
        'vardefs' => [
            'id' => [
                'name' => 'id',
                'vname' => 'LBL_ID',
                'type' => 'id',
                'required' => true,
                'comment' => 'Unique identifier',
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'name' => [
                'name' => 'name',
                'vname' => 'LBL_NAME',
                'type' => 'name',
                'link' => true,
                'dbType' => 'varchar',
                'len' => 255,
                'required' => true,
                'duplicate_merge' => 'disabled',
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'date_entered' => [
                'name' => 'date_entered',
                'vname' => 'LBL_DATE_ENTERED',
                'type' => 'datetime',
                'group' => 'created_by_name',
                'comment' => 'Date record created',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'inline_edit' => false,
                'required' => false,
            ],
            'created_by_name' => [
                'name' => 'created_by_name',
                'vname' => 'LBL_CREATED',
                'type' => 'relate',
                'reportable' => false,
                'link' => 'created_by_link',
                'rname' => 'user_name',
                'source' => 'non-db',
                'table' => 'users',
                'id_name' => 'created_by',
                'module' => 'Users',
                'duplicate_merge' => 'disabled',
                'importable' => 'false',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'date_modified' => [
                'name' => 'date_modified',
                'vname' => 'LBL_DATE_MODIFIED',
                'type' => 'datetime',
                'group' => 'modified_by_name',
                'comment' => 'Date record last modified',
                'enable_range_search' => true,
                'options' => 'date_range_search_dom',
                'inline_edit' => false,
                'required' => false,
            ],
            'modified_by_name' => [
                'name' => 'modified_by_name',
                'vname' => 'LBL_MODIFIED_NAME',
                'type' => 'relate',
                'reportable' => false,
                'source' => 'non-db',
                'rname' => 'user_name',
                'table' => 'users',
                'id_name' => 'modified_user_id',
                'module' => 'Users',
                'link' => 'modified_user_link',
                'duplicate_merge' => 'disabled',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'modified_user_id' => [
                'name' => 'modified_user_id',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_MODIFIED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'group' => 'modified_by_name',
                'dbType' => 'id',
                'reportable' => true,
                'comment' => 'User who last modified record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'created_by' => [
                'name' => 'created_by',
                'rname' => 'user_name',
                'id_name' => 'modified_user_id',
                'vname' => 'LBL_CREATED',
                'type' => 'assigned_user_name',
                'table' => 'users',
                'isnull' => 'false',
                'dbType' => 'id',
                'group' => 'created_by_name',
                'comment' => 'User who created record',
                'massupdate' => false,
                'inline_edit' => false,
                'required' => false,
            ],
            'description' => [
                'name' => 'description',
                'vname' => 'LBL_DESCRIPTION',
                'type' => 'text',
                'comment' => 'Full text of the note',
                'rows' => 6,
                'cols' => 80,
                'required' => false,
            ],
            'deleted' => [
                'name' => 'deleted',
                'vname' => 'LBL_DELETED',
                'type' => 'bool',
                'default' => '0',
                'reportable' => false,
                'comment' => 'Record deletion indicator',
                'required' => false,
            ],
            'created_by_link' => [
                'name' => 'created_by_link',
                'type' => 'link',
                'relationship' => 'externaloauthprovider_created_by',
                'vname' => 'LBL_CREATED_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'modified_user_link' => [
                'name' => 'modified_user_link',
                'type' => 'link',
                'relationship' => 'externaloauthprovider_modified_user',
                'vname' => 'LBL_MODIFIED_USER',
                'link_type' => 'one',
                'module' => 'Users',
                'bean_name' => 'User',
                'source' => 'non-db',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => '',
                    'type' => 'one-to-many',
                    'parent_id' => '',
                ],
            ],
            'SecurityGroups' => [
                'name' => 'SecurityGroups',
                'type' => 'link',
                'relationship' => 'securitygroups_externaloauthprovider',
                'module' => 'SecurityGroups',
                'bean_name' => 'SecurityGroup',
                'source' => 'non-db',
                'vname' => 'LBL_SECURITYGROUPS',
                'required' => false,
                'relationshipMetadata' => [
                    'side' => 'lhs',
                    'related_id' => 'securitygroup_id',
                    'type' => 'many-to-many',
                    'parent_id' => 'record_id',
                ],
            ],
            'type' => [
                'name' => 'type',
                'vname' => 'LBL_TYPE',
                'type' => 'enum',
                'options' => 'dom_external_oauth_provider_types',
                'display' => 'readonly',
                'inline_edit' => false,
                'reportable' => false,
                'massupdate' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
                'required' => false,
            ],
            'connector' => [
                'name' => 'connector',
                'vname' => 'LBL_CONNECTOR',
                'function' => [
                    'name' => 'getExternalOAuthProviderConnectors',
                    'returns' => 'html',
                    'include' => 'modules/ExternalOAuthProvider/utils.php',
                ],
                'type' => 'varchar',
                'required' => true,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'redirect_uri' => [
                'name' => 'redirect_uri',
                'vname' => 'LBL_REDIRECT_URI',
                'function' => [
                    'name' => 'getExternalOAuthProviderRedirectURI',
                    'returns' => 'html',
                    'include' => 'modules/ExternalOAuthProvider/utils.php',
                ],
                'type' => 'varchar',
                'source' => 'non-db',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'redirect_uri_type' => [
                'name' => 'redirect_uri_type',
                'vname' => 'LBL_REDIRECT_URI_TYPE',
                'type' => 'enum',
                'default' => 'pretty_url',
                'options' => 'redirect_uri_type_dom',
                'len' => 50,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'client_id' => [
                'name' => 'client_id',
                'vname' => 'LBL_CLIENT_ID',
                'type' => 'varchar',
                'required' => true,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'client_secret' => [
                'name' => 'client_secret',
                'vname' => 'LBL_CLIENT_SECRET',
                'type' => 'varchar',
                'display' => 'writeonly',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
                'sensitive' => true,
                'api-visible' => false,
                'db_encrypted' => true,
            ],
            'scope' => [
                'name' => 'scope',
                'vname' => 'LBL_SCOPE',
                'type' => 'stringmap',
                'dbType' => 'text',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'url_authorize' => [
                'name' => 'url_authorize',
                'vname' => 'LBL_URL_AUTHORIZE',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'authorize_url_options' => [
                'name' => 'authorize_url_options',
                'vname' => 'LBL_AUTHORIZE_URL_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'default' => '{"prompt":"login"}',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'url_access_token' => [
                'name' => 'url_access_token',
                'vname' => 'LBL_URL_ACCESS_TOKEN',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'extra_provider_params' => [
                'name' => 'extra_provider_params',
                'vname' => 'LBL_EXTRA_PROVIDER_PARAMS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'get_token_request_grant' => [
                'name' => 'get_token_request_grant',
                'vname' => 'LBL_GET_TOKEN_REQUEST_GRANT',
                'type' => 'varchar',
                'default' => 'authorization_code',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'get_token_request_options' => [
                'name' => 'get_token_request_options',
                'vname' => 'LBL_GET_TOKEN_REQUEST_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_request_grant' => [
                'name' => 'refresh_token_request_grant',
                'vname' => 'LBL_REFRESH_TOKEN_REQUEST_GRANT',
                'type' => 'varchar',
                'default' => 'refresh_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_request_options' => [
                'name' => 'refresh_token_request_options',
                'vname' => 'LBL_REFRESH_TOKEN_REQUEST_OPTIONS',
                'type' => 'stringmap',
                'dbType' => 'text',
                'show_keys' => true,
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'access_token_mapping' => [
                'name' => 'access_token_mapping',
                'vname' => 'LBL_ACCESS_TOKEN_MAPPING',
                'type' => 'varchar',
                'default' => 'access_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'expires_in_mapping' => [
                'name' => 'expires_in_mapping',
                'vname' => 'LBL_EXPIRES_IN_MAPPING',
                'type' => 'varchar',
                'default' => 'expires_in',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'refresh_token_mapping' => [
                'name' => 'refresh_token_mapping',
                'vname' => 'LBL_REFRESH_TOKEN_MAPPING',
                'type' => 'varchar',
                'default' => 'refresh_token',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
            'token_type_mapping' => [
                'name' => 'token_type_mapping',
                'vname' => 'LBL_TOKEN_TYPE_MAPPING',
                'type' => 'varchar',
                'required' => false,
                'reportable' => false,
                'massupdate' => false,
                'inline_edit' => false,
                'importable' => false,
                'exportable' => false,
                'unified_search' => false,
            ],
        ],
        'metadata' => [],
    ],
    'extra' => [],
]];
