Skip to content

Commit

Permalink
Release/1.8.0 (#1638)
Browse files Browse the repository at this point in the history
* add passed tests to the slack output steps

* feat: Add endpoint to get activities/flows assigned to or submitted for target (M2-7853) (#1614)

This PR creates the new endpoint `GET /activities/applet/{applet_id}/target/{subject_id}`, which returns a list of activities and flows that are associated with the specified target subject within the applet. The endpoint is accessible by users with the following applet roles:

- Owner
- Manager
- Coordinator
- Reviewer (who is assigned the target subject)

Each activity/flow in the list will be returned based on one of the following conditions
- The activity/flow is set to auto assign
- The activity/flow is manually assigned to some respondent, with the specified target subject as its target
- Answers have been submitted at some point in the past for the activity/flow with the specified target subject as the target

The return type is `ActivityOrFlowWithAssignmentsPublic`

---------

Co-authored-by: Rodrigo Merlo <[email protected]>

* chore: Fix syntax error in e2e-tests.yaml

* feat: implement endpoints for respondent activities

* fix: some typo

* fix: check for limited account respondents

* chore: fix typing and formatting

* chore: change cq target to only check and not format

* feature: extend the list of supported item types 

* feature(conditionalLogic): Accept new activity items

* wip(conditionalLogic): DateItem support

* wip(conditionalLogic): time and timerange added

* wip(conditionalLogic) Fix validation errors for time an date

* wip(sliderRow): Add slider row validation

* wip(conditionalLogic) Remove type from tume renge

* wip(conditionalLogic): allow all activity items types

* wip(conditionalLogic): Split score and reports and conditionalLogic

* wip(conditionalLogic): Add special public model

* wip(conditionalLogic): Change index type

* wip(conditionalLogic): Change option based items validation

* feature/new_items_types

* chore/fixing code quality

* chore/fixing singleTimePayload, minMaxTimePayload, activity_item_change on code quality and fixing date test on test_custom_validation

* chore/cleaning test_custom_validation comment

* chore/ruff format condition.py and test_custom_validation

---------

Co-authored-by: ivan koryshkin <[email protected]>
Co-authored-by: iwankrshkin <[email protected]>
Co-authored-by: Felipe Imperio <[email protected]>

* feat(applet-duplication): add optional report server config flag (M2-7830) (#1623)

This PR updates the applet duplication endpoint to optionally include an optional `include_report_server` property that defaults to false (making it backwards compatible).

The following properties are duplicated:
- `reportServerIp`
- `reportPublicKey`
- `reportIncludeUserId`
- `reportIncludeCaseId`
- `reportEmailBody`

* chore: Change report server contract (M2-7481,M2-7483) (#1584)

* fix: Downgrade boto3 to version 1.26.10 (M2-8020) (#1627)

* feat: add Greek email templates (M2-7665) (#1624)

* chore: add language assertion to invitation tests

* fix: tom's fixture function return type

* chore: rename mailing service html template getter

* fix: shell account re-invite unit test

* chore: parameterize invitation unit tests

* chore: fix html email template formatting

* feat: implement fallback to English for localized email templates

* feat: add placeholder templates for greek emails

* fix: lints

* fix: some typing errors in invitation unit tests

* chore: replace placeholder with actual greek translations

* chore: rename parameter names for email template function

* chore: add tests for assignment email language

---------

Co-authored-by: Billie He <[email protected]>

* chore: Update python version to 3.11 (#1622)

* chore: Update python version to 3.11

* chore: Getting away from passlib and using bcrypt directly

* chore: Moving from python-jose  lib to pyJWT

* fix: Rebase and fix pipfile.lock

---------

Co-authored-by: Phillipe Bojorquez <[email protected]>
Co-authored-by: Kenroy Gobourne <[email protected]>
Co-authored-by: Rodrigo Merlo <[email protected]>
Co-authored-by: Phillipe Bojorquez <[email protected]>
Co-authored-by: Billie He <[email protected]>
Co-authored-by: Billie He <[email protected]>
Co-authored-by: felipeMetaLab <[email protected]>
Co-authored-by: ivan koryshkin <[email protected]>
Co-authored-by: iwankrshkin <[email protected]>
Co-authored-by: Felipe Imperio <[email protected]>
Co-authored-by: vshvechko <[email protected]>
  • Loading branch information
12 people authored Oct 22, 2024
1 parent e1e003e commit 0e8956f
Show file tree
Hide file tree
Showing 96 changed files with 4,472 additions and 2,119 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/code_quality.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v3
with:
python-version: "3.10"
python-version: "3.11"
- name: Install git-secrets in the repository
run: git secrets --install
- name: Install git-secrets aws register in the repository
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/e2e-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ jobs:
with:
script: |
core.setFailed('E2E tests failed')
- name: Pass if tests pass
if: steps.e2e-tests.outcome == 'success'
uses: actions/github-script@v7
with:
script: |
core.setCommandEcho('E2E tests passed')
publish-report:
name: Publish Report
Expand Down
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,12 @@ migrate-arbitrary:
# NOTE: cq == "Code quality"
.PHONY: cq
cq:
${RUFF_COMMAND} check . && ${RUFF_COMMAND} format . && ${MYPY_COMMAND} .
${RUFF_COMMAND} check . && ${RUFF_COMMAND} format --check . && ${MYPY_COMMAND} .

# NOTE: cqf == "Code quality fix"
.PHONY: cqf
cqf:
${RUFF_COMMAND} format . && ${RUFF_COMMAND} check --fix . && ${MYPY_COMMAND} .

# ###############
# Docker
Expand Down
76 changes: 34 additions & 42 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,41 +4,27 @@ verify_ssl = true
name = "pypi"

[packages]
redis = "==5.0.8"
alembic = "==1.13.2"
aio-pika = "==9.4.3"
aiofiles = "==24.1.0"
aiohttp = "==3.10.9"
alembic = "==1.13.3"
asyncpg = "==0.29.0"
boto3 = "==1.35.16"
azure-storage-blob = "==12.22.0"
bcrypt = "==4.2.0"
boto3 = "==1.26.10"
fastapi = "==0.110.3"
# The latest version of the fastapi is not taken because of the issue
# with fastapi-mail that requires 0.21 < starlette < 0.22
# starlette version for those deps ==0.21.0
# with fastapi-mail that requires 0.21 < starlette < 0.22

fastapi-mail = "==1.2.9"
firebase-admin = "==6.5.0"
httpx = "==0.27.2"
jinja2 = "==3.1.4"
bcrypt = "==4.2.0"
passlib = { version = "==1.7.4", extras = ["bcrypt"] }
pyOpenSSL = "==24.2.1"
pydantic = { extras = ["email"], version = "==1.10.18" }
python-jose = { version = "==3.3.0", extras = ["cryptography"] }
python-multipart = "==0.0.9"
sentry-sdk = "~=2.13"
sqlalchemy = { extras = ["asyncio"], version = "==1.4.53" }
uvicorn = { extras = ["standard"], version = "==0.30.6" }
taskiq = { extras = ["reload"], version = "==0.11.7" }
aiohttp = "==3.10.5"
firebase-admin = "==6.5.0"
aio-pika = "==9.4.3"
azure-storage-blob = "==12.22.0"
taskiq-fastapi = "==0.3.2"
taskiq-redis = "==1.0.0"
taskiq-aio-pika = "==0.4.1"
sqlalchemy-utils = "==0.41.2"
typer = "==0.12.5"
aiofiles = "==24.1.0"
nh3 = "==0.2.18"
opentelemetry-api = "==1.27.0"
opentelemetry-sdk = "==1.27.0"
opentelemetry-exporter-otlp = "==1.27.0"
opentelemetry-distro = "==0.48b0"
opentelemetry-exporter-otlp = "==1.27.0"
opentelemetry-instrumentation = "==0.48b0"
opentelemetry-instrumentation-asgi = "==0.48b0"
opentelemetry-instrumentation-asyncio = "==0.48b0"
Expand All @@ -49,51 +35,57 @@ opentelemetry-instrumentation-sqlite3 = "==0.48b0"
opentelemetry-instrumentation-tortoiseorm = "==0.48b0"
opentelemetry-instrumentation-urllib = "==0.48b0"
opentelemetry-instrumentation-wsgi = "==0.48b0"
opentelemetry-propagator-aws-xray = "==1.0.2"
opentelemetry-sdk = "==1.27.0"
opentelemetry-sdk-extension-aws = "==2.0.2"
opentelemetry-semantic-conventions = "==0.48b0"
opentelemetry-test-utils = "==0.48b0"
opentelemetry-util-http = "==0.48b0"
opentelemetry-propagator-aws-xray = "==1.0.2"
opentelemetry-sdk-extension-aws = "==2.0.2"
nh3 = "==0.2.18"
pyOpenSSL = "==24.2.1"
pydantic = { extras = ["email"], version = "==1.10.18" }
pymongo = "*"
python-multipart = "==0.0.12"
redis = "==5.1.0"
sentry-sdk = "~=2.13"
sqlalchemy = { extras = ["asyncio"], version = "==1.4.53" }
sqlalchemy-utils = "==0.41.2"
taskiq = { extras = ["reload"], version = "==0.11.7" }
taskiq-aio-pika = "==0.4.1"
taskiq-fastapi = "==0.3.2"
taskiq-redis = "==1.0.2"
typer = "==0.12.5"
uvicorn = { extras = ["standard"], version = "==0.30.6" }
pyjwt = "==2.9.0"

[dev-packages]
# Nobody knows for what its needed
ipdb = "==0.13.13"
pudb = "==2024.1.2"
# Linters and Formatters
pre-commit = "==3.8.0"
ruff = "==0.6.4"
# Tests
ruff = "==0.6.8"
allure-pytest = "==2.13.5"
pydantic-factories = "==1.17.3"
pytest = "==8.3.3"
pytest-asyncio = "~=0.19"
pytest-cov = "==5.0.0"
pytest-env = "==1.1.4"
pytest-env = "==1.1.5"
pytest-lazy-fixtures = "==1.1.1"
pytest-mock = "==3.14.0"
nest-asyncio = "==1.6.0"
gevent = "==24.2.1"
# MyPy
mypy = "==1.11.2"
types-passlib = "==1.7.7.20240819"
types-python-dateutil = "==2.9.0.20240906"
types-python-jose = "==3.3.4.20240106"
typing-extensions = "==4.12.2"
types-requests = "==2.32.0.20240712"
types-pytz = "==2024.1.0.20240417"
types-requests = "==2.32.0.20240914"
types-pytz = "==2024.2.0.20240913"
types-aiofiles = "==24.1.0.20240626"
types-cachetools = "==5.5.0.20240820"
# https://github.com/sqlalchemy/sqlalchemy/issues/7714
greenlet = "==3.1.0"
# JSONLD deps only for dev
reproschema = "*"
cachetools = "==5.3.0"
pyld = "==2.0.4"

[requires]
python_version = "3.10"
python_version = "3.11"

[scripts]
cli = "python src/cli.py"
Loading

0 comments on commit 0e8956f

Please sign in to comment.