Skip to content

Conversation

@christopherpickering
Copy link
Member

  • Updates for grabbing python code from devops
  • Fix the processing step to show correct data
  • Fix query location so it will show the devops address
  • Update code to allow branches. Also fix typo for SMB.
  • Update web to account for branch name in string.
  • Fix the url for the call

Thanks @paysni

paysni and others added 3 commits August 17, 2023 14:20
* Remove invalid folder

* updates made for our fix. smb to get subfolder
smtp for user and pass
email for our org header
ldap bug

* Update emails to get org name from config. Also add in host to error emails

* update case on org

* Fix links in email template

* get logs id?

* use job id?

* ignore install script.

* Fix the em_smb subfolder

* fix(python): reduced and cleaned the number of fields that are passed in through the env

Some fields contained text that could not be sent through the end.

* removed file

* chore(install): added default admin user

* build(install): removed old installer code

* chore(deps) Update all non-major dependencies

* chore(pre-commit): autofix run

* chore(deps) Update dependency eslint to v8.43.0

* chore(pre-commit): autofix run

* chore(deps) Update all non-major dependencies

* chore(pre-commit): autofix run

* chore(deps) Update dependency setuptools to v68

* chore(deps) Update actions/checkout action to v3

* ci(release): updated release workflow to remove unused code

* disabled lighthouse assertions

* chore(pre-commit): autoupdate hooks

updates:
- [github.com/Riverside-Healthcare/djLint: v1.31.0 → v1.31.1](djlint/djLint@v1.31.0...v1.31.1)

* test(tests): passed tests

* chore(release): 2.10.2-alpha.2 [skip ci]

* **python:** reduced and cleaned the number of fields that are passed in through the env ([f2c8b33](atlas-bi@f2c8b33))

* fixed test with new seed user

* chore(release): 2.10.3-alpha.1 [skip ci]

* **python:** reduced and cleaned the number of fields that are passed in through the env ([f2c8b33](atlas-bi@f2c8b33))

* chore(release): 2.10.3 [skip ci]

## [2.10.3](atlas-bi/Hub@v2.10.2...v2.10.3) (2023-06-28)

### Bug Fixes

* **python:** reduced and cleaned the number of fields that are passed in through the env ([f2c8b33](atlas-bi@f2c8b33))

* delete folder

* fix(email): fixed dead link in email template

* feat(emails): imported org name from config. Updated date to current year. thanks @paysni

* passed lint

* update the email task log link

* chore(deps) Update dependency prettier to v3

* chore(pre-commit): autofix run

* add mapping for azure-devops

* chore(deps) Update dependency gevent to v23

* chore(deps) Update dependency eslint to v8.44.0

* chore(pre-commit): autofix run

* Modify code to allow connections to devops

* add azure devops to depends

* update version of azure-devops

* version issue with azure-devops

* fix misspelling

* update poetry.lock

* Fixes to em_code for grabbing the code

* chore(pre-commit): autoupdate hooks

updates:
- [github.com/psf/black: 23.3.0 → 23.7.0](psf/black@23.3.0...23.7.0)
- [github.com/macisamuele/language-formatters-pre-commit-hooks: v2.9.0 → v2.10.0](macisamuele/language-formatters-pre-commit-hooks@v2.9.0...v2.10.0)
- [github.com/Riverside-Healthcare/djLint: v1.31.1 → v1.32.1](djlint/djLint@v1.31.1...v1.32.1)

* Updates for grabbing python code from devops

* Fix the processing step to show correct data

* Fix query location so it will show the devops address

* Update code to allow branches. Also fix typo for SMB.

* Update web to account for branch name in string.

* Fix the url for the call

* feat(sftp): added option for sftp connections with key and password auth combined

* style(lint): passed lint

* chore(deps) Update dependency gunicorn to v21

* chore(release): 2.11.0-alpha.1 [skip ci]

