# (c) cavaliba.com - permissions


# ------------------------------------------------------
# Core Permissions
# ------------------------------------------------------

# info/version
- classname: _permission
  keyname: p_info
  description: Builtin Get Version/Info permission
  displayname: p_info


# home 
  
- classname: _permission
  keyname: p_home_access
  description: "HOME app Access"
  displayname: "p_home_access"

- classname: _permission
  keyname: p_home_admin
  description: "HOME dashboard admin"
  displayname: p_home_admin
  
# conf

- classname: _permission
  keyname: p_conf_view
  description: "conf view permission"
  displayname: p_conf_view

- classname: _permission
  keyname: p_conf_admin
  description: "conf admin permission"
  displayname: "p_conf_admin"

# log    

- classname: _permission
  keyname: p_log_view
  description: "LOG view permission"
  displayname: "p_log_view"

- classname: _permission
  keyname: p_log_admin
  description: "LOG admin permission"
  displayname: p_log_admin


# admintools
- classname: _permission
  keyname: p_admintools
  description: "HOME admin tools access"
  displayname: p_admintools


# -------------------------------------------------
# IAM Permissions
# -------------------------------------------------

- classname: _permission
  keyname: p_iam_access
  description: "IAM access"
  displayname: p_iam_access

- classname: _permission
  keyname: p_iam_impersonate
  description: "IAM can impersonate other account"
  displayname: p_iam_impersonate

- classname: _permission
  keyname: p_iam_export
  description: "IAM export permission"
  displayname: p_iam_export
  
# --------------------------------------
# IAM -- user
# --------------------------------------

- classname: _permission
  keyname: p_user_pref
  description: "USER.preferences permission"
  displayname: p_user_pref

- classname: _permission
  keyname: p_user_email_test
  description: "USER.test_email permission"
  displayname: p_user_email_test

- classname: _permission
  keyname: p_user_sms_test
  description: "USER.test_sms permission"
  displayname: p_user_sms_test

- classname: _permission
  keyname: p_user_debug
  description: "USER.debug permission"
  displayname: p_user_debug

- classname: _permission
  keyname: p_user_admin
  description: "USER admin permission"
  displayname: p_user_admin

- classname: _permission
  keyname: p_user_read
  description: "USER read permission"
  displayname: p_user_read

- classname: _permission
  keyname: p_user_create
  description: "USER create permission"
  displayname: p_user_create

- classname: _permission
  keyname: p_user_update
  description: "USER update permission"
  displayname: p_user_update

- classname: _permission
  keyname: p_user_delete
  description: "USER delete permission"
  displayname: p_user_delete


# --------------------------------------
# IAM -- group
# --------------------------------------
- classname: _permission
  keyname: p_group_admin
  description: "GROUP admin permission"
  displayname: "p_group_admin"

- classname: _permission
  keyname: p_group_read
  description: "GROUP read permission"
  displayname: "p_group_read"

- classname: _permission
  keyname: p_group_create
  description: "GROUP create permission"
  displayname: "p_group_create"

- classname: _permission
  keyname: p_group_update
  description: "GROUP update permission"
  displayname: "p_group_update"

- classname: _permission
  keyname: p_group_delete
  description: "GROUP delete permission"
  displayname: "p_group_delete"
  

# --------------------------------------
# IAM -- role
# --------------------------------------
- classname: _permission
  keyname: p_role_admin
  description: "IAM role admin permission"
  displayname: p_role_admin

- classname: _permission
  keyname: p_role_read
  description: "IAM role read permission"
  displayname: p_role_read

- classname: _permission
  keyname: p_role_create
  description: "IAM role create permission"
  displayname: p_role_create
  
- classname: _permission
  keyname: p_role_update
  description: "IAM role update permission"
  displayname: p_role_update
  
- classname: _permission
  keyname: p_role_delete
  description: "IAM role delete permission"
  displayname: p_role_delete
      

# --------------------------------------
# IAM -- permission
# --------------------------------------

- classname: _permission
  keyname: p_permission_admin
  description: "IAM permission admin permission"
  displayname: p_permission_admin

- classname: _permission
  keyname: p_permission_read
  description: "IAM permission read permission"
  displayname: p_permission_read
  
- classname: _permission
  keyname: p_permission_create
  description: "IAM permission create permission"
  displayname: p_permission_create
  
- classname: _permission
  keyname: p_permission_update
  description: "IAM permission update permission"
  displayname: p_permission_update
  
- classname: _permission
  keyname: p_permission_delete
  description: "IAM permission delete permission"
  displayname: p_permission_delete
      

# ---------------------
# Data PERMISSIONS
# ---------------------

# data access 

- classname: _permission
  keyname: p_data_access
  description: "DATA dashboard access"
  displayname: "p_data_access"


# security

- classname: _permission
  keyname: p_data_security_view
  description: "DATA Security VIEW permission"
  displayname: p_data_security_view
  
- classname: _permission
  keyname: p_data_security_edit
  description: "DATA Security EDIT permission"
  displayname: p_data_security_edit
    

# --------------------------------------
# schema
# --------------------------------------

- classname: _permission
  keyname: p_schema_read
  description: "SCHEMA read"
  displayname: "p_schema_read"

