# master_entities

uuid: 0f35d5af-3ce0-4564-9499-751f891bc225
name: User Grid
entity_name: user
entity_type: grid_builder_module
primary_table: users
created_at: 2025-01-09 11:00:20
associated_tables:
  [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

query_information:
  {"group_by":["users.id","users.uuid","user_details.code","last_name","first_name","email","users.status_id"],"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"user_details.user_id = users.id"},{"join_type":"LEFT","table_name":"user_roles","join_condition":"users.id = user_roles.user_id"},{"join_type":"LEFT","table_name":"roles","join_condition":"roles.id = user_roles.role_id"}],"search_all":[{"value":3,"operator":"!=","column_name":"users.status_id"},{"value":["super_admin","company_admin"],"operator":"NOT IN","column_name":"users.role"}]}


uuid: 67c6559b-47e0-454b-a3ff-e24e2379a069
name: Delete User form
entity_name: delete_user_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["users"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: b6a22ec4-019c-4648-9ff0-23bdc53e2e4c
name: Delete Email Template form
entity_name: delete_email_template_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["email_templates"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: a5191b47-6e0f-47a6-9b95-6f054fc93db0
name: App Error Logs Details Page
entity_name: app_error_log_page_details_page
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"request_logs.uuid"}],"limit_range":100,"print_query":false,"start_index":0,"sort_columns":[["request_logs.id","desc"]],"primary_table":"request_logs","select_columns":[["request_logs.res_message","res_message"],["request_logs.req_url","req_url"],["request_logs.req_body","req_body"],["request_logs.req_response","req_response"],["request_logs.req_device","req_device"],["request_logs.created_at","created_at"]]}

static_page_content:
  <div class="space-y-4 p-4">

    <!-- Request Device -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Request Device:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">
        {{result_data.req_device}}
      </div>
    </div>

    <!-- Request URL -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Request URL:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">
        {{result_data.req_url}}
      </div>
    </div>

    <!-- Message -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Message:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">
        {{result_data.res_message}}
      </div>
    </div>

    <!-- Request Response -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Response:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">
        {{result_data.req_response}}
      </div>
    </div>

    <!-- Request Body (Full Width, Scrollable) -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Request Body:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light overflow-auto " style="min-height: 300px; max-height: 300px;">
        {{result_data.req_body}}
      </div>
    </div>

    <!-- Created At -->
    <div class="flex items-start">
      <label class="w-1/5 font-medium text-gray-700 dark:text-gray-300 mb-1 sm:mb-0">Created At:</label>
      <div class="w-4/5 bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">
        {{result_data.created_at}}
      </div>
    </div>

  </div>


uuid: 8c21ee2b-f802-4766-ad2d-8e6e4b208f64
name: Delete Error Log form
entity_name: delete_app_error_log_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["request_logs"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: 133a4302-b078-40a8-9cab-952038fa6e6d
name: Entity Grid
entity_name: master_entity
entity_type: grid_builder_module
primary_table: master_entities
associated_tables: [object Object]
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["master_entities.id"],"includes":[{"join_type":"LEFT","table_name":"master_entity_line_items","join_condition":"master_entities.id = master_entity_line_items.master_grid_id"}]}


uuid: dba305d6-eed1-451a-b603-4b8440e29c10
name: Import Template Grid
entity_name: import_template
entity_type: grid_builder_module
primary_table: import_templates
associated_tables: [object Object]
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["import_templates.id"],"includes":[{"join_type":"LEFT","table_name":"import_template_line_items","join_condition":"import_templates.id = import_template_line_items.import_template_id"}]}


uuid: bd3143de-4a1a-422e-95d9-137f2a1b1b31
name: Export Template Grid
entity_name: export_template
entity_type: grid_builder_module
primary_table: export_templates
associated_tables: [object Object]
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["export_templates.id"],"includes":[{"join_type":"LEFT","table_name":"export_template_line_items","join_condition":"export_templates.id = export_template_line_items.export_template_id"}]}


uuid: 2180a323-b5f3-4bed-8e9e-9f0e181d2154
name: Delete Data Transfer Queries
entity_name: delete_data_transfer_queries
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["data_transfer_queries"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: 08964d1a-9af4-482e-9a5c-43f2d5252168
name: Role Details Page
entity_name: role_details_page
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"includes":[{"join_type":"INNER","table_name":"statuses","join_condition":"roles.status_id = statuses.id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"roles.uuid"},{"value":"3","operator":"!=","column_name":"roles.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["roles.id","asc"]],"primary_table":"roles","select_columns":[["roles.name","name"],["statuses.name","status_name"],["roles.description","description"]]}

static_page_content:
  <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6 p-4">
    <!-- Role Name -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Role Name:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.name}}</div>
    </div>

    <!-- Status -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Status:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.status_name}}</div>
    </div>

    <!-- Description -->
    <div class="flex flex-col ">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Description:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.description}}</div>
    </div>
  </div>


uuid: 6f402bc8-4227-40ba-9747-6f6532a54c1e
name: User Details Page
entity_name: user_details_page
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["user_details.code","user_details.first_name","user_details.last_name","users.id","users.email","statuses.name"],"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"user_details.user_id = users.id"},{"join_type":"INNER","table_name":"user_roles","join_condition":"user_roles.user_id = users.id"},{"join_type":"INNER","table_name":"roles","join_condition":"roles.id = user_roles.role_id"},{"join_type":"INNER","table_name":"statuses","join_condition":"users.status_id = statuses.id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["user_details.code","code"],["user_details.first_name","firstname"],["user_details.last_name","lastname"],["users.email","email"],["STRING_AGG(roles.name, ', ')","roles"],["statuses.name","status_name"]]}

static_page_content:
  <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6 p-4">
    <!-- User Code -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">User Code:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.code}}</div>
    </div>

    <!-- Firstname and Lastname -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Name:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.firstname}} {{result_data.lastname}}</div>
    </div>

    <!-- Email -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Email:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.email}}</div>
    </div>

    <!-- Roles -->
    <div class="flex flex-col ">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Roles:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.roles}}</div>
    </div>

    <!-- Status -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Status:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.status_name}}</div>
    </div>
  </div>


uuid: 9b154b97-40e2-452f-855b-5a3f2926c769
name: Notification Details Page
entity_name: notification_details_page
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["notification_jobs.process_slug","cat_type.name","cat_status.name","notification_jobs.notification_subject","notification_jobs.notification_to","statuses.name"],"includes":[{"join_type":"INNER","table_name":"app_categories as cat_type","join_condition":"notification_jobs.notification_type_id = cat_type.category_id"},{"join_type":"INNER","table_name":"statuses","join_condition":"notification_jobs.status_id = statuses.id"},{"join_type":"INNER","table_name":"app_categories as cat_status","join_condition":"notification_jobs.notification_status_id = cat_status.category_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"notification_jobs.uuid"},{"value":"3","operator":"!=","column_name":"notification_jobs.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["notification_jobs.id","asc"]],"primary_table":"notification_jobs","select_columns":[["notification_jobs.process_slug","process_slug"],["cat_type.name","notification_type"],["notification_jobs.notification_subject","notification_subject"],["notification_jobs.notification_to","notification_to"],["statuses.name","status_name"],["cat_status.name","notification_status"]]}

static_page_content:
  <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-6 p-4">
    <!-- Process Slug -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Process Slug:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.process_slug}}</div>
    </div>

    <!-- Notification Type -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Notification Type:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.notification_type}}</div>
    </div>

    <!-- Notification Subject -->
    <div class="flex flex-col ">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Notification Subject:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.notification_subject}}</div>
    </div>

    <!-- Notification To -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Notification To:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.notification_to}}</div>
    </div>

    <!-- Status -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Status:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.status_name}}</div>
    </div>

    <!-- Notification Status -->
    <div class="flex flex-col">
      <label class="font-medium text-gray-700 dark:text-gray-300 mb-1">Notification Status:</label>
      <div class="bg-gray-100 dark:bg-gray-800 p-2 rounded-md text-gray-900 dark:text-white-light">{{result_data.notification_status}}</div>
    </div>
  </div>


