feat: add forum and token store service skeletons

This commit is contained in:
Losita
2026-05-04 18:33:09 +08:00
parent 9742dc8b1c
commit 786c8925a0
25 changed files with 5344 additions and 203 deletions

View File

@@ -0,0 +1,32 @@
package main
import (
"log"
"github.com/LoveLosita/smartflow/backend/bootstrap"
forumdao "github.com/LoveLosita/smartflow/backend/services/taskclassforum/dao"
forumrpc "github.com/LoveLosita/smartflow/backend/services/taskclassforum/rpc"
forumsv "github.com/LoveLosita/smartflow/backend/services/taskclassforum/sv"
"github.com/spf13/viper"
)
func main() {
if err := bootstrap.LoadConfig(); err != nil {
log.Fatalf("failed to load config: %v", err)
}
db, err := forumdao.OpenDBFromConfig()
if err != nil {
log.Fatalf("failed to connect taskclassforum database: %v", err)
}
// 1. 当前阶段只启动计划广场自身 RPC 壳。
// 2. TaskClass legacy adapter 会在第三步业务主链路接入,避免现在抢改 task 模块。
// 3. 未实现的业务方法会明确返回 Unimplemented而不是伪装成可用能力。
svc := forumsv.New(forumsv.Options{DB: db})
forumrpc.Start(forumrpc.ServerOptions{
ListenOn: viper.GetString("taskclassforum.rpc.listenOn"),
Timeout: viper.GetDuration("taskclassforum.rpc.timeout"),
Service: svc,
})
}

View File

@@ -0,0 +1,32 @@
package main
import (
"log"
"github.com/LoveLosita/smartflow/backend/bootstrap"
tokenstoredao "github.com/LoveLosita/smartflow/backend/services/tokenstore/dao"
tokenstorerpc "github.com/LoveLosita/smartflow/backend/services/tokenstore/rpc"
tokenstoresv "github.com/LoveLosita/smartflow/backend/services/tokenstore/sv"
"github.com/spf13/viper"
)
func main() {
if err := bootstrap.LoadConfig(); err != nil {
log.Fatalf("failed to load config: %v", err)
}
db, err := tokenstoredao.OpenDBFromConfig()
if err != nil {
log.Fatalf("failed to connect tokenstore database: %v", err)
}
// 1. 当前阶段只启动 token-store 自身 RPC 壳和本服务私有表迁移。
// 2. user/auth 授额出口后续通过 GrantOutlet adapter 切入,避免现在制造冲突。
// 3. 未实现的业务方法会明确返回 Unimplemented而不是伪装成可用能力。
svc := tokenstoresv.New(tokenstoresv.Options{DB: db})
tokenstorerpc.Start(tokenstorerpc.ServerOptions{
ListenOn: viper.GetString("tokenstore.rpc.listenOn"),
Timeout: viper.GetDuration("tokenstore.rpc.timeout"),
Service: svc,
})
}