sunhaolou
c200e70970
feat: add new apis for Magicleaps product use
2025-08-25 17:31:16 +08:00
7c69fd84ab
Merge branch 'dev' into tania_local
2025-08-21 03:39:19 +00:00
9120104cf5
Delete apps/notification/tests/alpha.env
...
chore(config): remove redundant environment configs
2025-08-19 16:39:37 +00:00
YuehuCao
a0b63cd0be
refactor(test): relocate template tests to integration suite
2025-08-20 00:34:33 +08:00
YuehuCao
fc2aaebf94
chore: remove redundant email test file
2025-08-20 00:27:24 +08:00
YuehuCao
09b1017027
chore(alpha.env): Move alpha.env to tests, because this file is only used to verify local-to-alpha connectivity and should not live at the project root
2025-08-19 09:57:02 +08:00
YuehuCao
2213fa59b5
feat(templates): enforce uniqueness and improve safety
...
- Raise TemplateExistsError when duplicate detected
- Migrate placeholder syntax from {} to {{}}
- Add validation for:
* Reserved keyword collisions
* Injection attempt patterns
- Update all test cases
2025-08-18 22:15:43 +08:00
YuehuCao
e2a049a658
style: remove empty lines
2025-08-15 23:24:18 +08:00
YuehuCao
b9bd4f373e
fix(email_sending): resolve the NameError
2025-08-15 15:42:11 +08:00
YuehuCao
5b727cb51c
fix(email sending): guidance for use of exchange
2025-08-15 00:23:22 +08:00
YuehuCao
59e8c06078
feat(alpha): make the alpha environment available
2025-08-14 21:36:38 +08:00
YuehuCao
b8aa0cf2b9
fix(email_sending): use the template created and stored in mongodb
2025-08-14 21:35:14 +08:00
YuehuCao
d829cbf90d
test(api): test the api interfaces cao work
2025-08-14 21:11:58 +08:00
YuehuCao
370cd61fd2
refactor(email_sender): change email_sender type from list to str
2025-08-14 21:08:43 +08:00
YuehuCao
b6d5ae97ee
test(email): test the email sending function, and this file can be deleted
2025-08-13 22:41:51 +08:00
YuehuCao
72ba74618b
chore: set up local testing
2025-08-13 22:23:49 +08:00
YuehuCao
6d7c6af8a1
fix(email): make these changes to Fixed the duplicate email sending bug
2025-08-13 22:22:12 +08:00
YuehuCao
58c77ce002
feat(templates): add duplicate creation prevention
2025-08-12 13:58:08 +08:00
6132f98283
Merge branch 'dev' into feature/icecheng/role_management
2025-08-12 03:24:03 +00:00
icecheng
e2f51d09da
feat(role): update docs
2025-08-12 11:17:52 +08:00
YuehuCao
f5206175da
refactor(routes): sync port with changed route
2025-08-11 23:20:32 +08:00
YuehuCao
91b84434d0
chore(config): change the port to keep similarity with authentication of magicleaps
...
refactor(routes): shorten API endpoint
2025-08-11 23:13:24 +08:00
YuehuCao
40a43aa538
chore(infra): remove Chinese comments
2025-08-11 18:54:26 +08:00
YuehuCao
f95552ff4d
chore: add local testing configs and MongoDB message templates
2025-08-11 18:50:43 +08:00
YuehuCao
830311fe7e
feat(routes): add API setup support for route files
2025-08-11 16:14:37 +08:00
YuehuCao
c968f3a594
chore(test): remove unusful tests
2025-08-11 15:47:08 +08:00
YuehuCao
350270fe6e
refactor(services): correct misleading error log output
2025-08-11 15:40:29 +08:00
YuehuCao
0a01b1c6c6
feat(service): Add email status update handling for bounce cases
2025-08-11 15:33:43 +08:00
YuehuCao
1d6f41c3b5
Refactor(application): Extract default email as magic values to avoid hardcoding
2025-08-11 15:30:40 +08:00
YuehuCao
11c1cc811d
Refactor(application): Extract frequently used value into class-level constant
...
email_sender_hub.py: extract email_sender_manager = EmailSenderManager()
notification_hub.py: extract notification_manager = NotificationManager()
template_message_hub.py: extract template_message_manager = TemplateMessageManager()
template_message_hub.py: add more details in render_template function
2025-08-11 15:21:17 +08:00
dongli
8caa8e6b31
Add dummy change to trigger ci/cd
2025-08-10 18:21:39 -07:00
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
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
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
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
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
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