- classname: _permission
  keyname: p_schema_write
  description: "SCHEMA create, update, delete"
  displayname: "p_schema_wrtite"


- classname: _permission
  _action: delete
  keyname: p_schema_create
  
- classname: _permission
  _action: delete
  keyname: p_schema_update
  
- classname: _permission
  _action: delete
  keyname: p_schema_delete

# --------------------------------------
# schema field
# --------------------------------------

- classname: _permission
  _action: delete
  keyname: p_schemafield_read
  
- classname: _permission
  _action: delete
  keyname: p_schemafield_create
  
- classname: _permission
  _action: delete
  keyname: p_schemafield_update
  
- classname: _permission
  _action: delete
  keyname: p_schemafield_delete

  
# --------------------------------------  
# p_data_admin all data classes + not blockable
# --------------------------------------

- classname: _permission
  keyname: p_data_admin
  description: "DATA all permissions non-blocking"
  displayname: "p_data_admin"
  

# --------------------------------------
# all data classes  ; blockable downward
# --------------------------------------

- classname: _permission
  keyname: p_data_read
  description: "DATA read all"
  displayname: "p_data_read"
  
- classname: _permission
  keyname: p_data_create
  description: "DATA create all"
  displayname: "p_data_create"
  
- classname: _permission
  keyname: p_data_update
  description: "DATA update all"
  displayname: "p_data_update"
  
- classname: _permission
  keyname: p_data_delete
  description: "DATA delete all"
  displayname: "p_data_delete"
  
- classname: _permission
  keyname: p_data_import
  description: "DATA UI import Tool"
  displayname: "p_data_import"
  
- classname: _permission
  keyname: p_data_export
  description: "DATA UI export Tool (export)"
  displayname: p_data_export
  
- classname: _permission
  keyname: p_data_export_viewer
  description: "DATA UI export Tool (viewer)"
  displayname: p_data_export
  
# -------------------------
# permission: _enumerate
# -------------------------

- classname: _permission
  keyname: p_enumerate_admin
  description: "enumerate admin permission"
  displayname: "p_enumerate_admin"
  
- classname: _permission
  keyname: p_enumerate_create
  description: "enumerate create permission"
  displayname: p_enumerate_create
  
- classname: _permission
  keyname: p_enumerate_read
  description: "enumerate read permission"
  displayname: p_enumerate_read
  
- classname: _permission
  keyname: p_enumerate_update
  description: "enumerate update permission"
  displayname: p_enumerate_update
  
- classname: _permission
  keyname: p_enumerate_delete
  description: "enumerate delete permission"
  displayname: p_enumerate_delete
  

# -------------------------
# permission: _pipeline
# -------------------------

- classname: _permission
  keyname: p_pipeline_admin
  description: "pipeline admin permission"
  displayname: "p_pipeline_admin"
  
- classname: _permission
  keyname: p_pipeline_create
  description: "pipeline create permission"
  displayname: p_pipeline_create
  
- classname: _permission
  keyname: p_pipeline_read
  description: "pipeline read permission"
  displayname: p_pipeline_read
  
- classname: _permission
  keyname: p_pipeline_update
  description: "pipeline update permission"
  displayname: p_pipeline_update
  
      
- classname: _permission
  keyname: p_pipeline_delete
  description: "pipeline delete permission"
  displayname: p_pipeline_delete

# v3.33
- classname: _permission
  keyname: p_pipeline_run
  description: "pipeline run permission, eg for bulk transform pipelines"
  displayname: p_pipeline_run


# -------------------------
# permission: _dataview
# -------------------------

- classname: _permission
  keyname: p_dataview_admin
  description: "dataview admin permission"
  displayname: "p_dataview_admin"
  
- classname: _permission
  keyname: p_dataview_create
  description: "dataview create permission"
  displayname: p_dataview_create
  
- classname: _permission
  keyname: p_dataview_read
  description: "dataview read permission"
  displayname: p_dataview_read
  
- classname: _permission
  keyname: p_dataview_update
  description: "dataview update permission"
  displayname: p_dataview_update
  
- classname: _permission
  keyname: p_dataview_delete
  description: "dataview delete permission"
  displayname: p_dataview_delete
  

# -------------------------
# permission: _apikey
# -------------------------

- classname: _permission
  keyname: p_apikey_admin
  description: "APIKEY admin permission"
  displayname: "p_apikey_admin"
  
- classname: _permission
  keyname: p_apikey_create
  description: "APIKEY create permission"
  displayname: p_apikey_create
  
- classname: _permission
  keyname: p_apikey_read
  description: "APIKEY read permission"
  displayname: p_apikey_read
  
- classname: _permission
  keyname: p_apikey_update
  description: "APIKEY update permission"
  displayname: p_apikey_update
        
- classname: _permission
  keyname: p_apikey_delete
  description: "APIKEY delete permission"
  displayname: p_apikey_delete
  
# -------------------------
# permission: data tasks
# v3.33
# -------------------------

- classname: _permission
  keyname: p_task_view
  displayname: "p_task_view"
  description: "View Async Tasks"
  
- classname: _permission
  keyname: p_task_manage
  displayname: "p_task_manage"
  description: "Manage Async Tasks"

- classname: _permission
  keyname: p_task_all
  displayname: "p_task_all"
  description: "All tasks (default = self tasks)"

