27 lines
1006 B
Go
27 lines
1006 B
Go
package upstreamimpl
|
|
|
|
import (
|
|
"context"
|
|
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model"
|
|
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/service"
|
|
)
|
|
|
|
const (
|
|
templateModelDirect = "direct"
|
|
templateModelSharedToken = "shared_token"
|
|
)
|
|
|
|
// Model registrations are deliberately separate from concrete temp_key
|
|
// registrations. This lets multiple source-specific templates share one
|
|
// implementation while keeping existing exact-key behavior unchanged.
|
|
func init() {
|
|
api := service.UpstreamAPI()
|
|
// direct is a classification value, not a generic implementation. Direct
|
|
// protocols must register their concrete temp_key (for example sim_yd_v5).
|
|
// shared_token is the only model-backed implementation because multiple
|
|
// source-specific templates share the OneLink business API.
|
|
api.RegisterModel(templateModelSharedToken, func(ctx context.Context, cfg *model.SimChannelConfigItemCache) model.SimCardChannelI {
|
|
return NewSimOneLinkShared().NewTemp(ctx, cfg)
|
|
})
|
|
}
|