├── .gitea ├── actions │ └── configure │ │ └── action.yaml └── workflows │ └── pipeline.yaml ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── maintenance.yml ├── PULL_REQUEST_TEMPLATE.md ├── auto_assign.yml ├── boring-cyborg.yml ├── dependabot.yml ├── scripts │ ├── comment_on_large_pr.js │ ├── constants.js │ ├── download_pr_artifact.js │ ├── enforce_acknowledgment.js │ ├── label_missing_acknowledgement_section.js │ ├── label_missing_related_issue.js │ ├── label_pr_based_on_title.js │ ├── label_related_issue.js │ └── save_pr_details.js ├── semantic.yml └── workflows │ ├── auto_assign.yml │ ├── build.yml │ ├── codeql-analysis.yml │ ├── label_pr_on_title.yml │ ├── on_label_added.yml │ ├── on_merged_pr.yml │ ├── on_opened_pr.yml │ ├── record_pr.yml │ ├── reusable_export_pr_details.yml │ ├── reusable_unit_tests.yml │ └── services_unit_tests.yml ├── .gitignore ├── .python-version ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── architecture.png └── workshop_logo.png ├── pyproject.toml ├── unicorn_approvals ├── .gitignore ├── Makefile ├── README.md ├── __init__.py ├── infrastructure │ ├── README.md │ ├── approvals-service │ │ ├── property_approval.asl.yaml │ │ ├── samconfig.toml │ │ └── template.yaml │ ├── domain.yaml │ ├── schema-registry │ │ └── PublicationEvaluationCompleted-schema.yaml │ └── subscriptions │ │ ├── unicorn-contracts-subscriptions.yaml │ │ └── unicorn-web-subscriptions.yaml ├── pyproject.toml ├── pytest.ini ├── ruff.toml ├── src │ ├── README.md │ ├── __init__.py │ ├── approvals_service │ │ ├── __init__.py │ │ ├── contract_status_changed_event_handler.py │ │ ├── exceptions.py │ │ ├── properties_approval_sync_function.py │ │ └── wait_for_contract_approval_function.py │ └── schema │ │ ├── unicorn_contracts │ │ └── contractstatuschanged │ │ │ ├── AWSEvent.py │ │ │ ├── ContractStatusChanged.py │ │ │ ├── __init__.py │ │ │ └── marshaller.py │ │ └── unicorn_web │ │ └── publicationapprovalrequested │ │ ├── AWSEvent.py │ │ ├── PublicationApprovalRequested.py │ │ ├── __init__.py │ │ └── marshaller.py ├── tests │ ├── __init__.py │ ├── events │ │ ├── ddb_stream_events │ │ │ ├── contract_status_changed_draft.json │ │ │ ├── sfn_check_exists.json │ │ │ ├── sfn_wait_approval.json │ │ │ ├── status_approved_waiting_for_approval.json │ │ │ └── status_approved_with_no_workflow.json │ │ ├── eventbridge │ │ │ ├── contract_status_changed.json │ │ │ ├── contract_status_changed_event_contract_1_approved.json │ │ │ ├── contract_status_changed_event_contract_1_draft.json │ │ │ ├── contract_status_changed_event_contract_2_approved.json │ │ │ ├── contract_status_changed_event_contract_2_draft.json │ │ │ ├── publication_approval_requested_event.json │ │ │ ├── publication_approval_requested_event_all_good.json │ │ │ ├── publication_approval_requested_event_inappropriate_description.json │ │ │ ├── publication_approval_requested_event_inappropriate_images.json │ │ │ ├── publication_approval_requested_event_non_existing_contract.json │ │ │ ├── publication_approval_requested_event_pause_workflow.json │ │ │ ├── publication_evaluation_completed_event.json │ │ │ └── put_event_property_approval_requested.json │ │ └── lambda │ │ │ ├── content_integrity_validator_function_success.json │ │ │ ├── contract_status_checker.json │ │ │ └── wait_for_contract_approval_function.json │ └── unit │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── helper.py │ │ ├── test_contract_status_changed_event_handler.py │ │ ├── test_properties_approval_sync_function.py │ │ └── test_wait_for_contract_approval_function.py └── uv.lock ├── unicorn_contracts ├── .gitignore ├── Makefile ├── README.md ├── __init__.py ├── infrastructure │ ├── README.md │ ├── contracts-service │ │ ├── api.yaml │ │ ├── samconfig.toml │ │ └── template.yaml │ ├── domain.yaml │ ├── schema-registry │ │ └── ContractStatusChanged-schema.yaml │ └── subscriptions │ │ └── .gitkeep ├── pyproject.toml ├── pytest.ini ├── ruff.toml ├── src │ └── contracts_service │ │ ├── __init__.py │ │ ├── contract_event_handler.py │ │ ├── enums.py │ │ └── exceptions.py ├── tests │ ├── __init__.py │ ├── integration │ │ ├── __init__.py │ │ ├── events │ │ │ ├── create_contract_invalid_payload_1.json │ │ │ ├── create_contract_valid_payload_1.json │ │ │ ├── update_existing_contract_invalid_payload_1.json │ │ │ ├── update_existing_contract_valid_payload_1.json │ │ │ ├── update_missing_contract_invalid_payload_1.json │ │ │ └── update_missing_contract_valid_payload_1.json │ │ ├── test_create_contract_apigw.py │ │ ├── test_update_contract_apigw.py │ │ └── transformations │ │ │ └── ddb_contract.jq │ ├── pipes │ │ ├── event_bridge_payloads │ │ │ ├── create_contract.json │ │ │ └── update_contract.json │ │ ├── pipes_payloads │ │ │ ├── create_contract.json │ │ │ └── update_contract.json │ │ └── streams_payloads │ │ │ ├── create_contract.json │ │ │ ├── delete_contract.json │ │ │ └── update_contract.json │ └── unit │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── event_generator.py │ │ ├── events │ │ ├── create_contract_invalid_1.json │ │ ├── create_contract_valid_1.json │ │ └── update_contract_valid_1.json │ │ ├── helper.py │ │ └── test_contract_event_handler.py └── uv.lock ├── unicorn_shared ├── Makefile ├── uni-prop-images.yaml └── uni-prop-namespaces.yaml └── unicorn_web ├── .gitignore ├── Makefile ├── README.md ├── data ├── load_data.sh └── property_data.json ├── infrastructure ├── README.md ├── domain.yaml ├── schema-registry │ └── PublicationApprovalRequested-schema.yaml ├── subscriptions │ └── unicorn-approvals-subscriptions.yaml └── web-service │ ├── api.yaml │ ├── samconfig.toml │ └── template.yaml ├── pyproject.toml ├── pytest.ini ├── ruff.toml ├── src ├── publication_manager_service │ ├── __init__.py │ ├── publication_evaluation_event_handler.py │ └── request_approval_function.py ├── schema │ └── unicorn_approvals │ │ └── publicationevaluationcompleted │ │ ├── AWSEvent.py │ │ ├── PublicationEvaluationCompleted.py │ │ ├── __init__.py │ │ └── marshaller.py └── search_service │ ├── __init__.py │ └── property_search_function.py ├── tests ├── __init__.py ├── events │ └── eventbridge │ │ └── put_event_publication_evaluation_completed.json └── unit │ ├── __init__.py │ ├── conftest.py │ ├── event_generator.py │ ├── events │ ├── property_approved.json │ ├── request_already_approved.json │ ├── request_approval_bad_input.json │ ├── request_approval_event.json │ ├── request_invalid_property_id.json │ ├── request_non_existent_property.json │ ├── search_by_city.json │ ├── search_by_full_address.json │ ├── search_by_full_address_declined.json │ ├── search_by_full_address_new.json │ ├── search_by_full_address_not_found.json │ └── search_by_street_event.json │ ├── helper.py │ ├── test_publication_evaluation_event_handler.py │ ├── test_request_approval_function.py │ └── test_search_function.py └── uv.lock /.gitea/actions/configure/action.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.gitea/actions/configure/action.yaml -------------------------------------------------------------------------------- /.gitea/workflows/pipeline.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.gitea/workflows/pipeline.yaml -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/ISSUE_TEMPLATE/bug_report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/maintenance.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/ISSUE_TEMPLATE/maintenance.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/auto_assign.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/auto_assign.yml -------------------------------------------------------------------------------- /.github/boring-cyborg.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/boring-cyborg.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/scripts/comment_on_large_pr.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/comment_on_large_pr.js -------------------------------------------------------------------------------- /.github/scripts/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/constants.js -------------------------------------------------------------------------------- /.github/scripts/download_pr_artifact.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/download_pr_artifact.js -------------------------------------------------------------------------------- /.github/scripts/enforce_acknowledgment.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/enforce_acknowledgment.js -------------------------------------------------------------------------------- /.github/scripts/label_missing_acknowledgement_section.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/label_missing_acknowledgement_section.js -------------------------------------------------------------------------------- /.github/scripts/label_missing_related_issue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/label_missing_related_issue.js -------------------------------------------------------------------------------- /.github/scripts/label_pr_based_on_title.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/label_pr_based_on_title.js -------------------------------------------------------------------------------- /.github/scripts/label_related_issue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/label_related_issue.js -------------------------------------------------------------------------------- /.github/scripts/save_pr_details.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/scripts/save_pr_details.js -------------------------------------------------------------------------------- /.github/semantic.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/semantic.yml -------------------------------------------------------------------------------- /.github/workflows/auto_assign.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/auto_assign.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/label_pr_on_title.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/label_pr_on_title.yml -------------------------------------------------------------------------------- /.github/workflows/on_label_added.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/on_label_added.yml -------------------------------------------------------------------------------- /.github/workflows/on_merged_pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/on_merged_pr.yml -------------------------------------------------------------------------------- /.github/workflows/on_opened_pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/on_opened_pr.yml -------------------------------------------------------------------------------- /.github/workflows/record_pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/record_pr.yml -------------------------------------------------------------------------------- /.github/workflows/reusable_export_pr_details.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/reusable_export_pr_details.yml -------------------------------------------------------------------------------- /.github/workflows/reusable_unit_tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/reusable_unit_tests.yml -------------------------------------------------------------------------------- /.github/workflows/services_unit_tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.github/workflows/services_unit_tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/.gitignore -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.12.11 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/README.md -------------------------------------------------------------------------------- /docs/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/docs/architecture.png -------------------------------------------------------------------------------- /docs/workshop_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/docs/workshop_logo.png -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/pyproject.toml -------------------------------------------------------------------------------- /unicorn_approvals/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/.gitignore -------------------------------------------------------------------------------- /unicorn_approvals/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/Makefile -------------------------------------------------------------------------------- /unicorn_approvals/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/README.md -------------------------------------------------------------------------------- /unicorn_approvals/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/README.md -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/approvals-service/property_approval.asl.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/approvals-service/property_approval.asl.yaml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/approvals-service/samconfig.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/approvals-service/samconfig.toml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/approvals-service/template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/approvals-service/template.yaml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/domain.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/domain.yaml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/schema-registry/PublicationEvaluationCompleted-schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/schema-registry/PublicationEvaluationCompleted-schema.yaml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/subscriptions/unicorn-contracts-subscriptions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/subscriptions/unicorn-contracts-subscriptions.yaml -------------------------------------------------------------------------------- /unicorn_approvals/infrastructure/subscriptions/unicorn-web-subscriptions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/infrastructure/subscriptions/unicorn-web-subscriptions.yaml -------------------------------------------------------------------------------- /unicorn_approvals/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/pyproject.toml -------------------------------------------------------------------------------- /unicorn_approvals/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | pythonpath = src 3 | -------------------------------------------------------------------------------- /unicorn_approvals/ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/ruff.toml -------------------------------------------------------------------------------- /unicorn_approvals/src/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/README.md -------------------------------------------------------------------------------- /unicorn_approvals/src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_approvals/src/approvals_service/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_approvals/src/approvals_service/contract_status_changed_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/approvals_service/contract_status_changed_event_handler.py -------------------------------------------------------------------------------- /unicorn_approvals/src/approvals_service/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/approvals_service/exceptions.py -------------------------------------------------------------------------------- /unicorn_approvals/src/approvals_service/properties_approval_sync_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/approvals_service/properties_approval_sync_function.py -------------------------------------------------------------------------------- /unicorn_approvals/src/approvals_service/wait_for_contract_approval_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/approvals_service/wait_for_contract_approval_function.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/AWSEvent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/AWSEvent.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/ContractStatusChanged.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/ContractStatusChanged.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/__init__.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/marshaller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_contracts/contractstatuschanged/marshaller.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/AWSEvent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/AWSEvent.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/PublicationApprovalRequested.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/PublicationApprovalRequested.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/__init__.py -------------------------------------------------------------------------------- /unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/marshaller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/src/schema/unicorn_web/publicationapprovalrequested/marshaller.py -------------------------------------------------------------------------------- /unicorn_approvals/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/ddb_stream_events/contract_status_changed_draft.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/ddb_stream_events/contract_status_changed_draft.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/ddb_stream_events/sfn_check_exists.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/ddb_stream_events/sfn_check_exists.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/ddb_stream_events/sfn_wait_approval.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/ddb_stream_events/sfn_wait_approval.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/ddb_stream_events/status_approved_waiting_for_approval.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/ddb_stream_events/status_approved_waiting_for_approval.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/ddb_stream_events/status_approved_with_no_workflow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/ddb_stream_events/status_approved_with_no_workflow.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/contract_status_changed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/contract_status_changed.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_1_approved.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_1_approved.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_1_draft.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_1_draft.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_2_approved.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_2_approved.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_2_draft.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/contract_status_changed_event_contract_2_draft.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_all_good.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_all_good.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_inappropriate_description.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_inappropriate_description.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_inappropriate_images.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_inappropriate_images.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_non_existing_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_non_existing_contract.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_pause_workflow.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_approval_requested_event_pause_workflow.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/publication_evaluation_completed_event.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/publication_evaluation_completed_event.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/eventbridge/put_event_property_approval_requested.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/eventbridge/put_event_property_approval_requested.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/lambda/content_integrity_validator_function_success.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/lambda/content_integrity_validator_function_success.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/lambda/contract_status_checker.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/lambda/contract_status_checker.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/events/lambda/wait_for_contract_approval_function.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/events/lambda/wait_for_contract_approval_function.json -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/unit/conftest.py -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/unit/helper.py -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/test_contract_status_changed_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/unit/test_contract_status_changed_event_handler.py -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/test_properties_approval_sync_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/unit/test_properties_approval_sync_function.py -------------------------------------------------------------------------------- /unicorn_approvals/tests/unit/test_wait_for_contract_approval_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/tests/unit/test_wait_for_contract_approval_function.py -------------------------------------------------------------------------------- /unicorn_approvals/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_approvals/uv.lock -------------------------------------------------------------------------------- /unicorn_contracts/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/.gitignore -------------------------------------------------------------------------------- /unicorn_contracts/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/Makefile -------------------------------------------------------------------------------- /unicorn_contracts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/README.md -------------------------------------------------------------------------------- /unicorn_contracts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/README.md -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/contracts-service/api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/contracts-service/api.yaml -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/contracts-service/samconfig.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/contracts-service/samconfig.toml -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/contracts-service/template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/contracts-service/template.yaml -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/domain.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/domain.yaml -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/schema-registry/ContractStatusChanged-schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/infrastructure/schema-registry/ContractStatusChanged-schema.yaml -------------------------------------------------------------------------------- /unicorn_contracts/infrastructure/subscriptions/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_contracts/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/pyproject.toml -------------------------------------------------------------------------------- /unicorn_contracts/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | pythonpath = src 3 | -------------------------------------------------------------------------------- /unicorn_contracts/ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/ruff.toml -------------------------------------------------------------------------------- /unicorn_contracts/src/contracts_service/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_contracts/src/contracts_service/contract_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/src/contracts_service/contract_event_handler.py -------------------------------------------------------------------------------- /unicorn_contracts/src/contracts_service/enums.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/src/contracts_service/enums.py -------------------------------------------------------------------------------- /unicorn_contracts/src/contracts_service/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/src/contracts_service/exceptions.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/__init__.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/create_contract_invalid_payload_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/events/create_contract_invalid_payload_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/create_contract_valid_payload_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/events/create_contract_valid_payload_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/update_existing_contract_invalid_payload_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/events/update_existing_contract_invalid_payload_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/update_existing_contract_valid_payload_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "property_id": "usa/anytown/main-street/123" 3 | } -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/update_missing_contract_invalid_payload_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/events/update_missing_contract_invalid_payload_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/events/update_missing_contract_valid_payload_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "property_id": "usa/some_other_town/street/878828" 3 | } -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/test_create_contract_apigw.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/test_create_contract_apigw.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/test_update_contract_apigw.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/test_update_contract_apigw.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/integration/transformations/ddb_contract.jq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/integration/transformations/ddb_contract.jq -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/event_bridge_payloads/create_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/event_bridge_payloads/create_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/event_bridge_payloads/update_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/event_bridge_payloads/update_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/pipes_payloads/create_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/pipes_payloads/create_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/pipes_payloads/update_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/pipes_payloads/update_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/streams_payloads/create_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/streams_payloads/create_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/streams_payloads/delete_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/streams_payloads/delete_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/pipes/streams_payloads/update_contract.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/pipes/streams_payloads/update_contract.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/conftest.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/event_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/event_generator.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/events/create_contract_invalid_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/events/create_contract_invalid_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/events/create_contract_valid_1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/events/create_contract_valid_1.json -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/events/update_contract_valid_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "property_id": "usa/anytown/main-street/123" 3 | } -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/helper.py -------------------------------------------------------------------------------- /unicorn_contracts/tests/unit/test_contract_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/tests/unit/test_contract_event_handler.py -------------------------------------------------------------------------------- /unicorn_contracts/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_contracts/uv.lock -------------------------------------------------------------------------------- /unicorn_shared/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_shared/Makefile -------------------------------------------------------------------------------- /unicorn_shared/uni-prop-images.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_shared/uni-prop-images.yaml -------------------------------------------------------------------------------- /unicorn_shared/uni-prop-namespaces.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_shared/uni-prop-namespaces.yaml -------------------------------------------------------------------------------- /unicorn_web/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/.gitignore -------------------------------------------------------------------------------- /unicorn_web/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/Makefile -------------------------------------------------------------------------------- /unicorn_web/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/README.md -------------------------------------------------------------------------------- /unicorn_web/data/load_data.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/data/load_data.sh -------------------------------------------------------------------------------- /unicorn_web/data/property_data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/data/property_data.json -------------------------------------------------------------------------------- /unicorn_web/infrastructure/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/README.md -------------------------------------------------------------------------------- /unicorn_web/infrastructure/domain.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/domain.yaml -------------------------------------------------------------------------------- /unicorn_web/infrastructure/schema-registry/PublicationApprovalRequested-schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/schema-registry/PublicationApprovalRequested-schema.yaml -------------------------------------------------------------------------------- /unicorn_web/infrastructure/subscriptions/unicorn-approvals-subscriptions.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/subscriptions/unicorn-approvals-subscriptions.yaml -------------------------------------------------------------------------------- /unicorn_web/infrastructure/web-service/api.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/web-service/api.yaml -------------------------------------------------------------------------------- /unicorn_web/infrastructure/web-service/samconfig.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/web-service/samconfig.toml -------------------------------------------------------------------------------- /unicorn_web/infrastructure/web-service/template.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/infrastructure/web-service/template.yaml -------------------------------------------------------------------------------- /unicorn_web/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/pyproject.toml -------------------------------------------------------------------------------- /unicorn_web/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | pythonpath = src 3 | -------------------------------------------------------------------------------- /unicorn_web/ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/ruff.toml -------------------------------------------------------------------------------- /unicorn_web/src/publication_manager_service/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_web/src/publication_manager_service/publication_evaluation_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/publication_manager_service/publication_evaluation_event_handler.py -------------------------------------------------------------------------------- /unicorn_web/src/publication_manager_service/request_approval_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/publication_manager_service/request_approval_function.py -------------------------------------------------------------------------------- /unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/AWSEvent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/AWSEvent.py -------------------------------------------------------------------------------- /unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/PublicationEvaluationCompleted.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/PublicationEvaluationCompleted.py -------------------------------------------------------------------------------- /unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/__init__.py -------------------------------------------------------------------------------- /unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/marshaller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/schema/unicorn_approvals/publicationevaluationcompleted/marshaller.py -------------------------------------------------------------------------------- /unicorn_web/src/search_service/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_web/src/search_service/property_search_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/src/search_service/property_search_function.py -------------------------------------------------------------------------------- /unicorn_web/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_web/tests/events/eventbridge/put_event_publication_evaluation_completed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/events/eventbridge/put_event_publication_evaluation_completed.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /unicorn_web/tests/unit/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/conftest.py -------------------------------------------------------------------------------- /unicorn_web/tests/unit/event_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/event_generator.py -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/property_approved.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/property_approved.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/request_already_approved.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/request_already_approved.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/request_approval_bad_input.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/request_approval_bad_input.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/request_approval_event.json: -------------------------------------------------------------------------------- 1 | { 2 | "property_id": "usa/anytown/main-street/123" 3 | } -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/request_invalid_property_id.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/request_invalid_property_id.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/request_non_existent_property.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/request_non_existent_property.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_city.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_city.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_full_address.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_full_address.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_full_address_declined.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_full_address_declined.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_full_address_new.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_full_address_new.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_full_address_not_found.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_full_address_not_found.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/events/search_by_street_event.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/events/search_by_street_event.json -------------------------------------------------------------------------------- /unicorn_web/tests/unit/helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/helper.py -------------------------------------------------------------------------------- /unicorn_web/tests/unit/test_publication_evaluation_event_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/test_publication_evaluation_event_handler.py -------------------------------------------------------------------------------- /unicorn_web/tests/unit/test_request_approval_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/test_request_approval_function.py -------------------------------------------------------------------------------- /unicorn_web/tests/unit/test_search_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/tests/unit/test_search_function.py -------------------------------------------------------------------------------- /unicorn_web/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/aws-serverless-developer-experience-workshop-python/HEAD/unicorn_web/uv.lock --------------------------------------------------------------------------------