# [2.11.0-alpha.1](atlas-bi/Hub@v2.10.3-alpha.1...v2.11.0-alpha.1) (2023-08-03)

### Bug Fixes

* **email:** fixed dead link in email template ([c60141a](atlas-bi@c60141a))

### Features

* **emails:** imported org name from config. Updated date to current year. thanks [@paysni](https://github.com/paysni) ([c4a46e6](atlas-bi@c4a46e6))
* **sftp:** added option for sftp connections with key and password auth combined ([f267813](atlas-bi@f267813))

* chore(release): 2.11.0 [skip ci]

# [2.11.0](atlas-bi/Hub@v2.10.3...v2.11.0) (2023-08-03)

### Bug Fixes

* **email:** fixed dead link in email template ([c60141a](atlas-bi@c60141a))

### Features

* **emails:** imported org name from config. Updated date to current year. thanks [@paysni](https://github.com/paysni) ([c4a46e6](atlas-bi@c4a46e6))
* **sftp:** added option for sftp connections with key and password auth combined ([f267813](atlas-bi@f267813))

* fix(python): fixed bug that was introduced in the previous relesase

* chore(release): 2.11.0-alpha.2 [skip ci]

# [2.11.0-alpha.2](atlas-bi/Hub@v2.11.0-alpha.1...v2.11.0-alpha.2) (2023-08-04)

### Bug Fixes

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* chore(release): 2.11.1-alpha.1 [skip ci]

## [2.11.1-alpha.1](atlas-bi/Hub@v2.11.0...v2.11.1-alpha.1) (2023-08-04)

### Bug Fixes

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* chore(release): 2.11.1 [skip ci]

## [2.11.1](atlas-bi/Hub@v2.11.0...v2.11.1) (2023-08-04)

### Bug Fixes

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* fix(email): fixed dead link in email template

* feat(emails): imported org name from config. Updated date to current year. thanks @paysni

* passed lint

* chore(deps) Update dependency prettier to v3

* chore(pre-commit): autofix run

* chore(deps) Update dependency gevent to v23

* feat(sftp): added option for sftp connections with key and password auth combined

* style(lint): passed lint

* fix(python): fixed bug that was introduced in the previous relesase

* chore(deps) Update dependency gunicorn to v21

* chore(deps) Update dependency eslint to v8.44.0

* chore(pre-commit): autofix run

* chore(pre-commit): autoupdate hooks

updates:
- [github.com/psf/black: 23.3.0 → 23.7.0](psf/black@23.3.0...23.7.0)
- [github.com/macisamuele/language-formatters-pre-commit-hooks: v2.9.0 → v2.10.0](macisamuele/language-formatters-pre-commit-hooks@v2.9.0...v2.10.0)
- [github.com/Riverside-Healthcare/djLint: v1.31.1 → v1.32.1](djlint/djLint@v1.31.1...v1.32.1)

* chore(release): 2.11.0-alpha.1 [skip ci]

* **email:** fixed dead link in email template ([c60141a](atlas-bi@c60141a))

* **emails:** imported org name from config. Updated date to current year. thanks [@paysni](https://github.com/paysni) ([c4a46e6](atlas-bi@c4a46e6))
* **sftp:** added option for sftp connections with key and password auth combined ([f267813](atlas-bi@f267813))

* chore(release): 2.11.0-alpha.2 [skip ci]

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* chore(release): 2.11.0 [skip ci]

* **email:** fixed dead link in email template ([c60141a](atlas-bi@c60141a))

* **emails:** imported org name from config. Updated date to current year. thanks [@paysni](https://github.com/paysni) ([c4a46e6](atlas-bi@c4a46e6))
* **sftp:** added option for sftp connections with key and password auth combined ([f267813](atlas-bi@f267813))

* chore(release): 2.11.1-alpha.1 [skip ci]

## [2.11.1-alpha.1](atlas-bi/Hub@v2.11.0...v2.11.1-alpha.1) (2023-08-04)

### Bug Fixes

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* chore(release): 2.11.1 [skip ci]

## [2.11.1](atlas-bi/Hub@v2.11.0...v2.11.1) (2023-08-04)

### Bug Fixes

* **python:** fixed bug that was introduced in the previous relesase ([8ef1d3a](atlas-bi@8ef1d3a))

* encode the query in utf-8 to try to remove BOM character.

* fixed code to remove \ufeff character that was popping up.

---------

Co-authored-by: Christopher Pickering <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: semantic-release-bot <[email protected]>
Co-authored-by: sur.la.route <[email protected]>
* Add infor connections
* Updated poetry.lock
* Add test connection for jdbc
* fix database example
@christopherpickering christopherpickering marked this pull request as draft September 13, 2023 12:10
paysni and others added 12 commits September 18, 2023 09:21
* Add infor connections

* Updated poetry.lock

* Add test connection for jdbc

* Fix sample text

* fix database example

* another fix

* Add call out dictionary objects in connection string.

* Add timeout for saving file. Running into issues.

* added step to update parameters if they changed

* Issues with connections if the user doesn't have access to parent folders. Only create a folder if it is backup.
Add Jdbc connection
Update task runner to show correct source in Logs.
* Update cron schedule to allow strings.
* Create migration file to update columns in db to allow strings
* Create own validator for cron values passed in.
* create description and add it to project page.
* updated lock files.
* update versions in package and pyproject.
* Fix validation to only run if cron==1 and also fix setting variables in validator.

* Linting and package updates

* Update versions of packages.

* update versions and pre-commit. Ran mypy on scritps folder

* Updates from mypy errors

* Fix the babel config and error_print files

* fix css and update models

* Fix the types

* Latest updates and fixes to css

* Fix the manual send emails

* fix css. Include deprecated libraries

* get the number of lines in the file and check it before sending out email
* Fix the test_projects to have a valid year
* complete update of model for abstraction
* update versions of dependencies
* grabbed new versions of codemirror5 code
* fix the gulpbuild for discard comments off. It was discarding too much.
* Fixed the takeownership checkbox
* The model was creating duplicate indexes from the PK and other tables. Removed index on ForeignKey columns.
* revert error datatype in task_log
paysni and others added 4 commits August 21, 2024 15:16
* Allow task sequence tasks to run at same time if they have the same rank.
* Updated executor functions to take a task object instead of id
* updated duplicate task action. Keep task order from duplicated task and redirect it to the edit page instead of one_task.
* add retry logic to running sql queries. This gets connection reset issues sometimes and just needs to try again.
* update dependencies first

* add more time between retries in failure. Also fix if statement before raising the error.

* add updated lock file
* Updated script to produce an error when all cron elements are blank
paysni added 2 commits March 25, 2025 07:39
* update npm packages and fix the stylesheets to get rid of deprecated warnings.

* update versions of python packages

* Fix the <i> fontawesome icons to <spans>

* add timezone to interval schedule to prevent issues during DST
paysni and others added 3 commits March 26, 2025 10:29
* Add option to have None as file type so it doesn't save it. This will also hide options about file name, delimiter and save options.
paysni added 2 commits May 29, 2025 10:24
This PR implements a major conversion from the deprecated pysmb library to the modern smbprotocol/smbclient libraries for SMB file operations. The changes significantly simplify SMB connectivity by eliminating the need for server IP addresses (connections now resolve using server names only), modernizing path handling (SMB sources can now use just filenames instead of full paths), and improving security by better hiding passwords in templates.

Key architectural changes include:

Complete rewrite of em_smb.py to use smbclient instead of pysmb
Removal of the smb_fix.py workaround file that was needed for the old library
Updates to web templates to remove server_ip fields and improve password masking
Normalization of SMB paths to use forward slashes for compatibility
Version bump from 3.1.1 to 3.5.0 reflecting the significant changes
General package updates for both npm and Poetry dependencies
SQLALCHEMY_DATABASE_URI = os.environ.get(
"DATABASE_URL",
"postgresql+psycopg2://postgres@localhost/atlas_hub_scrap_test"
"postgresql+psycopg2://postgres@localhost/atlas_hub_scrap_test",

Check failure

Code scanning / SonarCloud

A secure password should be used when connecting to a database High

Add password protection to this database. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/ssh/{ssh_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/ssh/{ssh_id}/status", timeout=60).text

Check failure

Code scanning / SonarCloud

Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks High

Change this code to not reflect unsanitized user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/ssh/{ssh_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/ssh/{ssh_id}/status", timeout=60).text

Check warning

Code scanning / SonarCloud

Server-side requests should not be vulnerable to traversing attacks Medium

Change this code to not construct the URL's path from user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/sftp/{sftp_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/sftp/{sftp_id}/status", timeout=60).text

Check failure

Code scanning / SonarCloud

Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks High

Change this code to not reflect unsanitized user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/sftp/{sftp_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/sftp/{sftp_id}/status", timeout=60).text

Check warning

Code scanning / SonarCloud

Server-side requests should not be vulnerable to traversing attacks Medium

Change this code to not construct the URL's path from user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/ftp/{ftp_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/ftp/{ftp_id}/status", timeout=60).text

Check failure

Code scanning / SonarCloud

Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks High

Change this code to not reflect unsanitized user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/ftp/{ftp_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/ftp/{ftp_id}/status", timeout=60).text

Check warning

Code scanning / SonarCloud

Server-side requests should not be vulnerable to traversing attacks Medium

Change this code to not construct the URL's path from user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/smb/{smb_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/smb/{smb_id}/status", timeout=60).text

Check failure

Code scanning / SonarCloud

Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks High

Change this code to not reflect unsanitized user-controlled data. See more on SonarQube Cloud
return requests.get(
f"{app.config['RUNNER_HOST']}/smb/{smb_id}/status", timeout=60
).text
return requests.get(f"{app.config['RUNNER_HOST']}/smb/{smb_id}/status", timeout=60).text

Check warning

Code scanning / SonarCloud

Server-side requests should not be vulnerable to traversing attacks Medium

Change this code to not construct the URL's path from user-controlled data. See more on SonarQube Cloud
flash("Failed to run task.")
else:
try:
requests.get(app.config["SCHEDULER_HOST"] + "/run/" + str(task_id), timeout=60)

Check warning

Code scanning / SonarCloud

Server-side requests should not be vulnerable to traversing attacks Medium

Change this code to not construct the URL's path from user-controlled data. See more on SonarQube Cloud
paysni and others added 17 commits August 7, 2025 08:12
* smb bug fixes for connection_cache

* update poetry.lock file
* adding reset_connection_cache to close connections.
* remove redis from em_smb.
This PR adds optional subfolder searching functionality to SMB connections and implements comprehensive code formatting improvements across the codebase. The main feature allows users to control whether SMB file operations search recursively through subdirectories or remain limited to the immediate directory via a new checkbox in the task configuration UI.

Key Changes:

SMB Subfolder Feature: Added source_smb_ignore_subfolders field to task model, replacing previous delimiter-based configuration. When checked, SMB operations use listdir() for current directory only; when unchecked, they use walk() for recursive searching.
Database Schema Updates: Migration removes unused server_ip field from connection_smb table and deprecated delimiter fields (source_smb_delimiter, source_smb_ignore_delimiter) from tasks.
Code Formatting: Added prettier-plugin-jinja-template to enable automatic formatting of .html.j2 files, resulting in consistent indentation and spacing across 60+ template files.
Bug Fixes: Fixed path handling in SMB save function by stripping leading slashes, and resolved mypy type warnings in task_runner.py
* fix(parameters): fix paramaters being tabbed out
…e-button-clean

Feature/task edit save button with sticky header
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants