Commit Graph

474 Commits

Author SHA1 Message Date
YuehuCao
cc90c862d7 feat(multi-tenant): define the send status and bounce type 2025-08-09 11:57:37 +08:00
YuehuCao
b6f8b70f69 fix(notification): some small changes 2025-08-09 11:56:00 +08:00
YuehuCao
7cb5ba4a78 refactor(version): replace legacy version with HTML update 2025-08-09 11:47:38 +08:00
YuehuCao
b5c9ab6126 feat(email): implement multi-tenant delivery function 2025-08-09 11:34:15 +08:00
YuehuCao
4187c95743 feat(email_comsumer): introduce multi-tenant delivery system 2025-08-09 11:27:17 +08:00
YuehuCao
d164b6f567 feat(email_sending): introduce multi-tenant delivery system 2025-08-09 11:25:47 +08:00
6e1cb5962f Merge pull request 'fix: make startup and shutdown event handlers async in common provider' (#24) from Nicolas_devops_reconciler into dev
Reviewed-on: freeleaps/freeleaps-service-hub#24
2025-08-08 05:02:21 +00:00
Nicolas
04acd78d78 fix: connect to existing named queue instead of creating anonymous queue
- Change AsyncMQClient to connect to existing persistent queue by name
- Fix issue where DevOps Service created temporary anonymous queues instead of consuming from the correct named queue
- This allows consuming the 42 backlogged messages in freeleaps.devops.reconciler.output queue
- Change queue properties: exclusive=False, auto_delete=False, durable=True
- Resolves the core issue where messages were split between persistent and temporary queues
2025-08-08 12:45:21 +08:00
Nicolas
4340949f57 fix: make startup and shutdown event handlers async in common provider
- Fix TypeError: object NoneType can't be used in 'await' expression
- FastAPI requires event handlers to be async functions
- This was blocking the entire application startup sequence
- Fixes the issue where message queue consumers were not starting properly
2025-08-08 12:33:14 +08:00
fc4c8e7b14 Merge pull request 'fix: use environment variable for RabbitMQ output queue name' (#23) from Nicolas_devops_reconciler into dev
Reviewed-on: freeleaps/freeleaps-service-hub#23
2025-08-08 04:06:43 +00:00
Nicolas
e4fe9394b1 fix: use environment variable for RabbitMQ output queue name
- Add RABBITMQ_OUTPUT_QUEUE_NAME environment variable support
- Fix hardcoded queue name 'reconciler.output' to use configurable queue name
- Default to 'freeleaps.devops.reconciler.output' if env var not set
- Add debug logging to show which queue name is being used
- This fixes the issue where 42 messages were stuck in the output queue due to queue name mismatch
2025-08-08 12:01:47 +08:00
52ec8f8f03 Merge pull request 'fix: update devops service to subscribe to correct reconciler heartbeat queue' (#21) from Nicolas_devops_reconciler into dev
Reviewed-on: freeleaps/freeleaps-service-hub#21
2025-08-08 03:32:51 +00:00
Nicolas
b5ca0cf0f5 fix: update devops service to subscribe to correct reconciler heartbeat queue 2025-08-07 18:29:59 +08:00
YuehuCao
2f10275493 refactor(architecture): implement 5-layer separation
for both template message and email senders, their workflow will follow:
api->application->business->service->infra
2025-08-07 12:58:19 +08:00
YuehuCao
9449f0e99b feat(config): add MongoDB connection configration 2025-08-07 12:52:31 +08:00
YuehuCao
58d085a4c6 feat(api): re-code the api interfaces for template message and email senders 2025-08-07 12:49:12 +08:00
YuehuCao
c1148a44d5 feat(models): add indexs and models
add high-frequent indexes for TemplateMessageDoc and EmailSenderDoc
add some models that will be used in sending email
2025-08-07 12:44:46 +08:00
semantic-release-bot
bbfc1ba1a2 chore(release): bump version to 1.3.0 and upload released assets [ci skip] 2025-08-07 00:54:45 +00:00
0e5d65281c Merge pull request 'feat: Merge dev to master' (#20) from dev into master
Reviewed-on: freeleaps/freeleaps-service-hub#20
2025-08-07 00:53:22 +00:00
aa89bceac0 Merge pull request 'feat: Fix check_deployment_status' (#19) from dax/fix_check_deployment_status into dev
Reviewed-on: freeleaps/freeleaps-service-hub#19
2025-08-05 05:10:18 +00:00
dongli
d680b9e015 Fix check_deployment_status 2025-08-03 21:39:39 -07:00
zhenyus
879e45eeb5 fix: correct deployment TTL calculation in DeploymentService
Updated the TTL calculation in the DeploymentService to multiply by 3600 instead of 60, ensuring accurate time-to-live settings for deployments.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 12:22:24 +08:00
zhenyus
6c60a0b6a5 fix: update deployment service to use correct product ID
Changed the parameter name from deployment_project_id to deployment_product_id in the DevOpsReconcileRequest to ensure accurate referencing of the product associated with the deployment.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 04:04:19 +08:00
zhenyus
5f3368cbdc fix: correct typo in BASE_RECONCILE_URL parameter in DeploymentService
Updated the parameter name in the _start_deployment method to match the corrected constant in site_settings.py, ensuring consistency across the codebase.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 03:51:15 +08:00
zhenyus
e41aa3d983 fix: correct typo in BASE_RECONCILE_URL in site_settings.py
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 03:41:26 +08:00
zhenyus
6ebac252b0 refactor: change DevOpsReconcileOperationType to inherit from str and Enum
Updated the DevOpsReconcileOperationType class to inherit from both str and Enum, enhancing its usability as a string enumeration in the application.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 03:28:06 +08:00
zhenyus
2dd73c0734 refactor: enhance lazy initialization and error handling in message consumer startup
Updated the message consumer initialization to occur lazily during the startup event, improving application startup performance. Added detailed logging for service initialization, registration, and error handling to enhance traceability and robustness during startup and shutdown processes.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 03:01:11 +08:00
zhenyus
95b6560ffd refactor: improve clarity of subscriber startup process in message_queue.py
Updated comment to specify that the subscriber starts in the background, enhancing code readability and understanding of the asynchronous behavior.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 02:48:55 +08:00
zhenyus
9283e52e48 feat: enhance message consumer startup and shutdown logging in message_queue.py
Added print statements to log the status of message consumers during startup and shutdown processes, improving traceability and debugging capabilities.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-03 02:38:33 +08:00
zhenyus
113bc2bc75 fix: ensure consistent formatting in requirements.txt by removing redundant line
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-01 09:12:19 +08:00
zhenyus
ebc37bbd0d refactor: streamline DevOpsReconcileRequest by removing redundant code
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-01 09:06:42 +08:00
zhenyus
14eb5abda6 refactor: remove unnecessary @dataclass decorator from DevOpsReconcileRequest
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-01 09:03:39 +08:00
zhenyus
d74967db55 feat: add RabbitMQ configuration to app settings
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-08-01 00:15:06 +08:00
6ea40142ac Merge pull request 'Add template fastapi app, this can be used for future extension' (#11) from feature/dax/devops-svc into dev
Reviewed-on: freeleaps/freeleaps-service-hub#11
2025-07-31 16:11:36 +00:00
zhenyus
d0aa2ba14b Add message queue registration in application bootstrap and update dependencies
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-07-30 10:50:22 +08:00
YuehuCao
e46c81c993 docs(tests): add guide for generating coverage reports 2025-07-28 11:09:46 +08:00
YuehuCao
b849e5f11b test: add integration test between template_message and email_sender services layer and data layer
- Achieve 90%+ coverage
2025-07-28 11:06:57 +08:00
YuehuCao
def50f709f test: add unit tests for template_message and email_sender services
- Achieve 100% coverage for both services
2025-07-28 11:03:01 +08:00
YuehuCao
9cb29cd400 fix(services): correct spelling errors 2025-07-28 10:55:41 +08:00
YuehuCao
bb493700f0 refactor(services): remove unreachable code
- Delete redundant logic after line 22's early return
2025-07-28 10:53:07 +08:00
YuehuCao
2d3adb0936 fix: re-submit due to missing some contents 2025-07-25 19:16:40 +08:00
YuehuCao
4f4587893a feat(api): add CRUD interfaces for message templates and email senders 2025-07-25 19:05:29 +08:00
YuehuCao
fec7ac6071 feat(tenant): enable customization of message templates and email senders 2025-07-25 19:04:06 +08:00
YuehuCao
2637ee864a chore(template): seed initial global message templates 2025-07-25 19:01:57 +08:00
YuehuCao
f7ad36bef8 feat(template): define MongoDB schema for message templates and email senders 2025-07-25 18:57:53 +08:00
icecheng
69d1007ddf feat(test): add unittest for role management, add coverage report for role management 2025-07-25 16:20:50 +08:00
icecheng
30e6ca72a7 feat(refactor): remove duplicate get_current_user 2025-07-25 10:26:09 +08:00
icecheng
0f7d63f4a2 feat(role_management): add test report for role management 2025-07-22 17:14:30 +08:00
223457162f Merge pull request 'feat(storing payment method): adding payment method storing feature consistent with the updated payment logic in freeleaps backend' (#16) from haolou_local into dev
Reviewed-on: freeleaps/freeleaps-service-hub#16
Reviewed-by: jingyao1991 <jingyao1991@noreply.gitea.freeleaps.mathmast.com>
2025-07-22 06:32:36 +00:00
sunhaolou
d01468f89a fix: refractor the length functions and add comments, and address the issues 2025-07-22 13:16:14 +08:00