uuid: 146fc26d-c4d1-4a1b-889f-8a091d419588
name: Delete Role form
entity_name: delete_role_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["roles"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: 453b81b6-780f-4303-9537-6f6b6dc56f6a
name: Documentation Getting Started
entity_name: documentation_getting_started
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel">
    <h3 class="mb-5 text-xl font-bold text-success">Introduction to LCP</h3>
    <div class="">
      <p>
        The LCP web application is a SaaS-based solution designed to streamline and manage the operations of salesmen who deliver goods and supplies from various
        companies to restaurants, cafes, and similar establishments. This application facilitates efficient tracking and coordination of the delivery process,
        ensuring that salesmen can effectively manage their routes, deliveries, and customer interactions. It centralizes the entire workflow, providing real-time
        insights into inventory levels, delivery status, and sales performance, ultimately enhancing the efficiency of the distribution network and improving
        customer satisfaction.
      </p>
    </div>
  </div>

  <div class="panel">
    <h3 class="mb-5 text-xl font-bold text-success">Features</h3>
    <ul class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3">
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Fully Responsive
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Functional Dashboard
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Coded with Tailwind CSS
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Huge Number of Components
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Clean Code
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Drag n Drop Section
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Working Apps Section
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Free Lifetime Updates
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Custom DataTables
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Fast Performance
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Built-in Tools
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Easy to Customize
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Fast & Dedicated Support
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Useful Pages
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Detailed Documentation
      </li>
    </ul>
  </div>

  <div class="panel">
    <h3 class="mb-5 text-xl font-bold text-success">Browser Compatibility</h3>
    <ul class="grid gap-5 sm:grid-cols-2 lg:grid-cols-3">
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Edge (Latest)
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Opera (Latest)
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Safari (Latest)
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Firefox (Latest)
      </li>
      <li class="inline-flex items-center gap-3">
        <span class="flex h-[35px] w-[35px] flex-none items-center justify-center"> </span>
        Chrome (Latest)
      </li>
    </ul>
  </div>


uuid: 45dd5d42-ba7a-4f36-a6a7-232d5a84b0a0
name: Documentation App Installation
entity_name: documentation_app_installation
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel">
    <div class="space-y-4">
      <p class="text-black">
        <strong>The following process will be used to install admin dashboard using package manager.</strong>
      </p>
      <ul class="list-decimal space-y-2 pl-5">
        <li>
          Install Node.js: Please install the latest version of Node.js from
          <a href="https://nodejs.org" class="font-semibold text-success hover:text-black" target="_blank">https://nodejs.org</a>
        </li>
        <li>Extract main template: Extract the admin template site to your suitable directory or folder.</li>
        <li>
          Access Command Prompt: Open Node.js command prompt.
          <ul>
            <li><strong>Note:-</strong> The process mentioned below can also be executed with the system command prompt.</li>
          </ul>
        </li>
        <li>In CMD, Navigate to the location where the main folder is extracted.</li>
        <li>Navigate to the root folder of the project where the package.json file exists.</li>
        <li>Install node dependencies: Run <code class="text-black">npm install</code>.</li>
        <li>
          To run <code class="text-black">npm start</code>.
          <ul class="space-y-2">
            <li><strong>Note:-</strong> When you run the above command, it will run the project in the browser automatically.</li>
            <li><strong>Note:-</strong> It will enable the auto-refresh function every time you save a file.</li>
          </ul>
        </li>
        <li>Run the command <code class="text-black">npm run build</code> to build for production.</li>
      </ul>
      <!--<p>
        In case you have any problems or queries, please
        <a href="/documentation/support" rel="noopener noreferrer" target="_blank" class="font-semibold text-success hover:text-black">contact us</a>
      </p>-->
    </div>
  </div>

  <h2 class="text-2xl font-bold text-primary">File Structure</h2>
  <div class="panel">
    <p class="mb-4">The arrangement below describes our file structure.</p>

    <ul class="font-semibold">
      <li class="py-[5px]">
        <button type="button" (click)="toggleTreeview1('app')">
          <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('app') ? 'rotate-180' : '']" />
          <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
          App
        </button>
        <div [@slideDownUp]="!treeview1.includes('app')" class="accordion-content">
          <ul class="ltr:pl-14 rtl:pr-14">
            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('components')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('components') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Components
              </button>
              <div [@slideDownUp]="!treeview1.includes('components')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the components files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('config')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('config') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Config
              </button>
              <div [@slideDownUp]="!treeview1.includes('config')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    Common Configuration File
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('directives')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('directives') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Directives
              </button>
              <div [@slideDownUp]="!treeview1.includes('directives')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the directive files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('formly')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('formly') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Formly
              </button>
              <div [@slideDownUp]="!treeview1.includes('formly')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the formly files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('guards')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('guards') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Guards
              </button>
              <div [@slideDownUp]="!treeview1.includes('guards')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    It contains the authentication and permission guard files
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('interceptors')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('interceptors') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Interceptors
              </button>
              <div [@slideDownUp]="!treeview1.includes('interceptors')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the interceptor files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('layouts')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('layouts') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Layouts
              </button>
              <div [@slideDownUp]="!treeview1.includes('layouts')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the layout components
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('pages')">
                <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('pages') ? 'rotate-180' : '']" />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Pages
              </button>
              <div [@slideDownUp]="!treeview1.includes('pages')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the page components
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('pipes')">
                <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('pipes') ? 'rotate-180' : '']" />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Pipes
              </button>
              <div [@slideDownUp]="!treeview1.includes('pipes')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the pipe files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('service')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('service') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Service
              </button>
              <div [@slideDownUp]="!treeview1.includes('service')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the service files and folders
                  </li>
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    route-update.service.ts - It is dynamically loads the different entity components
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('shared')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('shared') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Shared
              </button>
              <div [@slideDownUp]="!treeview1.includes('shared')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the shared module files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('store')">
                <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('store') ? 'rotate-180' : '']" />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Store
              </button>
              <div [@slideDownUp]="!treeview1.includes('store')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    Angular JS store file
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>

      <li class="py-[5px]">
        <button type="button" (click)="toggleTreeview1('assets')">
          <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('assets') ? 'rotate-180' : '']" />
          <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
          Assets
        </button>
        <div [@slideDownUp]="!treeview1.includes('assets')" class="accordion-content">
          <ul class="ltr:pl-14 rtl:pr-14">
            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('css')">
                <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('css') ? 'rotate-180' : '']" />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                CSS
              </button>
              <div [@slideDownUp]="!treeview1.includes('css')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the css files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('images')">
                <icon-caret-down
                  [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('images') ? 'rotate-180' : '']"
                />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                Images
              </button>
              <div [@slideDownUp]="!treeview1.includes('images')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    All the image files and folders
                  </li>
                </ul>
              </div>
            </li>

            <li class="py-[5px]">
              <button type="button" (click)="toggleTreeview1('i18n')">
                <icon-caret-down [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('i18n') ? 'rotate-180' : '']" />
                <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
                i18n
              </button>
              <div [@slideDownUp]="!treeview1.includes('i18n')" class="accordion-content">
                <ul class="ltr:pl-14 rtl:pr-14">
                  <li class="py-[5px]">
                    <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
                    all the locales json files
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>

      <li class="py-[5px]">
        <button type="button" (click)="toggleTreeview1('environments')">
          <icon-caret-down
            [class]="'w-5 h-5 text-primary inline relative -top-1 ltr:mr-2 rtl:ml-2 ' + [treeview1.includes('environments') ? 'rotate-180' : '']"
          />
          <icon-folder class="relative -top-1 inline text-primary ltr:mr-2 rtl:ml-2" />
          Environments
        </button>
        <div [@slideDownUp]="!treeview1.includes('environments')" class="accordion-content">
          <ul class="ltr:pl-14 rtl:pr-14">
            <li class="py-[5px]">
              <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
              environments.development.ts
            </li>
            <li class="py-[5px]">
              <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
              environments.staging.ts
            </li>
            <li class="py-[5px]">
              <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
              environments.ts
            </li>
          </ul>
        </div>
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        index.html
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        main.ts
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        styles.scss
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        angular.json
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        package.json
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        tailwind.config.js
      </li>
      <li class="py-[5px] ltr:pl-7 rtl:pr-7">
        <icon-txt-file class="inline h-4.5 w-4.5 text-primary ltr:mr-2 rtl:ml-2" />
        tsconfig.json
      </li>
    </ul>
  </div>

  <h2 class="text-2xl font-bold text-primary">Code Structure</h2>

  <div class="panel">
    <!-- Section 1: Header Section -->
    <div class="mb-5 space-y-4">
      <p class="mb-4 bg-black-light/5 p-4">This section will give you a brief description of our code.</p>
      <p><strong class="text-black">1. Header Section:</strong> This is the default navbar section. It contains:</p>
      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>Sidebar Toggle button.</li>
        <li>Quick access button for calendar.</li>
        <li>Quick access button for todolist.</li>
        <li>Quick access button for chat.</li>
        <li>Search Bar</li>
        <li>Theme toggle button.</li>
        <li>Language Dropdown</li>
        <li>Message Dropdown</li>
        <li>Notification Dropdown</li>
        <li>User Profile with Dropdown</li>
        <li>Horizontal Menu</li>
      </ul>
      <p><strong>Note:-</strong> These categories are defined by us and you can modify as per your needs :)</p>
      <div>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml">  &lt;!--  Navbar Component  --&gt;
          &lt;header&gt;&lt;/header&gt;
          ==========================================================
        
          &lt;!--  BEGIN NAVBAR  --&gt;
          &lt;header class=&quot;shadow-sm&quot; [ngClass]=&quot;{ 'dark text-white-dark': store.semidark &amp;&amp; store.menu === 'horizontal'}&quot;&gt;
                &lt;div class=&quot;relative flex w-full items-center bg-white px-5 py-2.5 dark:bg-[#0e1726]&quot;&gt;
                    ..............................
                &lt;/div&gt;
        
                &lt;!-- horizontal menu --&gt;
                &lt;ul
                    class=&quot;horizontal-menu hidden border-t border-[#ebedf2] bg-white py-1.5 px-6 font-semibold text-black rtl:space-x-reverse dark:border-[#191e3a] dark:bg-[#0e1726] dark:text-white-dark lg:space-x-1.5 xl:space-x-8&quot;
                &gt;
                    ..............................
                &lt;/ul&gt;
          &lt;/header&gt;
          &lt;!--  END NAVBAR  --&gt;  </code></pre>
      </div>
    </div>

    <!-- Section 2: Main Container Section -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">2. Main Container Section:</strong> The main container section includes header, footer, and main content section.</p>
      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>Sidebar Section</li>
        <li>Header Section</li>
        <li>Main Content Section</li>
        <li>Footer Section</li>
      </ul>
      <div>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml">  &lt;!--  BEGIN MAIN CONTAINER  --&gt;
          &lt;div
                class=&quot;main-section relative font-nunito text-sm font-normal antialiased&quot;
                [ngClass]=&quot;[store.sidebar ? 'toggle-sidebar' : '', store.menu, store.layout, store.rtlClass]&quot;
          &gt;
              ..............................
          &lt;/div&gt;
          &lt;!-- END MAIN CONTAINER --&gt;
        
        </code>
      </pre>
      </div>
    </div>

    <!-- Section 3: Sidebar -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">3. Sidebar:</strong> This is the sidebar code.</p>
      <div>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml"> &lt;!--  Sidebar Component  --&gt;
          &lt;sidebar&gt;&lt;/sidebar&gt;
          ==========================================================
        
          &lt;!--  BEGIN SIDEBAR  --&gt;
          &lt;div [ngClass]=&quot;{ 'dark text-white-dark': store.semidark }&quot;&gt;
              &lt;nav class=&quot;sidebar fixed top-0 bottom-0 z-50 h-full min-h-screen w-[260px] shadow-[5px_0_25px_0_rgba(94,92,154,0.1)] transition-all duration-300&quot;&gt;
                  ..............................
              &lt;/nav&gt;
          &lt;/div&gt;
          &lt;!--  END SIDEBAR  --&gt;
          </code>
      </pre>
      </div>
    </div>

    <!-- Section 4: Main Content -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">4. Main Content:</strong> This is the Main Content code section.</p>
      <p class="pl-5">This is the root structure where you can create widgets, charts, tables etc.</p>
      <div>
        <pre>
          <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml"> &lt;!--  BEGIN CONTENT PART  --&gt;
          &lt;div class=&quot;main-content&quot;&gt;
              ..............................
          &lt;/div&gt;
        
          &lt;!--  END CONTENT PART  --&gt;</code>
      </pre>
      </div>
    </div>

    <!-- Section 5: Footer -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">5. Footer:</strong> This is the Footer code.</p>
      <div>
        <pre>
          <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml"> &lt;!--  Footer Component  --&gt;
          &lt;footer&gt;&lt;/footer&gt;
          ==========================================================
        
          &lt;!--  BEGIN FOOTER  --&gt;
          &lt;p class=&quot;pt-6 text-center dark:text-white-dark ltr:sm:text-left rtl:sm:text-right&quot;&gt;
              ..............................
          &lt;/p&gt;
          &lt;!--  END FOOTER  --&gt;</code>
      </pre>
      </div>
    </div>

    <div class="mb-5 space-y-4">
      <h3 class="mb-5 text-xl font-bold text-success">The Combined Code</h3>
      <p>Now, after a brief description of our admin template. Below is the combined code of the snippets we have discuss above.</p>

      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-xml"> &lt;!--  BEGIN MAIN CONTAINER  --&gt;
        &lt;div
        class=&quot;main-section relative font-nunito text-sm font-normal antialiased&quot;
        [ngClass]=&quot;[store.sidebar ? 'toggle-sidebar' : '', store.menu, store.layout, store.rtlClass]&quot;
        &gt;
        &lt;!-- BEGIN SIDEBAR MENU OVERLAY --&gt;
        &lt;div class=&quot;fixed inset-0 z-50 bg-[black]/60 lg:hidden&quot;  [ngClass]=&quot;{ hidden: !store.sidebar }&quot;  (click)=&quot;storeData.dispatch({ type: 'toggleSidebar' })&quot;&gt;&lt;/div&gt;
        &lt;!-- END SIDEBAR MENU OVERLAY --&gt;
        
        &lt;!-- BEGIN SCREEN LOADER --&gt;
        &lt;div
        *ngIf=&quot;store.isShowMainLoader&quot;
        class=&quot;screen_loader fixed inset-0 bg-[#fafafa] dark:bg-[#060818] z-[60] grid place-content-center animate__animated&quot;
        &gt;
        &lt;svg&gt;...&lt;/svg&gt;
        &lt;/div&gt;
        &lt;!-- END SCREEN LOADER --&gt;
        
        &lt;!-- BEGIN SCROLL TO TOP BUTTON --&gt;
        &lt;div *ngIf=&quot;showTopButton&quot; class=&quot;fixed bottom-6 z-50 ltr:right-6 rtl:left-6&quot;&gt;
        &lt;button type=&quot;button&quot; class=&quot;btn btn-outline-primary animate-pulse rounded-full bg-[#fafafa] p-2 dark:bg-[#060818] dark:hover:bg-primary&quot; @click=&quot;goToTop&quot;&gt;
            &lt;svg&gt;...&lt;/svg&gt;
        &lt;/button&gt;
        &lt;/div&gt;
        &lt;!-- END SCROLL TO TOP BUTTON --&gt;
        
        &lt;!-- BEGIN APP SETTING LAUNCHER --&gt;
        &lt;setting&gt;&lt;/setting&gt;
        &lt;!-- END APP SETTING LAUNCHER --&gt;
        
        &lt;div class=&quot;main-container text-black dark:text-white-dark min-h-screen&quot; :class=&quot;[store.navbar]&quot;&gt;
        &lt;!--  BEGIN SIDEBAR  --&gt;
        &lt;sidebar&gt;&lt;/sidebar&gt;
        &lt;!--  END SIDEBAR  --&gt;
        
        &lt;!--  BEGIN CONTENT AREA  --&gt;
        &lt;div class=&quot;main-content&quot;&gt;
          &lt;!--  BEGIN NAVBAR  --&gt;
          &lt;header&gt;&lt;/header&gt;
          &lt;!--  END NAVBAR  --&gt;
        
          &lt;div class=&quot;p-6 animation&quot;&gt;
              &lt;!--  BEGIN PAGE CONTENT  --&gt;
              &lt;router-outlet&gt;&lt;/router-outlet&gt;
              &lt;!--  END PAGE CONTENT  --&gt;
        
              &lt;!-- BEGIN FOOTER --&gt;
              &lt;footer&gt;&lt;/footer&gt;
              &lt;!-- END FOOTER --&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;!--  END CONTENT AREA  --&gt;
        &lt;/div&gt;
        &lt;/div&gt;
        &lt;!--  END MAIN CONTAINER  --&gt;</code>
    </pre>
    </div>

    <h2 class="text-2xl font-bold text-primary">Admin JS Code Structure</h2>

    <div class="panel">
      <div class="space-y-4">
        <p class="mb-4 bg-black-light/5">This section will give you a brief description of our admin template JS code.</p>

        <p>
          <strong class="text-black">1. app.service.ts : </strong>This is primary js file. It is necessary for the layout to work. It contains the code as follows
          :-
        </p>

        <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
          <li>Set default layout</li>

          <li>Set Navigation Position</li>

          <li>Set Navbar Type</li>

          <li>Set Router Animation</li>

          <li>Theme change funtionality</li>

          <li>Direction change funtionality</li>
        </ul>

       <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="language-typescript">${ import { Injectable } from '@angular/core';
              import { Store } from '@ngrx/store';
              import { $themeConfig } from '../theme.config';
              import { TranslateService } from '@ngx-translate/core';
              
              @Injectable()
              export class AppService {
              storeData: any;
              constructor(public translate: TranslateService, public store: Store&lt;any&gt;) {
                  this.initStoreData();
              }
              
              initStoreData() {
                  this.store
                      .select((d: any) =&gt; d.index)
                      .subscribe((d: any) =&gt; {
                          this.storeData = d;
                      });
              
                  // set default styles
                  let val: any = localStorage.getItem('theme'); // light, dark, system
                  val = val || $themeConfig.theme;
                  this.store.dispatch({ type: 'toggleTheme', payload: val });
              
                  val = localStorage.getItem('menu'); // vertical, collapsible-vertical, horizontal
                  val = val || $themeConfig.menu;
                  this.store.dispatch({ type: 'toggleMenu', payload: val });
              
                  val = localStorage.getItem('layout'); // full, boxed-layout
                  val = val || $themeConfig.layout;
                  this.store.dispatch({ type: 'toggleLayout', payload: val });
              
                  val = localStorage.getItem('i18n_locale'); // en, da, de, el, es, fr, hu, it, ja, pl, pt, ru, sv, tr, zh
                  val = val || $themeConfig.locale;
              
                  const list = this.storeData.languageList;
                  const item = list.find((item: any) =&gt; item.code === val);
                  if (item) {
                      this.toggleLanguage(item);
                  }
              
                  val = localStorage.getItem('rtlClass'); // rtl, ltr
                  val = val || $themeConfig.rtlClass;
                  this.store.dispatch({ type: 'toggleRTL', payload: val });
              
                  val = localStorage.getItem('animation'); // animate__fadeIn, animate__fadeInDown, animate__fadeInUp, animate__fadeInLeft, animate__fadeInRight, animate__slideInDown, animate__slideInLeft, animate__slideInRight, animate__zoomIn
                  val = val || $themeConfig.animation;
                  this.store.dispatch({ type: 'toggleAnimation', payload: val });
              
                  val = localStorage.getItem('navbar'); // navbar-sticky, navbar-floating, navbar-static
                  val = val || $themeConfig.navbar;
                  this.store.dispatch({ type: 'toggleNavbar', payload: val });
              
                  val = localStorage.getItem('semidark');
                  val = val === 'true' ? true : $themeConfig.semidark;
                  this.store.dispatch({ type: 'toggleSemidark', payload: val });
              }
              
              toggleLanguage(item: any) {
                  let lang: any = null;
                  lang = 'en';
                  if (item) {
                      lang = item;
                  } else {
                      let code = this.translate.currentLang || null;
                      if (!code) {
                          code = localStorage.getItem('i18n_locale');
                      }
              
                      item = this.storeData.languageList.find((d: any) =&gt; d.code === code);
                      if (item) {
                          lang = item;
                      }
                  }
              
                  if (!lang) {
                      lang = this.storeData.languageList.find((d: any) =&gt; d.code === 'en');
                  }
              
                  this.translate.use(lang.code); // set language
                  this.store.dispatch({ type: 'toggleLocale', payload: lang.code });
                  return lang;
              }
              
              changeAnimation(type = 'add') {
                  if (this.storeData.animation) {
                      const ele: any = document.querySelector('.animation');
                      if (type === 'add') {
                          ele?.classList.add('animate__animated');
                          ele?.classList.add(this.storeData.animation);
                      } else {
                          ele?.classList.remove('animate__animated');
                          ele?.classList.remove(this.storeData.animation);
                      }
                  }
              }
              } }</code></pre>

        <p>
          <strong class="text-black">2. theme.config.ts : </strong>This is theme configuration js file. This file contains optional setting for set defaut layout,
          theme and language functionality. It contains the code as follows :-
        </p>

        <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
          <li>Language</li>
          <li>Theme</li>
          <li>Navigation</li>
          <li>Layout</li>
          <li>Direction</li>
          <li>Animation</li>
          <li>Navbar</li>
          <li>Semidark</li>
        </ul>

       <pre class="bg-black text-white p-4 rounded-md overflow-auto">
    <code class="language-typescript">
      <span class="text-yellow">// APP CONFIG</span><br>
      export const <span class="text-green">$themeConfig</span> = {<br>
        locale: '<span class="text-blue">en</span>', // en, da, de, el, es, fr, hu, it, ja, pl, pt, ru, sv, tr, zh<br>
        theme: '<span class="text-blue">light</span>', // light, dark, system<br>
        menu: '<span class="text-blue">vertical</span>', // vertical, collapsible-vertical, horizontal<br>
        layout: '<span class="text-blue">full</span>', // full, boxed-layout<br>
        rtlClass: '<span class="text-blue">ltr</span>', // rtl, ltr<br>
        animation: '', // animate__fadeIn, animate__fadeInDown, animate__fadeInUp, animate__fadeInLeft, animate__fadeInRight, animate__slideInDown, animate__slideInLeft, animate__slideInRight, animate__zoomIn<br>
        navbar: '<span class="text-blue">navbar-sticky</span>', // navbar-sticky, navbar-floating, navbar-static<br>
        semidark: <span class="text-red">false</span>,<br>
      };
    </code>
  </pre>

      </div>
    </div>
  </div>


uuid: 42043380-f08d-49d2-9b2d-500dccdaca6d
name: Documentation Master Entity Module
entity_name: documentation_master_entity_module
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel">
    <!-- Section 1: Header Section -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">Introduction</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        The Master Entity page is a powerful tool that allows users to manage and interact with a list of entities stored in the backend database. This page
        presents the data in a common datatable format, making it easy to view, filter, and manipulate the information. The Master Entity is designed to be highly
        flexible, accommodating various use cases by allowing customization of the data presentation, filtering options, and export capabilities. It serves as a
        central point for managing different entities across the application, streamlining workflows and enhancing productivity.
      </p>

      <p><strong class="text-black">Master Entity Add/Edit Screen:</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        The Master Entity Add/Edit screen is designed to provide a seamless experience for creating and managing entities within the system. This screen allows
        users to define the parameters of a new entity or modify an existing one. Below are the key fields and functionalities available on this screen:
      </p>
      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>
          <strong class="text-black">Entity Name:</strong>This is the name of the entity being created or edited. For example, the entity name could be "User
          Grid."
        </li>
        <li>
          <strong class="text-black">Entity Type:</strong>
          Defines the type of entity being managed. In this case, it could be a "Grid Builder Module," which specifies that the entity is a part of the
          grid-building framework within the application.
        </li>

        <li>
          <strong class="text-black">Choose Entity Permission:</strong>
          This section allows you to assign permissions to the entity, including options like view, add, edit, delete, view details, and export. These permissions
          control what actions users can perform on this entity.
        </li>

        <li>
          <strong class="text-black">Primary Table:</strong>
          This is the main database table associated with the entity. For example, the primary table could be 'users,' indicating that the data for this entity
          will be fetched from the users' table.
        </li>

        <li>
          <strong class="text-black">Query Information:</strong>
          This section is crucial for defining how data is fetched and displayed for the entity. It includes:
          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              <strong class="text-black">Includes:</strong>Specifies the tables to be joined with the primary table and the join conditions. For example, in a
              query, you might join the 'users' table with another table to retrieve additional related information.
            </li>
            <li>
              <strong class="text-black">Group By:</strong>Defines the fields by which the data should be grouped. Grouping helps in aggregating data and
              displaying it in a meaningful way.
            </li>
            <li>
              <strong class="text-black">Order By:</strong>Specifies the order in which the data should be sorted. This ensures that the data is displayed in a
              logical and user-friendly manner.
            </li>
          </ul>
        </li>
      </ul>

      <div>
        <p class="pb-5"><strong> Screenshot</strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/add-grid-builder.png" alt appDynamicFontSize="headerlogo" />
        <p class="pb-5 pt-5"><strong>Query Information Code Snippet</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="json"> {
          'name': 'Route Outlet Mapping Grid', 
          'entity_name': 'route_outlet_mapping',  // This is the name of the entity being created or edited.
          'entity_type': 'grid_builder_module', // Defines the type of entity being managed.
          
          'primary_table': 'routes', // This is the main database table associated with the entity. 
          'query_information': { // Defining how data is fetched and displayed for the entity. 
            'group_by': [ // Defines the fields by which the data should be grouped
              'route_outlet_mappings.route_id,routes.code, routes.id'
            ],
            'includes': [ // Specifies the tables to be joined with the primary table and the join conditions.
              {
                'join_type': 'LEFT',
                'table_name': 'route_outlet_mappings',
                'join_condition': 'routes.id = route_outlet_mappings.route_id'
              }
            ]
          }
          
                </code></pre>

        <p class="pb-5 pt-5"><strong>Raw Query comes like below</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml"> SELECT users.id AS user_id, users.name AS user_name, COUNT(DISTINCT user_roles.role_id) AS role_count 
          FROM users 
          LEFT JOIN user_roles ON users.id = user_roles.user_id 
          WHERE users.status_id != '3' 
          GROUP BY users.id, users.name 
          ORDER BY users.name ASC 
          LIMIT 10 OFFSET 0
          
          
                </code></pre>

        <p class="pb-5 pt-5"><strong>Entity List Page Output:</strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/entity-list-module.png" alt appDynamicFontSize="headerlogo" />
      </div>
    </div>
  </div>


uuid: fdcabbae-8053-41a4-bf15-91915d9ad597
name: Documentation Page Builder
entity_name: documentation_page_builder
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel">
    <!-- Section 1: Header Section -->
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">Introduction</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        The Static Page Builder is a flexible and dynamic tool that allows developers to create customized web pages within the application using embedded HTML
        content and data fetched from a PostgreSQL database. By leveraging the Static Page Builder, users can easily design and implement pages that display
        real-time data, formatted and styled according to specific requirements.
      </p>
      <p class="mb-4 bg-black-light/5 p-4">
        This tool is particularly useful for creating dashboards, reports, or any page where the content needs to be dynamically generated based on the current
        data in the system. The Static Page Builder combines the power of HTML for designing the layout with SQL queries for retrieving and displaying data,
        making it a versatile solution for various use cases.
      </p>

      <p><strong class="text-black">How to Create a Page Using Static Page Builder</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">To create a page using the Static Page Builder, follow these steps:</p>
      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>
          <strong class="text-black">Define the Entity Information:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li><strong class="text-black">Entity Name:</strong> Choose a meaningful name for the entity, such as "User Grid."</li>
            <li><strong class="text-black">Entity Type:</strong> Specify the type of entity, which could be a "Grid Builder Module."</li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Embed HTML Content</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>Use the static_page_content field to embed HTML code that defines the layout and structure of the page.</li>
            <li>
              You can include placeholders in the HTML where dynamic data will be injected. These placeholders will be replaced with actual data retrieved from
              the database.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Configure Query Information:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>Use the query_information field to define the SQL query that will fetch the necessary data from the database.</li>
            <li>This includes specifying the tables, columns, join conditions, filters, and sorting criteria.</li>
          </ul>
        </li>
      </ul>

      <div>
        <p class="pb-5"><strong> Example of Creating a Page</strong></p>
        <p class="pb-5">Below is an example configuration for creating a "User Grid" page using the Static Page Builder:</p>
        <p class="pb-5"><strong> Screenshot </strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/add-page-builder.png" alt appDynamicFontSize="headerlogo" />
        <p class="pb-5 pt-5"><strong>Static Page Content (HTML)</strong></p>
        

        <p class="pb-5 pt-5">
          This HTML code generates a table with columns for Email, First Name, Last Name, Role, and Status. The `#each data_list` block is where the dynamic data
          will be inserted.
        </p>

        <p class="pb-5 pt-5"><strong>Query Information (Postgres)</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="json"> {
          'group_by': [
              'users.id',
              'user_details.first_name',
              'user_details.last_name'
          ],
          'includes': [
              {
                  'join_type': 'INNER',
                  'table_name': 'user_details',
                  'join_condition': 'user_details.user_id = users.id'
              }
          ],
          'company_id': 1,
          'limit_range': 10,
          'print_query': true,
          'start_index': 0,
          'sort_columns': [
              [
                  'users.id',
                  'desc'
              ]
          ],
          'primary_table': 'users',
          'select_columns': [
              [
                  'users.email',
                  'email'
              ],
              [
                  'users.role',
                  'role'
              ],
              [
                  'users.status_id',
                  'status_id'
              ],
              [
                  'user_details.first_name',
                  'first_name'
              ],
              [
                  'user_details.last_name',
                  'last_name'
              ]
          ]
      }
      
          
                </code></pre>

        <p class="pb-5 pt-5"><strong>Page Builder Output:</strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/page-builder-output.png" alt appDynamicFontSize="headerlogo" />
      </div>
    </div>
  </div>


uuid: 1b3ecf4c-3186-48ed-8972-5810af296e4c
name: Documentation Dashboard Wizard
entity_name: documentation_dashboard_wizard
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel">
    <div class="mb-5 space-y-4">
      <p><strong class="text-black">Introduction to Dashboard Static Wizard Builder</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        The "Dashboard Static Wizard Builder" is a powerful tool designed to enable users to create customizable widgets that can be added to any tab (wizard
        group) within the dashboard. This builder allows you to embed dynamic HTML content and fetch relevant information from a PostgreSQL database through a
        structured query. The flexibility provided by this tool makes it ideal for creating various dashboard components, such as charts, tables, and informative
        panels, that can be placed across different tabs or groups within the dashboard.
      </p>

      <p><strong class="text-black">How to Use the Dashboard Static Wizard Builder</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        To create a widget using the Dashboard Static Wizard Builder, you need to define the content and the data source that will populate this content. The
        builder consists of two primary components: query_information and static_page_content.
      </p>
      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>
          <strong class="text-black">Define the Entity:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              Specify the name, type, and the wizard group where the widget will appear. For example, an error log panel might be created under the name "Error
              Logs" in the dashboard_wizard_builder_module.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Query Information:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              This section defines how the data will be retrieved from the database. You specify the primary table, the columns to select, any joins needed, and
              conditions such as group_by, sort_columns, and limit_range. The example provided retrieves a count of error logs from the webservice_logs table,
              grouped by the id column.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Static Page Content: </strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              This section contains the HTML structure and styling that will display the data fetched by the query. You can use placeholders (e.g., count) to
              embed dynamic data into your HTML content. The example provided creates a panel that shows the count of error logs.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Place the Widget:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>Finally, configure the widget's placement on the dashboard by specifying the row, column, and order number.</li>
          </ul>
        </li>
      </ul>

      <div>
        <p class="pb-5"><strong> Example of Creating a Widget</strong></p>
        <p class="pb-5">Here is an example of a widget configuration:</p>
        <p class="pb-5"><strong> Screenshot </strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/dashboard-wizard-builder-static.png" alt appDynamicFontSize="headerlogo" />
        <p class="pb-5 pt-5"><strong>Static Page Content (HTML)</strong></p>
        

        <p class="pb-5 pt-5"><strong>Query Information (JSON)</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="json">{
          'group_by': [
            'webservice_logs.id'
          ],
          'company_id': 1,
          'limit_range': 1,
          'print_query': true,
          'start_index': 0,
          'sort_columns': [
            [
              'webservice_logs.id',
              'desc'
            ]
          ],
          'primary_table': 'webservice_logs',
          'select_columns': [
            [
              'COUNT(*)',
              'count'
            ],
            [
              'webservice_logs.id',
              'id'
            ]
          ]
        }
        
      
          
                </code></pre>
      </div>
    </div>

    <div class="mb-5 space-y-4">
      <p><strong class="text-black">Introduction to Dashboard Chart Widget</strong></p>
      <p class="mb-4 bg-black-light/5 p-4">
        The Dashboard Chart Widget is a dynamic tool within the Dashboard Static Wizard Builder that allows users to create visually appealing and data-driven
        charts directly on their dashboard. Instead of using static HTML content, this widget leverages dashboard_wizard_options for configuring chart properties
        and styling, using ApexCharts as the charting library. The widget pulls data through a structured query and then visualizes it in the form of bar charts,
        line charts, pie charts, or other types.
      </p>

      <p><strong class="text-black">How to Use the Dashboard Chart Widget</strong></p>

      <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
        <li>
          <strong class="text-black">Define the Entity:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              Start by specifying the name, type, and the wizard group where the chart will appear. The example provided is for an "Outlet Credit Limits Bar"
              chart.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Set Up Query Information: </strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              Define the data that will be fetched from the database. This involves specifying the primary table, the columns to select, how to group the data,
              and how to sort it. In the example, the chart will display data grouped by the month of start_date and will show the quantity.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Design Chart Options: </strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              Use the dashboard_wizard_options to customize the chart's appearance. You can define the type of chart, its height, colors, axes, tooltips, and
              other styling properties.
            </li>
          </ul>
        </li>

        <li>
          <strong class="text-black">Place the Widget:</strong>

          <ul class="list-inside list-[lower-alpha] space-y-2 pl-5">
            <li>
              Finally, configure the widget's placement on the dashboard by specifying the number of rows and columns it will span, and its order number within
              the group.
            </li>
          </ul>
        </li>
      </ul>

      <div>
        <p class="pb-5"><strong> Example Chart Widget </strong></p>
        <p class="pb-5">Here is an example of a widget configuration:</p>
        <p class="pb-5"><strong> Screenshot </strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/dashboard-wizard-builder-chart.png" alt appDynamicFontSize="headerlogo" />
        <p class="pb-5 pt-5"><strong>Chart Options (JSON)</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="json">[
          {
            'grid': {
              'borderColor': '#e0e6ed'
            },
            'chart': {
              'type': 'bar',
              'height': 300,
              'toolbar': {
                'show': false
              }
            },
            'xaxis': {
              'axisBorder': {
                'color': '#e0e6ed'
              }
             
            },
            'yaxis': {
              'labels': {
                'offsetX': 0
              },
              'opposite': false
            },
            'colors': [
              '#4361ee'
            ],
            
            'stroke': {
              'curve': 'smooth',
              'width': 2
            },
            'tooltip': {
              'y': {
                'formatter': 'function (number) { return '$' + number; }'
              },
              'theme': 'light',
              'marker': false
            }
          }
        ]
          
                </code></pre>

        <p class="pb-5 pt-5"><strong>Query Information (JSON)</strong></p>
        <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="json">{
          'group_by': [
            'EXTRACT(MONTH FROM start_date)',
            'TO_CHAR(start_date, 'Mon')',
            'quantity'
          ],
          'company_id': 1,
          'search_all': [],
          'print_query': false,
          'start_index': 0,
          'sort_columns': [
            [
              'EXTRACT(MONTH FROM start_date)',
              'asc'
            ]
          ],
          'primary_table': 'free_items',
          'select_columns': [
            [
              'TO_CHAR(start_date, 'Mon')',
              'labels'
            ],
            [
              'quantity',
              'quantity'
            ]
          ]
        }
        
      
          
                </code></pre>

        <p class="pb-5 pt-5"><strong>Dashboard Page Output:</strong></p>
        <img class="w-90 inline ltr:-ml-1 rtl:-mr-1" src="assets/images/documentation/dashboard-screen.png" alt appDynamicFontSize="headerlogo" />
      </div>
    </div>
  </div>


uuid: 909e4afc-7bd3-4ef1-a992-e8c56c3e1a3b
name: Documentation Examples
entity_name: documentation_examples
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Tabs</h5>

        
        </div>
  <div class="mb-5">
      <div class="mt-3 flex flex-wrap border-b border-white-light dark:border-[#191e3a]">
         <a href="javascript:;" data-tab="home"  class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black {{#hbp_ifCond  currentTab '==' 'home'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
              >Home</a>
          <a href="javascript:;" data-tab="profile"    class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black  {{#hbp_ifCond  currentTab '==' 'profile'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
              >Profile</a>
          <a href="javascript:;" data-tab="contact"  class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black {{#hbp_ifCond  currentTab '==' 'contact'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
          
               >Contact</a>
      </div>
      <div class="flex-1 pt-5 text-sm">
          {{#hbp_ifCond  currentTab '==' 'home' }}
          <div >
              <h4 class="mb-4 text-2xl font-semibold">We move your world!</h4>
              <p class="mb-4">
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
              </p>
              <p>
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
              </p>
          </div>
          {{/hbp_ifCond}}
          {{#hbp_ifCond  currentTab '==' 'profile' }}
          <div >
              <div class="flex items-start">
                  <div class="h-20 w-20 flex-none ltr:mr-4 rtl:ml-4">
                      <img
                          src="/assets/images/logo.png"
                          alt=""
                          class="m-0 h-20 w-20 rounded-full object-cover ring-2 ring-[#ebedf2] dark:ring-white-dark"
                      />
                  </div>
                  <div class="flex-auto">
                      <h5 class="mb-4 text-xl font-medium">Media heading</h5>
                      <p class="text-white-dark">
                          Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum
                          in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis
                          in faucibus.
                      </p>
                  </div>
              </div>
          </div>
          {{/hbp_ifCond}}

      {{#hbp_ifCond  currentTab '==' 'contact' }}
          <div >
              <p>
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
                  in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
                  sunt in culpa qui officia deserunt mollit anim id est laborum.
              </p>
          </div>
         {{/hbp_ifCond}}

      </div>
  </div>



  </div>

  <div class="panel mb-5">

  <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Tabs (CODE) </h5>

        
        </div>

  <div class="mb-5">
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Tabs</h5>

        
        </div>
  <div class="mb-5">
      <div class="mt-3 flex flex-wrap border-b border-white-light dark:border-[#191e3a]">
         <a href="javascript:;" data-tab="home"  class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black {{#hbp_ifCond  currentTab '==' 'home'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
              >Home</a>
          <a href="javascript:;" data-tab="profile"    class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black  {{#hbp_ifCond  currentTab '==' 'profile'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
              >Profile</a>
          <a href="javascript:;" data-tab="contact"  class="-mb-[1px] block border border-transparent p-3.5 py-2 !outline-none transition duration-300 hover:text-primary dark:hover:border-b-black {{#hbp_ifCond  currentTab '==' 'contact'}}!border-white-light !border-b-white  text-primary dark:!border-[#191e3a] dark:!border-b-black{{/hbp_ifCond}}"
          
               >Contact</a>
      </div>
      <div class="flex-1 pt-5 text-sm">
          {{#hbp_ifCond  currentTab '==' 'home' }}
          <div >
              <h4 class="mb-4 text-2xl font-semibold">We move your world!</h4>
              <p class="mb-4">
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
              </p>
              <p>
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
              </p>
          </div>
          {{/hbp_ifCond}}
          {{#hbp_ifCond  currentTab '==' 'profile' }}
          <div >
              <div class="flex items-start">
                  <div class="h-20 w-20 flex-none ltr:mr-4 rtl:ml-4">
                      <img
                          src="/assets/images/logo.png"
                          alt=""
                          class="m-0 h-20 w-20 rounded-full object-cover ring-2 ring-[#ebedf2] dark:ring-white-dark"
                      />
                  </div>
                  <div class="flex-auto">
                      <h5 class="mb-4 text-xl font-medium">Media heading</h5>
                      <p class="text-white-dark">
                          Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum
                          in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis
                          in faucibus.
                      </p>
                  </div>
              </div>
          </div>
          {{/hbp_ifCond}}

      {{#hbp_ifCond  currentTab '==' 'contact' }}
          <div >
              <p>
                  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
                  enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
                  in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
                  sunt in culpa qui officia deserunt mollit anim id est laborum.
              </p>
          </div>
         {{/hbp_ifCond}}

      </div>
  </div>
  </div>

      </code></pre>
  </div>

  </div>



  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Accordion</h5>

        </div>
  <div class="space-y-2 font-semibold">
      <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'home'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="home"
              
              
          >
              Accordion 1 home
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'home'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'home'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
              <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

       <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'profile'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="profile"
              
              
          >
              Accordion 1 profile
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'profile'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'profile'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
               <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Profile
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

       <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'contact'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="contact"
              
              
          >
              Accordion 1 contact
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'contact'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'contact'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
               <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Contact
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

      
  </div>
  </div>



  <div class="panel mb-5">

  <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Accordion (CODE) </h5>

        
        </div>

  <div class="mb-5">
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Accordion</h5>

        </div>
  <div class="space-y-2 font-semibold">
      <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'home'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="home"
              
              
          >
              Accordion 1 home
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'home'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'home'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
              <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

       <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'profile'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="profile"
              
              
          >
              Accordion 1 profile
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'profile'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'profile'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
               <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Profile
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

       <div class="rounded border border-[#d3d3d3] dark:border-[#1b2e4b]">
          <button
              type="button"
              class="flex w-full items-center p-4 text-white-dark dark:bg-[#1b2e4b] {{#hbp_ifCond  currentAccordion '==' 'contact'}}!text-primary{{/hbp_ifCond}}"
              data-accordion="contact"
              
              
          >
              Accordion 1 contact
              <div class="ltr:ml-auto rtl:mr-auto {{#hbp_ifCond  currentAccordion '==' 'contact'}}rotate-180{{/hbp_ifCond}}" >
                  <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4">
                      <path d="M19 9L12 15L5 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
                  </svg>
              </div>
          </button>
          <div class="overflow-hidden transition-all duration-300 {{#hbp_ifCond  currentAccordion '==' 'contact'}}max-h-screen{{else}}max-h-0{{/hbp_ifCond}}">
               <div class="space-y-2 border-t border-[#d3d3d3] p-4 text-[13px] text-white-dark dark:border-[#1b2e4b]">
                  <p>
                      Contact
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
                  <p>
                      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                      aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                  </p>
              </div>
          </div>
      </div>

      
  </div>
  </div>


      </code></pre>
  </div>

  </div>

  <div class="panel mb-5">

  <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Model (HTML) </h5>

        
        </div>

  <div class="mb-5">
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

          <!-- start -->
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Accordion</h5>

        </div>

  </div>


      <code><pre>
          <!-- In the end add backslash to code and pre -->


      </code></pre>
  </div>

  </div>

  <div class="panel mb-5">

  <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Model (TYPESCRIPT/JSON/QUERY) </h5>

        
        </div>
  <div class="mb-5">
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

          <!-- start -->
      <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">
  ${ import { Injectable } from '@angular/core';
              import { Store } from '@ngrx/store';
              import { $themeConfig } from '../theme.config';
              import { TranslateService } from '@ngx-translate/core';
              
              @Injectable()
              export class AppService {
              storeData: any;
              constructor(public translate: TranslateService, public store: Store<any>) {
                  this.initStoreData();
              }
              
              initStoreData() {
                  this.store
                      .select((d: any) => d.index)
                      .subscribe((d: any) => {
                          this.storeData = d;
                      });
              
                  // set default styles
                  let val: any = localStorage.getItem('theme'); // light, dark, system
                  val = val || $themeConfig.theme;
                  this.store.dispatch({ type: 'toggleTheme', payload: val });
              
                  val = localStorage.getItem('menu'); // vertical, collapsible-vertical, horizontal
                  val = val || $themeConfig.menu;
                  this.store.dispatch({ type: 'toggleMenu', payload: val });
              
                  val = localStorage.getItem('layout'); // full, boxed-layout
                  val = val || $themeConfig.layout;
                  this.store.dispatch({ type: 'toggleLayout', payload: val });
              
                  val = localStorage.getItem('i18n_locale'); // en, da, de, el, es, fr, hu, it, ja, pl, pt, ru, sv, tr, zh
                  val = val || $themeConfig.locale;
              
                  const list = this.storeData.languageList;
                  const item = list.find((item: any) => item.code === val);
                  if (item) {
                      this.toggleLanguage(item);
                  }
              
                  val = localStorage.getItem('rtlClass'); // rtl, ltr
                  val = val || $themeConfig.rtlClass;
                  this.store.dispatch({ type: 'toggleRTL', payload: val });
              
                  val = localStorage.getItem('animation'); // animate__fadeIn, animate__fadeInDown, animate__fadeInUp, animate__fadeInLeft, animate__fadeInRight, animate__slideInDown, animate__slideInLeft, animate__slideInRight, animate__zoomIn
                  val = val || $themeConfig.animation;
                  this.store.dispatch({ type: 'toggleAnimation', payload: val });
              
                  val = localStorage.getItem('navbar'); // navbar-sticky, navbar-floating, navbar-static
                  val = val || $themeConfig.navbar;
                  this.store.dispatch({ type: 'toggleNavbar', payload: val });
              
                  val = localStorage.getItem('semidark');
                  val = val === 'true' ? true : $themeConfig.semidark;
                  this.store.dispatch({ type: 'toggleSemidark', payload: val });
              }
              
              toggleLanguage(item: any) {
                  let lang: any = null;
                  lang = 'en';
                  if (item) {
                      lang = item;
                  } else {
                      let code = this.translate.currentLang || null;
                      if (!code) {
                          code = localStorage.getItem('i18n_locale');
                      }
              
                      item = this.storeData.languageList.find((d: any) => d.code === code);
                      if (item) {
                          lang = item;
                      }
                  }
              
                  if (!lang) {
                      lang = this.storeData.languageList.find((d: any) => d.code === 'en');
                  }
              
                  this.translate.use(lang.code); // set language
                  this.store.dispatch({ type: 'toggleLocale', payload: lang.code });
                  return lang;
              }
              
              changeAnimation(type = 'add') {
                  if (this.storeData.animation) {
                      const ele: any = document.querySelector('.animation');
                      if (type === 'add') {
                          ele?.classList.add('animate__animated');
                          ele?.classList.add(this.storeData.animation);
                      } else {
                          ele?.classList.remove('animate__animated');
                          ele?.classList.remove(this.storeData.animation);
                      }
                  }
              }
              } }
  <code><pre>
          <!-- In the end add backslash to code and pre -->


      </code></pre>
  </div>

  </div>


uuid: 52ca96e8-0556-41b9-b63e-f697fe189870
name: Documentation Postgres Queries
entity_name: documentation_postgres_queries
entity_type: static_page_builder_module
created_at: 2025-01-09 11:00:20
static_page_content:
  <div class="panel mb-5">
      <div class="mb-5 flex items-center justify-between">
          <h5 appDynamicFontSize="title" class="text-lg font-semibold dark:text-white-light">Cloning Database</h5>
      </div>
      <div class="mb-5">
          <div class="flex-1 pt-5 text-sm">
              <h4 class="mt-4 mb-4 text-2xl font-semibold">Overview</h4>
              <p class="mt-4 mb-4">
                  PostgreSQL provides a convenient way to clone a database along with its data using a simple command. This method allows you to quickly create a new database based on an existing one without the need for exporting and importing data.
              </p>
              <h4 class="mt-4 mb-4 text-xl font-semibold">Usage</h4>
              <p class="mt-4 mb-4">
                  To clone a database, you can use the following syntax:
              </p>
               <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  create database [new_database_name] with template [source_database_name] owner postgres;
  </code>
              </pre>
              <p class="mt-4 mb-4">
                  Here is an example:
              </p>
               <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  create database lcp_zain_wms with template lcp_framework owner postgres;
  </code>
              </pre>
              <h4 class="mt-4 mb-4 text-xl font-semibold">Handling Active Sessions</h4>
              <p class="mt-4 mb-4">
                  If you encounter any issues related to active sessions when cloning the database, you can terminate those sessions using the following query:
              </p>
               <pre class="bg-gray-800 text-white p-4 rounded-md overflow-auto" ><code class="xml">

  SELECT pg_terminate_backend(pg_stat_activity.pid)
  FROM pg_stat_activity
  WHERE pg_stat_activity.datname = 'lcp_framework'
  AND pid <> pg_backend_pid();
  </code>
              </pre>
              <p>
                  This query will terminate all active sessions connected to the specified database, allowing you to proceed with cloning it without any conflicts.
              </p>
          </div>
      </div>
  </div>


uuid: 3a3cea26-8b6a-49cd-913e-39b56748c8b9
name: Notifications Grid
entity_name: notification
entity_type: grid_builder_module
primary_table: notification_jobs
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["notification_jobs.id","notification_jobs.uuid"," notification_jobs.process_slug","cat_type.name","cat_status.name","notification_jobs.notification_subject","notification_jobs.notification_to","notification_jobs.status_id "],"includes":[{"join_type":"LEFT","table_name":"app_categories as cat_type","join_condition":"notification_jobs.notification_type_id = cat_type.category_id"},{"join_type":"LEFT","table_name":"app_categories as cat_status","join_condition":"notification_jobs.notification_status_id = cat_status.category_id"}],"search_all":[{"value":3,"operator":"!=","column_name":"notification_jobs.status_id"}]}


uuid: 04d637f4-5551-4dcf-b86b-eed8ba78a9db
name: Delete Notifications form
entity_name: delete_notification_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["notification_jobs"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: 3f4bcfb2-d1e3-4a59-b00e-4f4cbbd16e58
name: Document Sequence Grid
entity_name: document_sequences
entity_type: grid_builder_module
primary_table: document_sequences
created_at: 2025-01-09 11:00:20
query_information:
  {"includes":[{"join_type":"LEFT","table_name":"financial_years","join_condition":"financial_years.id = document_sequences.financial_year_id"}]}


uuid: be5422ab-855b-4ef2-9be1-66bad297d298
name: Delete Document Sequence
entity_name: delete_document_sequences_job
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"deleted_at":true,"deleted_by":true}]},"table":["document_sequences"],"action":["delete"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: bb215444-f77f-4d12-bcb0-6fc19eeff95f
name: Delete Financial Year
entity_name: delete_financial_years_job
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"deleted_at":true,"deleted_by":true}]},"table":["financial_years"],"action":["delete"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: 4585eb5c-1ca4-4f54-94ae-ce90fb030df1
name: device_registration_grid
entity_name: device_registration
entity_type: grid_builder_module
primary_table: device_registration
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["device_registration.id","device_registration.uuid","device_registration.device_name","device_registration.device_unique_id","users.username","user_details.last_name","user_details.first_name","device_registration.status_id"],"includes":[{"join_type":"INNER","table_name":"users","join_condition":"device_registration.user_id = users.id"},{"join_type":"INNER","table_name":"user_details","join_condition":"user_details.user_id = users.id"},{"join_type":"LEFT","table_name":"user_roles","join_condition":"users.id = user_roles.user_id"},{"join_type":"LEFT","table_name":"roles","join_condition":"roles.id = user_roles.role_id"}],"search_all":[{"value":3,"operator":"!=","column_name":"users.status_id"},{"value":["super_admin","company_admin"],"operator":"NOT IN","column_name":"users.role"}]}


uuid: 1d6b01d5-1770-4feb-a92d-621801c7860c
name: Summary
entity_name: dashboard_summary
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["menu_items.id"],"company_id":1,"limit_range":10,"print_query":true,"start_index":0,"sort_columns":[["menu_items.id","asc"]],"primary_table":"menu_items","select_columns":[["sum(order_no)","redeem"],["sum(order_no)","tax"],["sum(order_no)","outlet_discount"]]}

static_page_content:
  <div class="panel h-full pb-0 sm:col-span-2 xl:col-span-1">
                  <div class="mb-5 flex items-center dark:text-white-light">
                      <h5 class="text-lg font-semibold">Summary</h5>
                      
                  </div>
                  <div class="space-y-9">
                      <div class="flex items-center">
                          <div class="h-9 w-9 ltr:mr-3 rtl:ml-3">
                              <div
                                  class="grid h-9 w-9 place-content-center rounded-full bg-secondary-light text-secondary dark:bg-secondary dark:text-secondary-light"
                              >
                                  <i class="fa-solid fa-inbox"></i>
                              </div>
                          </div>
                          <div class="flex-1">
                              <div class="mb-2 flex font-semibold text-white-dark">
                                  <h6>Redeem Amount</h6>
                                  <p class="ltr:ml-auto rtl:mr-auto">{{redeem}}</p>
                              </div>
                              <div class="h-2 rounded-full bg-dark-light shadow dark:bg-[#1b2e4b]">
                                  <div class="h-full w-11/12 rounded-full bg-gradient-to-r from-[#7579ff] to-[#b224ef]"></div>
                              </div>
                          </div>
                      </div>
                      <div class="flex items-center">
                          <div class="h-9 w-9 ltr:mr-3 rtl:ml-3">
                              <div class="grid h-9 w-9 place-content-center rounded-full bg-success-light text-success dark:bg-success dark:text-success-light">
                                  <i class="fa-solid fa-tag"></i>
                              </div>
                          </div>
                          <div class="flex-1">
                              <div class="mb-2 flex font-semibold text-white-dark">
                                  <h6>Tax Amount</h6>
                                  <p class="ltr:ml-auto rtl:mr-auto">{{tax}}</p>
                              </div>
                              <div class="h-2 w-full rounded-full bg-dark-light shadow dark:bg-[#1b2e4b]">
                                  <div class="h-full w-full rounded-full bg-gradient-to-r from-[#3cba92] to-[#0ba360]" style="width: 65%"></div>
                              </div>
                          </div>
                      </div>
                      <div class="flex items-center">
                          <div class="h-9 w-9 ltr:mr-3 rtl:ml-3">
                              <div class="grid h-9 w-9 place-content-center rounded-full bg-warning-light text-warning dark:bg-warning dark:text-warning-light">
                                  <i class="fa-solid fa-credit-card"></i>
                              </div>
                          </div>
                          <div class="flex-1">
                              <div class="mb-2 flex font-semibold text-white-dark">
                                  <h6>Outlet Discount Amount</h6>
                                  <p class="ltr:ml-auto rtl:mr-auto">{{outlet_discount}}</p>
                              </div>
                              <div class="h-2 w-full rounded-full bg-dark-light shadow dark:bg-[#1b2e4b]">
                                  <div class="h-full w-full rounded-full bg-gradient-to-r from-[#f09819] to-[#ff5858]" style="width: 80%"></div>
                              </div>
                          </div>
                      </div>
                  </div>
              </div>


uuid: 6e42b93c-77e7-4f74-ab89-e88202b253af
name: Recent Activities
entity_name: dashboard_recent_activities
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["id"],"company_id":1,"limit_range":5,"print_query":true,"start_index":0,"sort_columns":[["id","desc"]],"primary_table":"user_details","select_columns":[["first_name","service_type"],["TO_CHAR(created_at, 'MM YYYY')","created_at"],["user_id","status_id"]]}

static_page_content:
  <div class="panel h-full pb-0 sm:col-span-2 xl:col-span-1">
                  <h5 class="mb-5 text-lg font-semibold dark:text-white-light">Recent Activities</h5>

                  <ng-scrollbar class="relative mb-4 !h-[290px] ltr:-mr-3 ltr:pr-3 rtl:-ml-3 rtl:pl-3">
                      <div class="cursor-pointer text-sm">
                            {{#each (hbp_limit data_list 5)}}
          <div class="group relative flex items-center py-1.5">
              <div class="h-1.5 w-1.5 rounded-full {{#if status_id }}bg-success{{else}}bg-danger{{/if}} ltr:mr-1 rtl:ml-1.5"></div>
                      <div class="flex-1">{{service_type}}</div>
                      <div class="text-xs text-white-dark ltr:ml-auto rtl:mr-auto dark:text-gray-500">{{created_at}}</div>
                      <!-- Conditional badge text based on status_id -->
                      <span class="badge {{#if status_id }}badge-outline-success bg-success-light{{else}}badge-outline-danger bg-danger-light{{/if}} absolute text-xs opacity-0 group-hover:opacity-100 ltr:right-0 rtl:left-0 dark:bg-[#0e1726]">
                          {{#if status_id }}Active{{else}}Inactive{{/if}}
                      </span>
          </div>
          {{/each}}
                          
                          
                      </div>
                  </ng-scrollbar>
                  
              </div>


uuid: 1a83d1b5-9fdc-4022-ab8c-d59c44a8fccc
name: Transactions
entity_name: dashboard_transactions
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["id"],"company_id":1,"limit_range":7,"print_query":true,"start_index":0,"sort_columns":[["id","desc"]],"primary_table":"roles","select_columns":[["id","id"],["uuid","return_no"],["TO_CHAR(created_at, 'DD MM YYYY')","return_date_time"],["name","tax_amount"]]}

static_page_content:
   <div class="panel h-full">
                  <div class="mb-5 flex items-center justify-between dark:text-white-light">
                      <h5 class="text-lg font-semibold">Return Items</h5>
                     
                  </div>
                  <div>
                      <div class="space-y-6">
                          {{#each (hbp_limit data_list 7)}}
          <div class="flex">
              <span
                  class="grid h-9 w-9 shrink-0 place-content-center rounded-md bg-success-light text-base text-success dark:bg-success dark:text-success-light"
                  >{{id}}</span
              >
              <div class="flex-1 px-3">
                  <div>{{return_no}}</div>
                  <div class="text-xs text-white-dark dark:text-gray-500">{{return_date_time}}</div>
              </div>
              <span class="whitespace-pre px-1 text-base text-success ltr:ml-auto rtl:mr-auto">+${{tax_amount}}</span>
          </div>
          {{/each}}
                          
                         
                          
                      </div>
                  </div>
              </div>


uuid: c862f5b2-4554-49d3-ad55-561b2189b4b7
name: Outlet Limit Wallet
entity_name: dashboard_wallet_balance
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["users.id","users.email","user_details.first_name","user_details.last_name"],"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"user_details.user_id = users.id"},{"join_type":"INNER","table_name":"otps","join_condition":"otps.user_id = users.id"}],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["users.email","email"],["user_details.first_name","first_name"],["user_details.last_name","last_name"],["sum(otps.user_id)","outlet_limit"],["sum(otps.user_id)","available_credit_limit"],["sum(otps.user_id)","return_amount"]]}

static_page_content:
    <div class="panel h-full overflow-hidden border-0 p-0">
                  <div class="min-h-[190px] bg-gradient-to-r from-[#4361ee] to-[#160f6b] p-6">
                      <div class="mb-6 flex items-center justify-between">
                          <div class="flex items-center rounded-full bg-black/50 p-1 font-semibold text-white ltr:pr-3 rtl:pl-3">
                              
                              <i class="fas fa-user block  rounded-full border-2 border-white/50 object-cover ltr:mr-1 rtl:ml-1"></i>
                              {{first_name}} {{last_name}}
                          </div>
                          <button
                              type="button"
                              class="flex h-9 w-9 items-center justify-between rounded-md bg-black text-white hover:opacity-80 ltr:ml-auto rtl:mr-auto"
                          >
                          <i class="m-auto h-6 w-6 fa-solid fa-plus"></i>
                              
                          </button>
                      </div>
                      <div class="flex items-center justify-between text-white">
                          <p class="text-xl">Outlet Limit</p>
                          <h5 class="text-2xl ltr:ml-auto rtl:mr-auto"><span class="text-white-light">$</span>{{outlet_limit}}</h5>
                      </div>
                  </div>
                  <div class="-mt-12 grid grid-cols-2 gap-2 px-8">
                      <div class="rounded-md bg-white px-4 py-2.5 shadow dark:bg-[#060818]">
                          <span class="mb-4 flex items-center justify-between dark:text-white"
                              >Available Credit Limit
                              
                          </span>
                          <div class="btn w-full border-0 bg-[#ebedf2] py-1 text-base text-[#515365] shadow-none dark:bg-black dark:text-[#bfc9d4]">$ {{available_credit_limit}}</div>
                      </div>
                      <div class="rounded-md bg-white px-4 py-2.5 shadow dark:bg-[#060818]">
                          <span class="mb-4 flex items-center justify-between dark:text-white"
                              >Return Amount
                              
                          </span>
                          <div class="btn w-full border-0 bg-[#ebedf2] py-1 text-base text-[#515365] shadow-none dark:bg-black dark:text-[#bfc9d4]">$ {{return_amount}}</div>
                      </div>
                  </div>
                  <div class="p-5">
                      <div class="mb-5">
                          <span
                              class="rounded-full bg-[#1b2e4b] px-4 py-1.5 text-xs text-white   ltr:before:mr-2 rtl:before:ml-2"
                              >{{email}}</span
                          >
                      </div>
                      <div class="mb-5 space-y-1">
                          <div class="flex items-center justify-between">
                              <p class="font-semibold text-[#515365]">Static Info</p>
                              <p class="text-base"><span>$ </span> <span class="font-semibold">00.00</span></p>
                          </div>
                          <div class="flex items-center justify-between">
                              <p class="font-semibold text-[#515365]">Static Info</p>
                              <p class="text-base"><span>$ </span> <span class="font-semibold">00.00</span></p>
                          </div>
                      </div>
                      <div class="flex justify-around px-2 text-center">
                          <button type="button" class="btn btn-secondary ltr:mr-2 rtl:ml-2">View Details</button>
                          <button type="button" class="btn btn-success">Pay Now $00.00</button>
                      </div>
                  </div>
              </div>


uuid: 2bce73cc-b4d7-44ab-96b6-99da78e85720
name: Banks
entity_name: dashboard_sessions
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["languages.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["languages.id","desc"]],"primary_table":"languages","select_columns":[["count(id)","count"]]}

static_page_content:
    <div class="panel bg-gradient-to-r from-violet-500 to-violet-400">
                  <div class="flex justify-between">
                      <div class="text-md font-semibold ltr:mr-1 rtl:ml-1">Banks</div>
                     
                  </div>
                  <div class="mt-5 flex items-center">
                      <div class="text-3xl font-bold ltr:mr-3 rtl:ml-3">{{count}}</div>
                      <div class="badge bg-white/30">- 0.35%</div>
                  </div>
                  <div class="mt-5 flex items-center font-semibold">
                      <icon-eye class="shrink-0 ltr:mr-2 rtl:ml-2" />
                      Static Information
                  </div>
              </div>


uuid: b470805d-b5f6-40fd-8a56-fbafda6cf958
name: Recent Menu Items
entity_name: dashboard_recent_orders
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["id"],"company_id":1,"limit_range":5,"print_query":true,"start_index":0,"sort_columns":[["id","desc"]],"primary_table":"menu_items","select_columns":[["menu_id","invoice_no"],["name","payment_type"],["target","transaction_type"],["link_type","bank_name"],["order_no","process_status_id"]]}

static_page_content:
   <div class="panel h-full w-full">
                  <div class="mb-5 flex items-center justify-between">
                      <h5 class="text-lg font-semibold dark:text-white-light">Recent menu_items</h5>
                  </div>
                  <div class="table-responsive">
                      <table>
                          <thead>
                              <tr>
                                  <th class="ltr:rounded-l-md rtl:rounded-r-md">Invoice</th>
                                  <th>Payment</th>
                                  <th>Transaction</th>
                                  <th>Bank</th>
                                  <th class="ltr:rounded-r-md rtl:rounded-l-md">Status</th>
                              </tr>
                          </thead>
                          <tbody>
                              {{#each data_list}}
          <tr class="group text-white-dark hover:text-black dark:hover:text-white-light/90">
              <td class="min-w-[150px] text-black dark:text-white">
                  <div class="flex items-center">
                      
                      <i class="fas fa-user h-8 w-8 rounded-md object-cover ltr:mr-3 rtl:ml-3"></i>
                      <span class="whitespace-nowrap">{{invoice_no}}</span>
                  </div>
              </td>
              <td class="text-primary">{{payment_type}}</td>
              <td><a href="javascript:void(0);">{{transaction_type}}</a></td>
              <td>{{bank_name}}</td>
              <td><span class="badge {{#if process_status_id }}bg-success{{else}}bg-danger{{/if}} shadow-md dark:group-hover:bg-transparent">
                  {{#if process_status_id }}Active{{else}}Inactive{{/if}}
                  </span></td>
          </tr>
          {{/each}}
                          </tbody>
                      </table>
                  </div>
              </div>


uuid: d8ae20b0-6165-4294-a9e4-098d5a62a773
name: Free Items
entity_name: dashboard_top_selling_product
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["id"],"company_id":1,"limit_range":5,"print_query":true,"start_index":0,"sort_columns":[["id","desc"]],"primary_table":"field_types","select_columns":[["field_type","trade_name"],["field_type","quantity"],["TO_CHAR(created_at, 'DD Mon YYYY')","start_date"],["TO_CHAR(created_at, 'DD Mon YYYY')","end_date"],["TO_CHAR(created_at, 'Mon YYYY')","created_date"],["status_id","item_status_id"]]}

static_page_content:
   <div class="panel h-full w-full">
                  <div class="mb-5 flex items-center justify-between">
                      <h5 class="text-lg font-semibold dark:text-white-light">Free Items</h5>
                  </div>
                  <div class="table-responsive">
                      <table>
                          <thead>
                              <tr class="border-b-0">
                                  <th class="ltr:rounded-l-md rtl:rounded-r-md">Trade</th>
                                  <th>Quantity</th>
                                  <th>Start</th>
                                  <th>End</th>
                                  <th class="ltr:rounded-r-md rtl:rounded-l-md">Status</th>
                              </tr>
                          </thead>
                          <tbody>
                              {{#each data_list}}
          <tr class="group text-white-dark hover:text-black dark:hover:text-white-light/90">
              <td class="min-w-[150px] text-black dark:text-white">
                  <div class="flex">
                      
                      <i class="fas fa-user h-8 w-8 rounded-md object-cover ltr:mr-3 rtl:ml-3"></i>
                      <p class="whitespace-nowrap">{{trade_name}} <span class="block text-xs text-primary">{{created_date}}</span></p>
                  </div>
              </td>
              <td>{{quantity}}</td>
              <td>{{start_date}}</td>
              <td>{{end_date}}</td>
              <td>
                  <a class="flex items-center  {{#if process_status_id }}text-success{{else}}text-danger{{/if}} " href="javascript:;">
                     

                      {{#if item_status_id }}Active{{else}}Inactive{{/if}}
                  </a>
              </td>
          </tr>
          {{/each}}
                          </tbody>
                      </table>
                  </div>
              </div>


uuid: ee1135ca-2537-45af-ab56-b452121e8f2f
name: Damage Requests
entity_name: dashboard_expenses
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["master_entities.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["master_entities.id","desc"]],"primary_table":"master_entities","select_columns":[["count(id)","count"]]}

static_page_content:
  <div class="panel h-full">
                  <div class="mb-5 flex items-center justify-between dark:text-white-light">
                      <h5 class="text-lg font-semibold">Damage Requests</h5>
                     
                  </div>
                  <div class="my-10 text-3xl font-bold text-[#e95f2b]">
                      <span class="ltr:mr-2 rtl:ml-2">{{count}}</span>
                      <span class="text-sm text-black ltr:mr-1 rtl:ml-1 dark:text-white-light">this week </span>
                      <i class="fas fa-chart-line"></i>
                  </div>
                  <div class="flex items-center justify-between">
                      <div class="h-5 w-full overflow-hidden rounded-full bg-dark-light p-1 shadow-3xl dark:bg-dark-light/10 dark:shadow-none">
                          <div
                              class="relative h-full w-full rounded-full bg-gradient-to-r from-[#4361ee] to-[#805dca] before:absolute before:inset-y-0 before:m-auto before:h-2 before:w-2 before:rounded-full before:bg-white ltr:before:right-0.5 rtl:before:left-0.5"
                              style="width: 65%"
                          ></div>
                      </div>
                      <span class="ltr:ml-5 rtl:mr-5 dark:text-white-light">57%</span>
                  </div>
              </div>


uuid: ee18822e-74a4-4a63-9435-c27fa679539b
name: Total Items
entity_name: dashboard_total_balance
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["master_entities.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["master_entities.id","desc"]],"primary_table":"master_entities","select_columns":[["count(id)","count"]]}

static_page_content:
    <div
                  class="panel grid h-full grid-cols-1 content-between overflow-hidden before:absolute before:-right-44 before:bottom-0 before:top-0 before:m-auto before:h-96 before:w-96 before:rounded-full before:bg-[#1937cc]"
                  style="background: linear-gradient(0deg, #00c6fb -227%, #005bea) !important"
              >
                  <div class="z-[7] mb-16 flex items-start justify-between text-white-light">
                      <h5 class="text-lg font-semibold">Total Items</h5>

                      <div class="relative whitespace-nowrap text-xl">
                          {{count}}
                          <span class="mt-1 table rounded bg-[#4361ee] p-1 text-xs text-[#d3d3d3] ltr:ml-auto rtl:mr-auto">+ 2453</span>
                      </div>
                  </div>
                  <div class="z-10 flex items-center justify-between">
                      <div class="flex items-center justify-between">
                          <a
                              href="javascript:;"
                              class="place-content-center rounded p-1 text-white-light shadow-[0_0_2px_0_#bfc9d4] hover:bg-[#1937cc] ltr:mr-2 rtl:ml-2"
                          >
                              <i class="fas fa-inbox"></i>
                          </a>
                          <a href="javascript:;" class="grid place-content-center rounded p-1 text-white-light shadow-[0_0_2px_0_#bfc9d4] hover:bg-[#1937cc]">
                              <i class="fas fa-inbox"></i>
                          </a>
                      </div>
                      <a href="javascript:;" class="z-10 rounded p-1 text-white-light shadow-[0_0_2px_0_#bfc9d4] hover:bg-[#4361ee]"> Upgrade </a>
                  </div>
              </div>


uuid: 235f532f-1a01-4afc-90fb-7f7a7d6bda6a
name: Activity Log
entity_name: dashboard_activity_log
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["id"],"company_id":1,"limit_range":3,"print_query":true,"start_index":0,"sort_columns":[["id","desc"]],"primary_table":"request_logs","select_columns":[["req_device","req_device"],["TO_CHAR(created_at, 'DD Mon, YYYY')","created_at"],["req_url","req_url"],["req_method","req_method"],["status_id","status_id"]]}

static_page_content:
   <div class="panel h-full">
                  <div class="-mx-5 mb-5 flex items-start justify-between border-b border-[#e0e6ed] p-5 pt-0 dark:border-[#1b2e4b] dark:text-white-light">
                      <h5 class="text-lg font-semibold">Request Log</h5>
                     
                  </div>
                  <ng-scrollbar class="relative !h-[360px] ltr:-mr-3 ltr:pr-3 rtl:-ml-3 rtl:pl-3">
                     <div class="space-y-7">
              {{#each data_list}}
              <div class="flex" >
                <div class="relative z-10 shrink-0 before:absolute before:left-4 before:top-10 before:h-[calc(100%-24px)] before:w-[2px] before:bg-white-dark/30 ltr:mr-2 rtl:ml-2">
                  <div class="flex h-8 w-8 items-center justify-center rounded-full bg-secondary text-white shadow shadow-secondary" >
                    <i class="fas fa-chart-line h-4 w-4"></i>
                  </div>
                </div>
                <div>
                  <h5 class="font-semibold dark:text-white-light">
                    {{ req_device }}
                    <a href="javascript:void(0);" class="text-success">{{ req_url }}</a>
                    <span >
                      | <a href="javascript:void(0);" class="text-white-dark">{{ req_method }}</a>
                    </span>
                  </h5>
                  <p class="text-xs text-white-dark">{{ created_at }}</p>
                </div>
              </div>
              {{/each}}
            </div>
                  </ng-scrollbar>
              </div>


uuid: 4dd6b491-b086-448f-83a9-2545d05c976d
name: User Role Details
entity_name: dashboard_visitors_by_browser
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["roles.name","roles.id"],"includes":[{"join_type":"INNER","table_name":"user_roles","join_condition":"roles.id = user_roles.role_id"}],"company_id":1,"limit_range":3,"print_query":true,"start_index":0,"sort_columns":[["percentage","desc"]],"primary_table":"roles","select_columns":[["roles.name","role"],["count(user_roles)","count"],["ROUND((COUNT(user_roles.user_id) * 100.0 / (SELECT COUNT(*) FROM user_roles)), 2)","percentage"]]}

static_page_content:
   <div class="panel h-full sm:col-span-3 xl:col-span-2">
                  <div class="mb-5 flex items-start justify-between">
                      <h5 class="text-lg font-semibold dark:text-white-light">User Role Details</h5>
                  </div>
                  <div class="flex flex-col space-y-5">
                     {{#each data_list}}
          <div class="flex items-center">
              <div class="h-9 w-9">
                  <div class="flex h-9 w-9 items-center justify-center rounded-xl bg-primary/10 text-primary dark:bg-primary dark:text-white-light">
                      <i class="fas fa-inbox h-5 w-5"></i>
                  </div>
              </div>
              <div class="w-full flex-initial px-3">
                  <div class="w-summary-info mb-1 flex justify-between font-semibold text-white-dark">
                      <h6>{{role}} - {{count}}</h6>
                      <p class="text-xs ltr:ml-auto rtl:mr-auto">{{percentage}}%</p>
                  </div>
                  <div>
                      <div class="h-5 w-full overflow-hidden rounded-full bg-dark-light p-1 shadow-3xl dark:bg-dark-light/10 dark:shadow-none">
                          <div
                              class="relative h-full w-full rounded-full bg-gradient-to-r from-[#009ffd] to-[#2a2a72] before:absolute before:inset-y-0 before:m-auto before:h-2 before:w-2 before:rounded-full before:bg-white ltr:before:right-0.5 rtl:before:left-0.5"
                              style="width: {{percentage}}%"
                          ></div>
                      </div>
                  </div>
              </div>
          </div>
          {{/each}}
                     
                  </div>
              </div>


uuid: ce77efc7-ccc8-476a-8660-d0ec7627e48b
name: Last Person
entity_name: dashboard_jimmy_turner
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["users.id","user_details.phone_number","user_details.address","user_details.first_name","user_details.last_name"],"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"users.id = user_details.user_id"}],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["users.id","desc"]],"primary_table":"users","select_columns":[["users.email","email"],["user_details.phone_number","phone_number"],["user_details.address","address"],["user_details.first_name","first_name"],["user_details.last_name","last_name"],["TO_CHAR(users.created_at, 'DD Mon,YYYY')","created_at"]]}

static_page_content:
   <div class="panel h-full">
                  <div class="-m-5 mb-5 flex items-start border-b border-[#e0e6ed] p-5 dark:border-[#1b2e4b]">
                      <div class="shrink-0 rounded-full ring-2 ring-white-light ltr:mr-4 rtl:ml-4 dark:ring-dark">
                          
                          <i class="fas fa-user"></i>
                      </div>
                      <div class="font-semibold">
                          <h6>Last User: {{first_name}} {{last_name}}</h6>
                          <p class="mt-1 text-xs text-white-dark">{{created_at}}</p>
                      </div>
                  </div>
                  <div>
                      <div class="pb-8 text-white-dark">
                         Phone: {{phone_number}}
                         
                      </div>
                      <div class="pb-8 text-white-dark">
                         
                         Email: {{email}}
                         
                      </div>
                      <div class="pb-8 text-white-dark">
                         
                         
                         Address: {{address}}
                      </div>
                      <div class="absolute bottom-0 -mx-5 flex w-full items-center justify-between p-5">
                          <div class="flex items-center">
                              <i class="fas fa-chart-line relative -top-0.5 inline h-5 w-5 text-info ltr:mr-1.5 rtl:ml-1.5"></i>
                              
                              <span class="dark:text-info">{{created_at}}</span>
                          </div>
                          <a
                              href="javascript:;"
                              class="flex items-center rounded-md bg-success/30 px-1.5 py-1 text-xs text-success hover:shadow-[0_10px_20px_-10px] hover:shadow-success"
                              >Read More
                             
                              <i class="fas fa-chart-line h-4 w-4 -rotate-90 ltr:ml-1.5 rtl:mr-1.5 rtl:rotate-90"></i>
                          </a>
                      </div>
                  </div>
              </div>


uuid: 5776bce6-521a-4bcb-baf0-0342e15cff05
name: Last Bank
entity_name: dashboard_dev_summit
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["languages.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["languages.id","desc"]],"primary_table":"languages","select_columns":[["languages.name","name"],["languages.code","code"],["languages.description","description"]]}

static_page_content:
  <div class="panel h-full">
                  <div class="-m-5 mb-5 flex items-center justify-between border-b border-[#e0e6ed] p-5 dark:border-[#1b2e4b]">
                      <div class="flex">
                          <div class="media-aside align-self-start">
                              <div class="shrink-0 rounded-full ring-2 ring-white-light ltr:mr-4 rtl:ml-4 dark:ring-dark">
                                   <i class="fas fa-bank"></i>
                              </div>
                          </div>
                          <div class="font-semibold">
                              <h6>Last Bank: {{name}}</h6>
                              <p class="mt-1 text-xs text-white-dark">{{description}}</p>
                          </div>
                      </div>
                  </div>
                  <div class="pb-8 text-center font-semibold">
                      <div class="mb-4 text-primary">4 Banks</div>
                      <div class="flex items-center justify-center gap-3 pb-8">
                                 <i class="fas fa-bank h-10 w-10 overflow-hidden rounded-lg object-cover  "></i>
                                 <i class="fas fa-bank h-10 w-10 overflow-hidden rounded-lg object-cover  "></i>
                                 <i class="fas fa-bank h-10 w-10 overflow-hidden rounded-lg object-cover  "></i>
                                 <i class="fas fa-bank h-10 w-10 overflow-hidden rounded-lg object-cover  "></i>

                      </div>

                      <div class="absolute bottom-0 -mx-5 flex w-full items-center justify-between p-5">
                          <a href="javascript:;" class="btn btn-secondary btn-lg w-full border-0 bg-gradient-to-r from-[#3d38e1] to-[#1e9afe]">View Details</a>
                      </div>
                  </div>
              </div>


uuid: 98fa8b58-f373-4ccd-882c-2e22365d3927
name: Role Percentage
entity_name: dashboard_figma_design
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["roles.name","roles.id"],"includes":[{"join_type":"INNER","table_name":"user_roles","join_condition":"roles.id = user_roles.role_id"}],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["percentage","desc"]],"primary_table":"roles","select_columns":[["roles.name","role"],["count(user_roles)","count"],["ROUND((COUNT(user_roles.user_id) * 100.0 / (SELECT COUNT(*) FROM user_roles)), 2)","percentage"],["TO_CHAR(roles.created_at, 'DD Mon YYYY')","created_at"],["TO_CHAR(roles.updated_at, 'DD Mon YYYY')","updated_at"]]}

static_page_content:
  <div class="panel h-full">
                  <div class="-m-5 mb-12 flex items-center justify-between border-b border-[#e0e6ed] p-5 dark:border-[#1b2e4b]">
                      <a href="javascript:;" class="flex font-semibold">
                          <div class="flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-secondary text-white ltr:mr-4 rtl:ml-4">
                              <span>RP</span>
                          </div>
                          <div>
                              <h6>Role Percentage</h6>
                              <p class="mt-1 text-xs text-white-dark">{{created_at}}</p>
                          </div>
                      </a>
                   
                  </div>
                  <div class="group">
                      <div class="mb-5">
                          <div class="text-white-dark">
                              {{role}}
                          </div>
                      </div>
                      <div class="mb-7 flex items-center justify-between font-semibold">
                          <div class="flex items-center">
                              <i class="fas fa-chart-line h-4 w-4 text-success"></i>

                              <div class="text-xs ltr:ml-2 rtl:mr-2">{{count}} Users</div>
                          </div>
                          <p class="text-primary">{{percentage}}%</p>
                      </div>
                      <div class="mb-5 h-2.5 rounded-full bg-dark-light p-0.5 dark:bg-dark-light/10">
                          <div class="h-full rounded-full bg-gradient-to-r from-[#1e9afe] to-[#60dfcd]" style="width: 65%"></div>
                      </div>
                      <div class="flex items-end justify-between">
                          <div class="flex items-center rounded-full bg-danger/20 px-2 py-1 text-xs font-semibold text-danger">
                              <i class="fas fa-chart-line h-4 w-4 text-success"></i>

                              {{updated_at}}
                          </div>
                          <div class="flex items-center justify-center group-hover:-space-x-2 rtl:space-x-reverse rtl:group-hover:space-x-reverse">
                              <span
                                  class="flex h-9 w-9 items-center justify-center rounded-full bg-[#bfc9d4] font-semibold text-white opacity-0 transition-all duration-300 group-hover:opacity-100 dark:bg-dark"
                                  >+6</span
                              >
                              <img
                                  class="h-9 w-9 rounded-full border-2 border-white object-cover transition-all duration-300 dark:border-dark"
                                  src="/assets/images/user.png"
                                  alt=""
                              />
                              <img
                                  class="h-9 w-9 rounded-full border-2 border-white object-cover transition-all duration-300 dark:border-dark"
                                  src="/assets/images/user.png"
                                  alt=""
                              />
                              <img
                                  class="h-9 w-9 rounded-full border-2 border-white object-cover transition-all duration-300 dark:border-dark"
                                  src="/assets/images/user.png"
                                  alt=""
                              />
                          </div>
                      </div>
                  </div>
              </div>


uuid: 64313c78-b551-4fe3-b5e0-02f5c42aeee9
name: Users
entity_name: dashboard_users_visit
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["users.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["users.id","desc"]],"primary_table":"users","select_columns":[["count(id)","count"]]}

static_page_content:
   <div class="panel bg-gradient-to-r from-cyan-500 to-cyan-400">
                  <div class="flex justify-between">
                      <div class="text-md font-semibold ltr:mr-1 rtl:ml-1">Users</div>
                      
                  </div>
                  <div class="mt-5 flex items-center">
                      <div class="text-3xl font-bold ltr:mr-3 rtl:ml-3">{{count}}</div>
                      <div class="badge bg-white/30">+ 0.00%</div>
                  </div>
                  <div class="mt-5 flex items-center font-semibold">
                      <icon-eye class="shrink-0 ltr:mr-2 rtl:ml-2" />
                      Static Information
                  </div>
              </div>


uuid: fdc1e39d-0302-4d8d-ae2e-27d49eb219db
name: Outlets
entity_name: dashboard_time_on_site
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["master_entities.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["master_entities.id","desc"]],"primary_table":"master_entities","select_columns":[["count(id)","count"]]}

static_page_content:
  <div class="panel bg-gradient-to-r from-blue-500 to-blue-400">
                  <div class="flex justify-between">
                      <div class="text-md font-semibold ltr:mr-1 rtl:ml-1">Outlets</div>
                      
                  </div>
                  <div class="mt-5 flex items-center">
                      <div class="text-3xl font-bold ltr:mr-3 rtl:ml-3">{{count}}</div>
                      <div class="badge bg-white/30">+ 0.00%</div>
                  </div>
                  <div class="mt-5 flex items-center font-semibold">
                      <icon-eye class="shrink-0 ltr:mr-2 rtl:ml-2" />
                      Static Information
                  </div>
              </div>


uuid: 8d51ed90-5e7e-4a2e-b558-21d4f64e5818
name: Error Logs
entity_name: dashboard_bounce_rate
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["user_details.id"],"company_id":1,"limit_range":1,"print_query":true,"start_index":0,"sort_columns":[["user_details.id","desc"]],"primary_table":"user_details","select_columns":[["COUNT(*)","count"],["user_details.id","id"]]}

static_page_content:
   <div class="panel bg-gradient-to-r from-fuchsia-500 to-fuchsia-400">
                  <div class="flex justify-between">
                      <div class="text-md font-semibold ltr:mr-1 rtl:ml-1">Error Logs</div>
                     
                  </div>
                  <div class="mt-5 flex items-center">
                      <div class="text-3xl font-bold ltr:mr-3 rtl:ml-3">{{count}}</div>
                      <div class="badge bg-white/30">- 0.35%</div>
                  </div>
                  <div class="mt-5 flex items-center font-semibold">
                      <icon-eye class="shrink-0 ltr:mr-2 rtl:ml-2" />
                      Static Information
                  </div>
              </div>


uuid: c28eba4d-09ae-44e4-8405-01ceb83f9ac3
name: Menu Items Statement
entity_name: dashboard_previous_statement
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["menu_items.id"],"company_id":1,"limit_range":10,"print_query":true,"start_index":0,"sort_columns":[["menu_items.id","asc"]],"primary_table":"menu_items","select_columns":[["sum(order_no)","redeem"],["sum(order_no)","tax"],["sum(order_no)","outlet_discount"]]}

static_page_content:
  <div class="panel overflow-hidden">
                      <div class="flex items-center justify-between">
                          <div>
                              <div class="text-lg font-bold">menu_items Statement</div>
                              <div class="text-success">Static Information</div>
                          </div>
                         
                      </div>
                      <div class="relative mt-10">
                          <div class="absolute -bottom-12 h-24 w-24 ltr:-right-12 rtl:-left-12">
                              
                              
                          </div>
                          <div class="grid grid-cols-2 gap-6 md:grid-cols-3">
                              <div>
                                  <div class="text-primary">Redeem</div>
                                  <div class="mt-2 text-2xl font-semibold">${{redeem}}</div>
                              </div>
                              <div>
                                  <div class="text-primary">Tax</div>
                                  <div class="mt-2 text-2xl font-semibold">${{tax}}</div>
                              </div>
                              <div>
                                  <div class="text-primary">Discount</div>
                                  <div class="mt-2 text-2xl font-semibold">${{outlet_discount}}</div>
                              </div>
                          </div>
                      </div>
                  </div>


uuid: 35806979-6b7d-438f-94a5-4b6183688892
name: Outlet Credit Statement
entity_name: dashboard_current_statement
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["otps.id"],"company_id":1,"limit_range":10,"print_query":true,"start_index":0,"sort_columns":[["otps.id","asc"]],"primary_table":"otps","select_columns":[["sum(user_id)","outlet_limit"],["sum(id)","available_credit_limit"],["sum(user_id)","return_amount"]]}

static_page_content:
   <div class="panel overflow-hidden">
                      <div class="flex items-center justify-between">
                          <div>
                              <div class="text-lg font-bold">Outlet Credit Statement</div>
                              <div class="text-danger">Static Information</div>
                          </div>
                         
                      </div>
                      <div class="relative mt-10">
                          <div class="absolute -bottom-12 h-24 w-24 ltr:-right-12 rtl:-left-12">
                              
                              
                          </div>

                          <div class="grid grid-cols-2 gap-6 md:grid-cols-3">
                              <div>
                                  <div class="text-primary">Outlet Limit</div>
                                  <div class="mt-2 text-2xl font-semibold">${{outlet_limit}}</div>
                              </div>
                              <div>
                                  <div class="text-primary">Available Credit Limit</div>
                                  <div class="mt-2 text-2xl font-semibold">${{available_credit_limit}}</div>
                              </div>
                              <div>
                                  <div class="text-primary">Return Amount</div>
                                  <div class="mt-2 text-2xl font-semibold">${{return_amount}}</div>
                              </div>
                          </div>
                      </div>
                  </div>


uuid: 0e683361-9923-4dfc-9133-d52c0c72939b
name: Recent Transactions
entity_name: dashboard_recent_transactions
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: static
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["users.id","user_details.first_name","user_details.last_name"],"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"user_details.user_id = users.id"}],"company_id":1,"limit_range":10,"print_query":true,"start_index":0,"sort_columns":[["users.id","desc"]],"primary_table":"users","select_columns":[["users.email","email"],["users.role","role"],["users.status_id","status_id"],["user_details.first_name","first_name"],["user_details.last_name","last_name"]]}

static_page_content:
   <div class="panel">
                  <div class="mb-5 text-lg font-bold">Recent Users</div>
                  <div class="table-responsive">
                      <table>
                          <thead>
                              <tr>
                                  <th>Email</th>
                                  <th>First Name</th>
                                  <th>Last Name</th>
                                  <th>Role</th>
                                  <th class="text-center ltr:rounded-r-md rtl:rounded-l-md">STATUS</th>
                              </tr>
                          </thead>
                          <tbody>
                             {{#each data_list}}
            <tr>
              <td class="font-semibold">{{email}}</td>
              <td class="whitespace-nowrap">{{first_name}}</td>
              <td class="whitespace-nowrap">{{last_name}}</td>
              <td>{{role}}</td>
              <td class="text-center">
                  <span class="badge rounded-full {{#if status_id }} bg-success/20 text-success{{else}} bg-danger/20 text-danger{{/if}}  hover:top-0">{{#if status_id }}Active{{else}}Inactive{{/if}}</span>
              </td>
          </tr>
          {{/each}}
                          </tbody>
                      </table>
                  </div>
              </div>


uuid: e170ba46-0579-48a0-93b7-088f8c8a5c8e
name: Return Items Line
entity_name: dashboard_simple_line
entity_type: dashboard_wizard_builder_module
dashboard_wizard_type: chart
dashboard_wizard_options: [object Object]
created_at: 2025-01-09 11:00:20
query_information:
  {"group_by":["EXTRACT(MONTH FROM created_at)","TO_CHAR(created_at, 'Mon')"],"company_id":1,"search_all":[],"print_query":false,"start_index":0,"sort_columns":[["EXTRACT(MONTH FROM created_at)","asc"]],"primary_table":"roles","select_columns":[["TO_CHAR(created_at, 'Mon')","labels"],["sum(id)","income"],["count(*)","count"]]}


uuid: 0038090b-7c6b-445f-aeca-6277665b501f
name: Just a Sample Form Group
entity_name: sample_form_group
entity_type: form_builder_module
primary_table: users
created_at: 2025-01-09 11:00:20
query_information:
  {"user_id":{"company_id":1,"search_all":[{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["id","value"],["email","label"]]}}

form_information:
  {"model":{"users":{"role":"admin","email":null,"user_id":[null],"username":null,"status_id":1},"user_details":[null]},"fields":[{"key":"users","wrappers":["form-field"],"fieldGroup":[{"key":"username","type":"input","props":{"label":"Username","required":true,"placeholder":"Enter username"}},{"key":"email","type":"input","props":{"type":"email","label":"Email","required":true,"placeholder":"Enter email"}},{"key":"user_id","type":"repeat","props":{"label":"TODO LIST"},"fieldArray":{"type":"select","hooks":{"onInit":true},"props":{"label":"User","required":true,"placeholder":"Please select"}}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-2 gap-4 md:grid-cols-2"},{"key":"user_details","type":"repeat","props":{"label":"UserDetail","limit":5,"addText":"Add","removeText":"Remove"},"wrappers":["form-field"],"fieldArray":{"fieldGroup":[{"key":"user_id","type":"select","hooks":{"onInit":true},"props":{"label":"User","required":true,"placeholder":"Please select"}},{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Name"}},{"key":"code","type":"input","props":{"label":"Code","required":true,"placeholder":"Code"}},{"key":"profile_pic","type":"input","props":{"type":"hidden"},"className":"hidden"},{"key":"profile_pic_file","type":"image","props":{"label":"Profile Picture"}}]},"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"role":"$users.role","email":"$users.email","username":"$users.username","status_id":"$users.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true}],"table2":[{"code":"$user_details.code","user_id":"@table1.id","created_at":true,"created_by":true,"first_name":"$user_details.name","updated_at":true,"updated_by":true,"profile_pic":"$user_details.profile_pic"}]},"table":["users","user_details"],"action":["insert","insert"],"table_mapping":["table1","table2"]}

edit_query_information:
  {"data":{"table1":[{"email":"$users.email","username":"$users.username","status_id":"$users.status_id","updated_at":true,"updated_by":true}],"table2":[{"code":"$user_details.code","first_name":"$user_details.name","updated_at":true,"updated_by":true,"profile_pic":"$user_details.profile_pic"}]},"table":["users","user_details"],"action":["update","update"],"conditions":{"table1":[{"uuid":"$unique_id"}],"table2":[{"user_id":"@table1.id"}]},"table_mapping":["table1","table2"]}

preset_query_information:
  {"users":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["id","user_id"],["email"],["username"],["role"],["status_id"]]},"user_details":{"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"users.id = user_details.user_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["user_details.code"],["user_details.user_id"],["user_details.first_name","name"],["user_details.profile_pic"]]}}


uuid: c744d025-f1c9-4904-9e51-efcfc55d23d9
name: Update Role
entity_name: role_form
entity_type: form_builder_module
primary_table: roles
created_at: 2025-01-09 11:00:20
query_information:
  {"unique_role_name":{"company_id":1,"search_all":[{"value":"3","operator":"!=","column_name":"roles.status_id"},{"value":"this.label","operator":"=","column_name":"roles.name"},{"value":"$unique_id","operator":"!=","column_name":"roles.uuid"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["roles.name","asc"]],"primary_table":"roles","select_columns":[["id","value"],["name","label"]]}}

form_information:
  {"model":{"roles":{"name":"","status_id":1,"description":""}},"fields":[{"key":"roles","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","hooks":{"uniqueKey":"unique_role_name"},"props":{"label":"Name","required":true,"placeholder":"Enter role name"}},{"key":"description","type":"textarea","props":{"rows":2,"label":"Description","required":false,"placeholder":"Enter role description"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$roles.name","status_id":"$roles.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true,"description":"$roles.description"}]},"table":["roles"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$roles.name","status_id":"$roles.status_id","updated_at":true,"updated_by":true,"description":"$roles.description"}]},"table":["roles"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"roles":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"roles.uuid"},{"value":"3","operator":"!=","column_name":"roles.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["roles.id","asc"]],"primary_table":"roles","select_columns":[["name"],["status_id"],["description"]]}}


uuid: 3995f6bc-2808-4c4f-86a9-8a65fede429a
name: Update User
entity_name: user_form
entity_type: form_builder_module
primary_table: users
created_at: 2025-01-09 11:00:20
query_information:
  {"department_id":{"company_id":1,"search_all":[{"value":"1","operator":"=","column_name":"departments.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["departments.name","asc"]],"primary_table":"departments","select_columns":[["id","value"],["name","label"]]},"designation_id":{"company_id":1,"search_all":[{"value":"1","operator":"=","column_name":"designations.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["designations.name","asc"]],"primary_table":"designations","select_columns":[["id","value"],["name","label"]]}}

form_information:
  {"model":{"users":{"role":"admin","email":null,"role_id":null,"username":null,"status_id":1},"user_roles":{"role_id":[]},"user_details":{"dob":null,"code":null,"gender":"male","address":null,"culture":null,"last_name":null,"first_name":null,"profile_pic":null,"phone_number":null,"department_id":null,"designation_id":null}},"fields":[{"key":"users","wrappers":["form-field"],"fieldGroup":[{"key":"username","type":"input","props":{"label":"Username","required":true,"placeholder":"Enter username"}},{"key":"email","type":"input","props":{"type":"email","label":"Email","required":true,"placeholder":"Enter email"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"},{"key":"user_details","wrappers":["form-field"],"fieldGroup":[{"key":"code","type":"input","props":{"label":"Code","required":true,"placeholder":"Enter code"}},{"key":"first_name","type":"input","props":{"label":"First Name","required":true,"placeholder":"Enter first name"}},{"key":"last_name","type":"input","props":{"label":"Last Name","placeholder":"Enter last name"}},{"key":"department_id","type":"select","hooks":{"onInit":true},"props":{"label":"Department"}},{"key":"designation_id","type":"select","hooks":{"onInit":true},"props":{"label":"Designation"}},{"key":"dob","type":"input","props":{"type":"date","label":"Date of Birth","placeholder":"Enter date of birth"}},{"key":"phone_number","type":"input","props":{"label":"Phone Number","placeholder":"Enter phone number"}},{"key":"gender","type":"radio","props":{"label":"Gender","options":[{"label":"Male","value":"male"},{"label":"Female","value":"female"},{"label":"Others","value":"others"}],"required":true}},{"key":"culture","type":"input","props":{"label":"Culture","placeholder":"Enter culture"}},{"key":"address","type":"textarea","props":{"rows":3,"label":"Address","placeholder":"Enter address"}},{"key":"profile_pic","type":"input","props":{"type":"hidden"},"className":"hidden"},{"key":"profile_pic_file","type":"image","props":{"label":"Profile Picture"}}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"},{"key":"user_roles","wrappers":["form-field"],"fieldGroup":[{"key":"role_id","type":"select-from-db","templateOptions":{"label":"Role","table":"roles","multiple":true,"required":true,"labelColumn":"name","placeholder":"Please select","valueColumn":"id"}}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"role":"$users.role","email":"$users.email","username":"$users.username","status_id":"$users.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true}],"table2":[{"dob":"$user_details.dob","code":"$user_details.code","gender":"$user_details.gender","address":"$user_details.address","culture":"$user_details.culture","user_id":"@table1.id","last_name":"$user_details.last_name","created_at":true,"created_by":true,"first_name":"$user_details.first_name","updated_at":true,"updated_by":true,"profile_pic":"$user_details.profile_pic","phone_number":"$user_details.phone_number","department_id":"$user_details.department_id","designation_id":"$user_details.designation_id"}],"table3":[{"role_id":"$user_roles.role_id","user_id":"@table1.id"}],"table4":[{"user_id":"@table1.id","unique_id":"@table1.id","created_at":true,"created_by":true,"prefill_data":"$model","email_template_process_slug":"user-created"}]},"table":["users","user_details","user_roles","email_process_jobs"],"action":["insert","insert","insert","insert"],"table_mapping":["table1","table2","table3","table4"]}

edit_query_information:
  {"data":{"table1":[{"email":"$users.email","username":"$users.username","status_id":"$users.status_id","updated_at":true,"updated_by":true}],"table2":[{"dob":"$user_details.dob","code":"$user_details.code","gender":"$user_details.gender","address":"$user_details.address","culture":"$user_details.culture","last_name":"$user_details.last_name","first_name":"$user_details.first_name","updated_at":true,"updated_by":true,"profile_pic":"$user_details.profile_pic","phone_number":"$user_details.phone_number","department_id":"$user_details.department_id","designation_id":"$user_details.designation_id"}],"table4":[{"role_id":"$user_roles.role_id","user_id":"@table1.id"}]},"table":["users","user_details","user_roles","user_roles"],"action":["update","update","hard_delete","insert"],"conditions":{"table1":[{"uuid":"$unique_id"}],"table2":[{"user_id":"@table1.id"}],"table3":[{"user_id":"@table1.id"}]},"table_mapping":["table1","table2","table3","table4"]}

preset_query_information:
  {"users":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["email"],["username"],["role"],["status_id"]]},"user_roles":{"group_by":["user_roles.user_id"],"includes":[{"join_type":"INNER","table_name":"users","join_condition":"users.id = user_roles.user_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":15,"print_query":false,"start_index":0,"sort_columns":[["user_roles.user_id","desc"]],"primary_table":"user_roles","select_columns":[["json_agg(user_roles.role_id::int)","role_id"]]},"user_details":{"includes":[{"join_type":"INNER","table_name":"user_details","join_condition":"users.id = user_details.user_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"users.uuid"},{"value":"3","operator":"!=","column_name":"users.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["users.id","asc"]],"primary_table":"users","select_columns":[["user_details.code"],["user_details.first_name"],["user_details.last_name"],["user_details.designation_id"],["user_details.department_id"],["user_details.dob"],["user_details.phone_number"],["user_details.country_code"],["user_details.gender"],["user_details.user_time_zone"],["user_details.address"],["user_details.culture"],["user_details.profile_pic"]]}}


uuid: 613fefc7-432c-43f1-b70d-5cce77c576e5
name: Email Template Recipient Tag Form
entity_name: email_template_recipient_tag_form
entity_type: form_builder_module
primary_table: email_template_recipient_tags
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"email_template_recipient_tags":{"name":"","slug":"","status_id":1,"description":"","query_information":""}},"fields":[{"key":"email_template_recipient_tags","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Enter name"}},{"key":"slug","type":"input","props":{"label":"Slug","required":true,"placeholder":"Enter slug"}},{"key":"description","type":"textarea","props":{"rows":2,"label":"Description","required":false,"placeholder":"Enter description"}},{"type":"#status"},{"key":"query_information","type":"vs-code","props":{"rows":6,"label":"Query Information","language":"json","required":false,"placeholder":"Query Information"}}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$email_template_recipient_tags.name","slug":"$email_template_recipient_tags.slug","status_id":"$email_template_recipient_tags.status_id","description":"$email_template_recipient_tags.description","query_information":"$email_template_recipient_tags.query_information"}]},"table":["email_template_recipient_tags"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$email_template_recipient_tags.name","slug":"$email_template_recipient_tags.slug","status_id":"$email_template_recipient_tags.status_id","description":"$email_template_recipient_tags.description","query_information":"$email_template_recipient_tags.query_information"}]},"table":["email_template_recipient_tags"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"email_template_recipient_tags":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_recipient_tags.uuid"},{"value":"3","operator":"!=","column_name":"email_template_recipient_tags.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["email_template_recipient_tags.id","asc"]],"primary_table":"email_template_recipient_tags","select_columns":[["name"],["description"],["status_id"],["slug"],["query_information"]]}}


uuid: 643cc6f1-a7a3-4b65-a9aa-13c819548c7d
name: Email Template Tag Form
entity_name: email_template_tag_form
entity_type: form_builder_module
primary_table: email_template_tags
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"email_template_tags":{"name":"","slug":"","status_id":1,"description":""}},"fields":[{"key":"email_template_tags","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Enter name"}},{"key":"slug","type":"input","props":{"label":"Slug","required":true,"placeholder":"Enter slug"}},{"key":"description","type":"textarea","props":{"rows":2,"label":"Description","required":false,"placeholder":"Enter description"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$email_template_tags.name","slug":"$email_template_tags.slug","status_id":"$email_template_tags.status_id","description":"$email_template_tags.description"}]},"table":["email_template_tags"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$email_template_tags.name","slug":"$email_template_tags.slug","status_id":"$email_template_tags.status_id","description":"$email_template_tags.description"}]},"table":["email_template_tags"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"email_template_tags":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_tags.uuid"},{"value":"3","operator":"!=","column_name":"email_template_tags.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["email_template_tags.id","asc"]],"primary_table":"email_template_tags","select_columns":[["name"],["description"],["status_id"],["slug"]]}}


uuid: b0cd5cc5-7c0e-4194-9c3a-5e360d1118ec
name: Email Template Process Form
entity_name: email_template_process_form
entity_type: form_builder_module
primary_table: email_template_process
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"email_template_process":{"name":"","slug":"","status_id":1,"query_information":""},"email_template_process_tags_mapping":{"email_template_tag_id":[]}},"fields":[{"key":"email_template_process","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Enter name"}},{"key":"slug","type":"input","props":{"label":"Slug","required":true,"placeholder":"Enter slug"}},{"key":"query_information","type":"vs-code","props":{"rows":6,"label":"Query Information","language":"json","required":false,"placeholder":"Query Information"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"},{"key":"email_template_process_tags_mapping","wrappers":["form-field"],"fieldGroup":[{"key":"email_template_tag_id","type":"select-from-db","templateOptions":{"label":"Email Template Tags","table":"email_template_tags","multiple":true,"required":true,"labelColumn":"name","placeholder":"Please select","valueColumn":"id"}}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$email_template_process.name","slug":"$email_template_process.slug","status_id":"$email_template_process.status_id","query_information":"$email_template_process.query_information"}],"table2":[{"email_template_tag_id":"$email_template_process_tags_mapping.email_template_tag_id","email_template_process_id":"@table1.id"}]},"table":["email_template_process","email_template_process_tags_mapping"],"action":["insert","insert"],"table_mapping":["table1","table2"]}

edit_query_information:
  {"data":{"table1":[{"name":"$email_template_process.name","slug":"$email_template_process.slug","status_id":"$email_template_process.status_id","query_information":"$email_template_process.query_information"}],"table3":[{"email_template_tag_id":"$email_template_process_tags_mapping.email_template_tag_id","email_template_process_id":"@table1.id"}]},"table":["email_template_process","email_template_process_tags_mapping","email_template_process_tags_mapping"],"action":["update","hard_delete","insert"],"conditions":{"table1":[{"uuid":"$unique_id"}],"table2":[{"email_template_process_id":"@table1.id"}]},"table_mapping":["table1","table2","table3"]}

preset_query_information:
  {"email_template_process":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_process.uuid"},{"value":"3","operator":"!=","column_name":"email_template_process.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["email_template_process.id","asc"]],"primary_table":"email_template_process","select_columns":[["name"],["status_id"],["slug"],["query_information"]]},"email_template_process_tags_mapping":{"group_by":["email_template_process_tags_mapping.email_template_process_id"],"includes":[{"join_type":"INNER","table_name":"email_template_process","join_condition":"email_template_process.id = email_template_process_tags_mapping.email_template_process_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_process.uuid"},{"value":"3","operator":"!=","column_name":"email_template_process.status_id"}],"limit_range":15,"print_query":false,"start_index":0,"sort_columns":[["email_template_process_tags_mapping.email_template_process_id","desc"]],"primary_table":"email_template_process_tags_mapping","select_columns":[["json_agg(email_template_process_tags_mapping.email_template_tag_id::int)","email_template_tag_id"]]}}


uuid: 193ea8ca-7040-4ec7-985c-02ffb9dfe353
name: Email Template Form
entity_name: email_template_form
entity_type: form_builder_module
primary_table: email_templates
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"email_templates":{"name":"","slug":"","subject":"","status_id":1,"template_body":"","email_template_process_id":null}},"fields":[{"key":"email_templates","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Enter name"}},{"key":"slug","type":"input","props":{"label":"Slug","required":true,"placeholder":"Enter slug"}},{"key":"subject","type":"input","props":{"label":"Subject","required":true,"placeholder":"Enter subject"}},{"key":"email_template_process_id","type":"select-from-db","templateOptions":{"label":"Email Template Process","table":"email_template_process","required":true,"labelColumn":"name","placeholder":"Please select","valueColumn":"id"}},{"key":"template_body","type":"rich-editor","props":{"rows":10,"label":"Template","required":true,"html-editor":true,"placeholder":"Enter template body"}},{"key":"tags","type":"email-tags","props":{"label":"Tags"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$email_templates.name","slug":"$email_templates.slug","subject":"$email_templates.subject","status_id":"$email_templates.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true,"template_body":"$email_templates.template_body","email_template_process_id":"$email_templates.email_template_process_id"}]},"table":["email_templates"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$email_templates.name","slug":"$email_templates.slug","subject":"$email_templates.subject","status_id":"$email_templates.status_id","updated_at":true,"updated_by":true,"template_body":"$email_templates.template_body","email_template_process_id":"$email_templates.email_template_process_id"}]},"table":["email_templates"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"email_templates":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_templates.uuid"},{"value":"3","operator":"!=","column_name":"email_templates.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["email_templates.id","asc"]],"primary_table":"email_templates","select_columns":[["name"],["slug"],["subject"],["template_body"],["email_template_process_id"],["status_id"]]}}


uuid: 240bc8ac-eb84-4bd1-af13-0279fa203965
name: Email Template Assignment Form
entity_name: email_template_assignment_form
entity_type: form_builder_module
primary_table: email_template_assignments
created_at: 2025-01-09 11:00:20
query_information:
  {"email_to":{"company_id":1,"search_all":[{"value":"1","operator":"=","column_name":"status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["name","asc"]],"primary_table":"email_template_recipient_tags","select_columns":[["id::text","value"],["name","label"]]},"template_id":{"includes":[{"join_type":"INNER","table_name":"email_template_process","join_condition":"email_template_process.id = email_templates.email_template_process_id"}],"company_id":1,"search_all":[{"value":"1","operator":"=","column_name":"email_templates.status_id"},{"value":"$unique_id","operator":"=","column_name":"email_template_process.uuid"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["email_templates.name","asc"]],"primary_table":"email_templates","select_columns":[["email_templates.id","value"],["email_templates.name","label"]]}}

form_information:
  {"model":{"email_template_process":{"email_template_process_id":null},"email_template_assignments":[null]},"fields":[{"key":"email_template_process","wrappers":["form-field"],"fieldGroup":[{"key":"email_template_process_id","type":"select-from-db","templateOptions":{"label":"Email template process","table":"email_template_process","readonly":true,"required":true,"labelColumn":"name","placeholder":"Please select","valueColumn":"id"}}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"},{"key":"email_template_assignments","type":"repeat","props":{"limit":3,"addText":"Add","removeText":"Remove"},"wrappers":["form-field"],"fieldArray":{"fieldGroup":[{"key":"recipient_type","type":"select","props":{"label":"Recipient Type","options":[{"label":"Tag","value":"tag"},{"label":"User","value":"user_id"},{"label":"Custom Mail","value":"custom"}],"required":true,"placeholder":"Please select"}},{"key":"email_to","type":"select","hooks":{"onInit":true},"props":{"label":"Email Tag","required":true,"placeholder":"Please select tag"},"className":"hidden","expressionProperties":{"className":"(!model?.recipient_type || model?.recipient_type === 'tag') ? 'visible-class' : 'hidden'","templateOptions.required":"model?.recipient_type === 'tag'"}},{"key":"email_to","type":"async-select-from-db","props":{"label":"User Email","table":"users","required":true,"labelColumn":"email","placeholder":"Search user email","valueColumn":"email"},"expressionProperties":{"className":"model?.recipient_type !== 'user_id' ? 'hidden' : 'visible-class'","templateOptions.required":"model?.recipient_type === 'user_id'"}},{"key":"email_to","type":"input","props":{"type":"email","label":"Email","required":true,"placeholder":"Enter email address"},"expressionProperties":{"className":"model?.recipient_type === 'custom' ? 'visible-class' : 'hidden'","templateOptions.required":"model?.recipient_type === 'custom'"}},{"key":"template_id","type":"select-from-db","hooks":{"onInit":true},"props":{"label":"Email Template","required":true,"placeholder":"Select template"}}]},"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

edit_query_information:
  {"data":{"table3":[{"email_to":"$email_template_assignments.email_to","created_at":true,"created_by":true,"template_id":"$email_template_assignments.template_id","recipient_type":"$email_template_assignments.recipient_type","email_template_process_id":"@table1.id"}]},"table":["email_template_process","email_template_assignments","email_template_assignments"],"action":["select","hard_delete","insert"],"columns":{"table1":["id"]},"conditions":{"table1":[{"uuid":"$unique_id"}],"table2":[{"email_template_process_id":"@table1.id"}]},"table_mapping":["table1","table2","table3"]}

preset_query_information:
  {"email_template_process":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_process.uuid"},{"value":"3","operator":"!=","column_name":"email_template_process.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["email_template_process.id","asc"]],"primary_table":"email_template_process","select_columns":[["id","email_template_process_id"]]},"email_template_assignments":{"includes":[{"join_type":"INNER","table_name":"email_template_process","join_condition":"email_template_process.id = email_template_assignments.email_template_process_id"}],"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"email_template_process.uuid"},{"value":"3","operator":"!=","column_name":"email_template_process.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["email_template_assignments.id","asc"]],"primary_table":"email_template_assignments","select_columns":[["email_template_assignments.recipient_type"],["email_template_assignments.email_to"],["email_template_assignments.template_id"]]}}


uuid: ee4caa47-03fa-480f-a3f7-4a811507663b
name: wizard_group_form
entity_name: wizard_group_form
entity_type: form_builder_module
primary_table: wizard_group
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"wizard_group":{"name":null,"slug":null,"status_id":1,"description":null}},"fields":[{"key":"wizard_group","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Wizard group name","required":true,"placeholder":"Enter wizard group name"}},{"key":"slug","type":"input","props":{"label":"Wizard group slug","required":true,"placeholder":"Enter wizard group slug"}},{"key":"description","type":"textarea","props":{"rows":3,"label":"Description","placeholder":"Enter description"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$wizard_group.name","slug":"$wizard_group.slug","status_id":"$wizard_group.status_id","created_at":true,"description":"$wizard_group.description"}]},"table":["wizard_group"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$wizard_group.name","slug":"$wizard_group.slug","status_id":"$wizard_group.status_id","description":"$wizard_group.description"}]},"table":["wizard_group"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"wizard_group":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"wizard_group.uuid"},{"value":"3","operator":"!=","column_name":"wizard_group.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["wizard_group.id","asc"]],"primary_table":"wizard_group","select_columns":[["name"],["slug"],["description"],["status_id"]]}}


uuid: a4201b85-f443-4331-8518-2aa981de2a96
name: data_transfer_queries_form
entity_name: data_transfer_queries_form
entity_type: form_builder_module
primary_table: wizard_group
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"data_transfer_queries":{"slug":null,"job_name":null,"status_id":1,"description":null,"command_type":null,"insert_query":null,"select_query":null,"transfer_type":null,"execution_order":null,"destination_table":null,"clear_destination_table":0}},"fields":[{"key":"data_transfer_queries","wrappers":["form-field"],"fieldGroup":[{"key":"select_query","type":"textarea","props":{"rows":3,"label":"Select Query","required":true,"placeholder":"Enter Select Query"}},{"key":"insert_query","type":"textarea","props":{"rows":3,"label":"Insert Query","required":true,"placeholder":"Enter Insert Query"}},{"key":"transfer_type","type":"select","props":{"label":"Transfer Type","options":[{"label":"Push","value":"Push"},{"label":"Pull","value":"Pull"}],"required":true,"placeholder":"Please select"}},{"key":"job_name","type":"input","props":{"label":"Job Name","required":true,"placeholder":"Enter Job Name"}},{"key":"destination_table","type":"input","props":{"label":"Destination Table","required":true,"placeholder":"Enter Destination Table"}},{"key":"clear_destination_table","type":"checkbox","props":{"label":"Clear Destination Table","required":false}},{"key":"execution_order","type":"input","props":{"type":"number","label":"Execution Order","required":true,"placeholder":"Enter Execution Order"}},{"key":"command_type","type":"input","props":{"label":"Command Type","required":true,"placeholder":"Enter Command Type"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"job_name":"$data_transfer_queries.job_name","status_id":"$data_transfer_queries.status_id","command_type":"$data_transfer_queries.command_type","insert_query":"$data_transfer_queries.insert_query","select_query":"$data_transfer_queries.select_query","transfer_type":"$data_transfer_queries.transfer_type","execution_order":"$data_transfer_queries.execution_order","destination_table":"$data_transfer_queries.destination_table","clear_destination_table":"$data_transfer_queries.clear_destination_table"}]},"table":["data_transfer_queries"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"job_name":"$data_transfer_queries.job_name","status_id":"$data_transfer_queries.status_id","command_type":"$data_transfer_queries.command_type","insert_query":"$data_transfer_queries.insert_query","select_query":"$data_transfer_queries.select_query","transfer_type":"$data_transfer_queries.transfer_type","execution_order":"$data_transfer_queries.execution_order","destination_table":"$data_transfer_queries.destination_table","clear_destination_table":"$data_transfer_queries.clear_destination_table"}]},"table":["data_transfer_queries"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"data_transfer_queries":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"data_transfer_queries.uuid"},{"value":"3","operator":"!=","column_name":"data_transfer_queries.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["data_transfer_queries.id","asc"]],"primary_table":"data_transfer_queries","select_columns":[["select_query"],["insert_query"],["transfer_type"],["job_name"],["destination_table"],["clear_destination_table"],["execution_order"],["command_type"],["status_id"]]}}


uuid: afc3acf1-cf1c-4f81-bbb2-1a394f66564a
name: menu_mangement_form
entity_name: menu_mangement_form
entity_type: form_builder_module
primary_table: menu
created_at: 2025-01-09 11:00:20
query_information:
  {"menu_type_id":{"company_id":1,"search_all":[{"value":"1","operator":"=","column_name":"menu_types.status_id"}],"limit_range":1000,"print_query":false,"start_index":0,"sort_columns":[["menu_types.name","asc"]],"primary_table":"menu_types","select_columns":[["id","value"],["name","label"]]}}

form_information:
  {"model":{"menu":{"name":null,"slug":null,"status_id":1,"description":null,"menu_type_id":null}},"fields":[{"key":"menu","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Menu name","required":true,"placeholder":"Enter menu name"}},{"key":"slug","type":"input","props":{"label":"Menu slug","required":true,"placeholder":"Enter menu slug"}},{"key":"menu_type_id","type":"select","hooks":{"onInit":true},"props":{"label":"Menu type"}},{"key":"description","type":"textarea","props":{"rows":3,"label":"Description","placeholder":"Enter description"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-3"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"name":"$menu.name","slug":"$menu.slug","menu_type":"$menu.menu_type_id","status_id":"$menu.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true,"description":"$menu.description"}]},"table":["menu"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"name":"$menu.name","slug":"$menu.slug","menu_type":"$menu.menu_type_id","status_id":"$menu.status_id","updated_at":true,"updated_by":true,"description":"$menu.description"}]},"table":["menu"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"menu":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"menu.uuid"},{"value":"3","operator":"!=","column_name":"menu.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["menu.id","asc"]],"primary_table":"menu","select_columns":[["name"],["slug"],["description"],["menu_type","menu_type_id"],["status_id"]]}}


uuid: a977557f-a894-47cb-aa1a-367c18a28f36
name: document_sequences_form
entity_name: document_sequences_form
entity_type: form_builder_module
primary_table: document_sequences
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"document_sequences":{"status_id":1,"code_format":"TEST{{current_sequence}}","module_name":"","end_sequence_no":"","sequence_length":"","financial_year_id":null,"start_sequence_no":"","current_sequence_no":""}},"fields":[{"key":"document_sequences","wrappers":["form-field"],"fieldGroup":[{"key":"module_name","type":"input","props":{"label":"Module Name","required":true,"placeholder":"Enter module_name"}},{"key":"financial_year_id","type":"select-from-db","templateOptions":{"label":"Financial year","table":"financial_years","required":false,"search_all":[{"value":"3","operator":"!=","column_name":"status_id"}],"labelColumn":"code","placeholder":"Please select","valueColumn":"id"}},{"key":"current_sequence_no","type":"input","props":{"min":0,"type":"number","label":"Current Sequence No","required":true,"placeholder":"Enter Current Sequence No"}},{"key":"start_sequence_no","type":"input","props":{"min":0,"type":"number","label":"Start Sequence No","required":true,"placeholder":"Enter Start Sequence No"}},{"key":"end_sequence_no","type":"input","props":{"min":0,"type":"number","label":"End Sequence No","required":true,"placeholder":"Enter End Sequence No"}},{"key":"sequence_length","type":"input","props":{"min":6,"type":"number","label":"Sequence Length","required":true,"placeholder":"Enter Sequence Length"}},{"key":"code_format","type":"input","props":{"label":"Code Format","required":true,"placeholder":"Enter Code Format"}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"status_id":"$document_sequences.status_id","created_at":true,"created_by":true,"updated_at":true,"updated_by":true,"code_format":"$document_sequences.code_format","module_name":"$document_sequences.module_name","end_sequence_no":"$document_sequences.end_sequence_no","sequence_length":"$document_sequences.sequence_length","financial_year_id":"$document_sequences.financial_year_id","start_sequence_no":"$document_sequences.start_sequence_no","current_sequence_no":"$document_sequences.current_sequence_no"}]},"table":["document_sequences"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"status_id":"$document_sequences.status_id","updated_at":true,"updated_by":true,"code_format":"$document_sequences.code_format","module_name":"$document_sequences.module_name","end_sequence_no":"$document_sequences.end_sequence_no","sequence_length":"$document_sequences.sequence_length","financial_year_id":"$document_sequences.financial_year_id","start_sequence_no":"$document_sequences.start_sequence_no","current_sequence_no":"$document_sequences.current_sequence_no"}]},"table":["document_sequences"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"document_sequences":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"document_sequences.uuid"},{"value":"3","operator":"!=","column_name":"document_sequences.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["document_sequences.id","asc"]],"primary_table":"document_sequences","select_columns":[["module_name"],["current_sequence_no"],["end_sequence_no"],["sequence_length"],["code_format"],["financial_year_id"],["start_sequence_no"],["status_id"]]}}


uuid: e040a4ea-9a4a-4ca9-9b05-7a5cde1231bf
name: financial_years_form
entity_name: financial_years_form
entity_type: form_builder_module
primary_table: financial_years
created_at: 2025-01-09 11:00:20
form_information:
  {"model":{"financial_years":{"code":"","name":"","end_date":"","status_id":1,"is_freezed":false,"start_date":""}},"fields":[{"key":"financial_years","wrappers":["form-field"],"fieldGroup":[{"key":"name","type":"input","props":{"label":"Name","required":true,"placeholder":"Enter name"}},{"key":"code","type":"input","props":{"label":"Code","required":true,"placeholder":"Enter code"}},{"key":"start_date","type":"input","props":{"type":"datetime-local","label":"Start Date","required":true,"placeholder":"Enter start date"}},{"key":"end_date","type":"input","props":{"type":"datetime-local","label":"End Date","required":true,"placeholder":"Enter start date"}},{"key":"is_freezed","type":"checkbox","props":{"label":"Is Freezed","required":false}},{"type":"#status"}],"fieldGroupClassName":"grid grid-cols-1 gap-2 md:grid-cols-2"}],"options":{}}

add_query_information:
  {"data":{"table1":[{"code":"$financial_years.code","name":"$financial_years.name","end_date":"$financial_years.end_date","status_id":"$financial_years.status_id","created_at":true,"created_by":true,"is_freezed":"$financial_years.is_freezed","start_date":"$financial_years.start_date","updated_at":true,"updated_by":true}]},"table":["financial_years"],"action":["insert"],"table_mapping":["table1"]}

edit_query_information:
  {"data":{"table1":[{"code":"$financial_years.code","name":"$financial_years.name","end_date":"$financial_years.end_date","status_id":"$financial_years.status_id","is_freezed":"$financial_years.is_freezed","start_date":"$financial_years.start_date","updated_at":true,"updated_by":true}]},"table":["financial_years"],"action":["update"],"conditions":{"table1":[{"uuid":"$unique_id"}]},"table_mapping":["table1"]}

preset_query_information:
  {"financial_years":{"company_id":1,"search_all":[{"value":"$unique_id","operator":"=","column_name":"financial_years.uuid"},{"value":"3","operator":"!=","column_name":"financial_years.status_id"}],"limit_range":1,"print_query":false,"start_index":0,"sort_columns":[["financial_years.id","asc"]],"primary_table":"financial_years","select_columns":[["name"],["status_id"],["code"],["is_freezed"],["TO_CHAR(start_date, 'YYYY-MM-DD\"T\"HH24:MI')","start_date"],["TO_CHAR(end_date, 'YYYY-MM-DD\"T\"HH24:MI')","end_date"]]}}


uuid: a8d2cae4-9364-40c1-a14d-9d71e1a2221e
name: delete_menu
entity_name: menu_mangement_delete_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["menu"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: e4af2d6e-c26c-4006-88f1-7794449899ff
name: delete_wizard_group
entity_name: delete_wizard_group_form
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["wizard_group"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


uuid: a0564693-27a4-4e87-b772-cd303595b5ab
name: delete_device_registration
entity_name: delete_device_registration
entity_type: job_builder_module
created_at: 2025-01-09 11:00:20
query_information:
  {"data":{"table1":[{"status_id":3}]},"table":["device_registration"],"action":["update"],"conditions":{"table1":[{"id":"$unique_id"}]},"table_mapping":["table1"]}


