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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
|
|
ecad36ac5c
|
Merge pull request 'feat(log): ensure parent directory exists before opening log file' (#5) from refactor/logging into dev
Reviewed-on: freeleaps/freeleaps-service-hub#5
|
2025-04-21 05:25:41 +00:00 |
|
zhenyus
|
bb90b26883
|
feat(log): ensure parent directory exists before opening log file
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-04-21 13:25:05 +08:00 |
|
|
|
fcc6d22e4d
|
Merge branch 'dev' into refactor/logging
|
2025-04-21 02:58:52 +00:00 |
|
zhenyus
|
b8f7307a86
|
refactor(log): refactoring logging for each service for loki
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-04-21 10:55:26 +08:00 |
|
Zhenyu Sun
|
9361f4c545
|
Merged PR 44: fix: invalid import path for app config
fix: invalid import path for app config
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 13:54:57 +00:00 |
|
zhenyus
|
4dfbab4d4d
|
fix: invalid import path for app config
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 21:52:07 +08:00 |
|
Zhenyu Sun
|
8e409aea20
|
Merged PR 43: build(pip): bump fastapi version to 0.114.0
build(pip): bump fastapi version to 0.114.0
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 10:17:09 +00:00 |
|
zhenyus
|
a45698c184
|
build(pip): bump fastapi version to 0.114.0
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 18:16:41 +08:00 |
|
Zhenyu Sun
|
0f6e4731e3
|
Merged PR 42: build(pip): freeze missing deps for metrics supports
build(pip): freeze missing deps for metrics supports
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 09:58:23 +00:00 |
|
zhenyus
|
13c883966e
|
build(pip): freeze missing deps for metrics supports
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 17:57:13 +08:00 |
|
Zhenyu Sun
|
9c4cfbff0b
|
Merged PR 41: Implements probes and metrics APIs
|
2025-03-17 08:17:31 +00:00 |
|
zhenyus
|
d5e42d31a4
|
feat(observability): add configuration options and implement metrics/probes APIs
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-03-17 10:46:02 +08:00 |
|
|
|
b12f8cc965
|
Fix the concatenation issue with message
|
2025-03-13 23:46:49 -07:00 |
|
Zhenyu Sun
|
13bd2396c4
|
Merged PR 28: Merge to master to trigger production ci
|
2025-03-05 18:27:17 +00:00 |
|
dongli
|
0f02181e33
|
Expose prometheus metrics for all apps
|
2025-03-02 17:08:08 -08:00 |
|
zhenyus
|
78c72179ec
|
fix(rabbitmq): correct syntax for port and virtual host parameters in AsyncMQClient
Signed-off-by: zhenyus <zhenyus@mathmast.com>
|
2025-02-24 02:20:01 +08:00 |
|