- replace hashmaps with vectors for fetching, collecting & aggregating results as it tends to be contigous & cache efficient data structure.
- refactor & redesign algorithms for fetching & aggregating results
centered around vectors in aggregate function.
- initializes & stores the config & cache structs as a static constant.
- Pass the config & cache structs as a static reference to all the
functions handling their respective route.
* ci: add release.yml to help automate release versions
* ci: add release.yml to help automate release versions - edited file further to cover edge cases
* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable
* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v
* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0
* ci: changing structure of release.yml to be easier to understand
* ci: #minor changes made
* ci: #minor changes made to make rolling and stable both release branches
* ci: #minor changes to hopefully turn off pre-release
* ci: #minor change - trying to make pre-release suffic set to nothing
* ci: #minor change - removed older release action for a better up to date one
* ci: #minor change
* ci: #minor change to fixed the pre-release issue
* ci: #minor change to fixed the pre-release issue again
* ci: #minor change to fixed the pre-release issue again2
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* major: testing updating major
* BREAKING CHANGE: removed changelog action
* ci: reset commit and removed changelog
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* ci: reset commit and removed changelog
* ci: added step to change Cargo.toml app version to the latest tag version without the v
* ci: using echo and double quotes in the appversion variable. Testing now
* ci: testing autocommit
* Apply automatic changes
* ci: testing autocommit further
* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag
* Apply automatic changes
* ci: testing autocommit with branch protection and doing a PR to rolling
* Apply automatic changes
* ci: testing PR create and merge - removed the if that was causing it not to run
* ci: testing PR create and merge - removed the if that was causing it not to run
* Apply automatic changes
* ci: testing PR create and merge - fixed permission issues
* ci: testing PR create and merge - fixed permission issues
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue2
* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets
* ci: testing PR create and merge - testing PAT
* ci: testing PR create and merge - testing to see if merge loop stops
* ci: adding in cargo.toml version in auto git commit
* Update Cargo.toml
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: adding in steps to regenerate the Cargo.lock file
* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml
* ci: testing permissions
* ci: testing permissions with PAT
* ci: testing permissions with PAT again
---------
Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: add release.yml to help automate release versions
* ci: add release.yml to help automate release versions - edited file further to cover edge cases
* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable
* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v
* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0
* ci: changing structure of release.yml to be easier to understand
* ci: #minor changes made
* ci: #minor changes made to make rolling and stable both release branches
* ci: #minor changes to hopefully turn off pre-release
* ci: #minor change - trying to make pre-release suffic set to nothing
* ci: #minor change - removed older release action for a better up to date one
* ci: #minor change
* ci: #minor change to fixed the pre-release issue
* ci: #minor change to fixed the pre-release issue again
* ci: #minor change to fixed the pre-release issue again2
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* major: testing updating major
* BREAKING CHANGE: removed changelog action
* ci: reset commit and removed changelog
* ci: changed action for tag. I believe it was causing errors
* ci: missing }
* ci: testing some things
* ci: fixing self inflicted error where I forgot to put an ID in
* ci: fixing to make the release branch rolling
* ci: reset commit and removed changelog
* ci: added step to change Cargo.toml app version to the latest tag version without the v
* ci: using echo and double quotes in the appversion variable. Testing now
* ci: testing autocommit
* Apply automatic changes
* ci: testing autocommit further
* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag
* Apply automatic changes
* ci: testing autocommit with branch protection and doing a PR to rolling
* Apply automatic changes
* ci: testing PR create and merge - removed the if that was causing it not to run
* ci: testing PR create and merge - removed the if that was causing it not to run
* Apply automatic changes
* ci: testing PR create and merge - fixed permission issues
* ci: testing PR create and merge - fixed permission issues
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue
* Apply automatic changes
* ci: testing PR create and merge - potentially fixed PR issue2
* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets
* ci: testing PR create and merge - testing PAT
* ci: testing PR create and merge - testing to see if merge loop stops
* ci: adding in cargo.toml version in auto git commit
* Update Cargo.toml
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* ci: adding in steps to regenerate the Cargo.lock file
* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml
---------
Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
* attempt1
* rough draft
* add features and their optional dependancies
* add encryption and compression error variants
* add a sample implementation to cache trait
* Update src/cache/cacher.rs
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* adjust comment so feature flag would apply?
* adjust feature flag so it applies?
* formatting
* Update src/cache/cacher.rs
update documentation
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* [features]Add base64 and chacha20 dependencies for compress-cache-results and encrypt-cache-results
* move encryption key and cipher logic to separate sub module
* added cacha20 and cec-results feature
* added cacha20 and cec-results feature
* added compression and encryption helper functions to trait implementations
* added compression and encryption implementation for inMemoryCache
* base64 is only requried when redis-cache feature is enabled
* add error case for base64 and encryption/compression implementation to redisCache
* Refactor cacher to remove regex dependency
* fmt cache error and cacher
* Update Cargo.toml
disabling the unneeded default-features
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* fix unused import warning for mimalloc
* remove deprecated method
* add doc comments for encryption module
* fix known bugs and use cfg-if module
* make cfg-if an optional dependency
* use feature-flag instead of maco lint
* add comment to explain type complexity
* bump app version
* Update src/cache/encryption.rs
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
* fixed type complexity and add docs for types
---------
Co-authored-by: Spencer Najib <spencernajib2@gmail.com>
Co-authored-by: alamin655 <mdalamin655@outlook.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
Co-authored-by: Spencerjibz <=spencernajib2@gmail.com>
Co-authored-by: spencer <spencer@DESKTOP-SIF13AR>