OraOpenSource / apex-diff

APEX Diff
MIT License
31 stars 6 forks source link

Access required for downloading JSON? #24

Open ArkieCoder opened 6 years ago

ArkieCoder commented 6 years ago

Hi, I need to know exactly what table-level access I need to our APEX database in order to be able to download a JSON file from an app.

My config.json looks like this:

{
  "connections" : {
    "sample" : "user/pass@server:port/sid",
    "dev" : {
      "connectionDetails" : "USER/PASS@HOST.DOMAIN.com:PORT/ORCL",
      "filters" : ["apex_application_pages"],
      "filterGroups" : ["updated"]
    },
    "prod" : "giffy/giffy@prod.oraopensource.com:11522/xe"
  },
  "filters" : ["^(.(?!page_id$))*_id$"],
  "filterGroups" : {
    "updateInfo" : [".+\\..+_updated_.*"]
  }
}

When I run the apex-diff app, I get the following output on the screen:

$ node apex-diff/app.js dev 338
undefined:41
,"apex_application_page_proc":[
^

SyntaxError: Unexpected token , in JSON at position 6602
    at JSON.parse ()
    at Object. (/apex-diff/app.js:255:28)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

I'm the guy who is running this inside a Docker container (see issue #23)

Here's the gist containing the JSON file that is created. It seems like it doesn't really contain anything useful - https://gist.github.com/ArkieCoder/c8b7c023d2610397ff0ef366da327d04

ArkieCoder commented 6 years ago

Also, output of sql -V is SQLcl: Release 18.2.0.0 Production

Output of node --version is v8.12.0

ArkieCoder commented 6 years ago

Based on my experimentation, at least read access on these views / tables are required for apex-diff to work:

-- apex-diff script -- apex_dictionary apex_application_page_ir_rpt apex_application_all_auth all_tab_columns

-- generated script -- apex_application_all_auth apex_application_auth apex_application_authorization apex_application_bc_entries apex_application_breadcrumbs apex_application_build_options apex_application_caching apex_application_computations apex_application_items apex_application_lists apex_application_list_entries apex_application_locked_pages apex_application_lovs apex_application_lov_entries apex_application_nav_bar apex_application_pages apex_application_page_branches apex_application_page_buttons apex_application_page_comp apex_application_page_da apex_application_page_da_acts apex_application_page_db_items apex_application_page_flash5 apex_application_page_flash5_s apex_application_page_groups apex_application_page_ir apex_application_page_ir_cat apex_application_page_ir_cgrps apex_application_page_ir_col apex_application_page_ir_comp apex_application_page_ir_cond apex_application_page_ir_grpby apex_application_page_ir_pivot apex_application_page_ir_pvagg apex_application_page_ir_pvsrt apex_application_page_ir_rpt apex_application_page_items apex_application_page_map apex_application_page_proc apex_application_page_regions apex_application_page_reg_cols apex_application_page_rpt apex_application_page_rpt_cols apex_application_page_trees apex_application_page_val apex_application_parent_tabs apex_application_processes apex_application_shortcuts apex_application_static_files apex_application_substitutions apex_application_supp_objects apex_application_supp_obj_bopt apex_application_supp_obj_chck apex_application_supp_obj_scr apex_application_tabs apex_application_templates apex_application_temp_bc apex_application_temp_button apex_application_temp_calendar apex_application_temp_label apex_application_temp_list apex_application_temp_page apex_application_temp_popuplov apex_application_temp_region apex_application_temp_report apex_application_themes apex_application_theme_files apex_application_theme_styles apex_application_translations apex_application_trans_dynamic apex_application_trans_repos apex_application_trees apex_application_web_services apex_appl_concatenated_files apex_appl_developer_comments apex_appl_load_tables apex_appl_load_table_lookups apex_appl_load_table_rules apex_appl_page_calendars apex_appl_plugins apex_appl_plugin_attributes apex_appl_plugin_attr_values apex_appl_plugin_events apex_appl_plugin_files apex_appl_plugin_settings apex_appl_template_options apex_appl_template_opt_groups apex_appl_temp_page_dp apex_appl_temp_region_dp apex_appl_theme_display_points apex_appl_user_interfaces

rimblas commented 5 years ago

The application schema ("parse as") should already have access to all those APEX Dictionary Views.