(model *service.Service)
| 127 | } |
| 128 | |
| 129 | func ToService(model *service.Service) *Service { |
| 130 | prefix := "/" |
| 131 | if model.Prefix != "" { |
| 132 | prefix = model.Prefix |
| 133 | } |
| 134 | |
| 135 | s := &Service{ |
| 136 | Id: model.Id, |
| 137 | Name: model.Name, |
| 138 | Prefix: prefix, |
| 139 | Description: model.Description, |
| 140 | Team: auto.UUID(model.Team), |
| 141 | ServiceType: model.ServiceType.String(), |
| 142 | Logo: model.Logo, |
| 143 | Catalogue: auto.UUID(model.Catalogue), |
| 144 | CreateTime: auto.TimeLabel(model.CreateTime), |
| 145 | UpdateTime: auto.TimeLabel(model.UpdateTime), |
| 146 | ApprovalType: model.ApprovalType.String(), |
| 147 | AsServer: model.AsServer, |
| 148 | AsApp: model.AsApp, |
| 149 | ServiceKind: model.Kind.String(), |
| 150 | EnableMCP: model.EnableMCP, |
| 151 | } |
| 152 | state := FromServiceState(model.State) |
| 153 | if state == ServiceStateNormal { |
| 154 | s.State = model.ServiceType.String() |
| 155 | } else { |
| 156 | s.State = state.String() |
| 157 | } |
| 158 | |
| 159 | switch model.Kind { |
| 160 | case service.AIService: |
| 161 | provider := auto.UUID(model.AdditionalConfig["provider"]) |
| 162 | s.Provider = &provider |
| 163 | s.ProviderType = "local" |
| 164 | if provider.Id != ai_provider_local.ProviderLocal { |
| 165 | s.ProviderType = "online" |
| 166 | } |
| 167 | modelId := model.AdditionalConfig["model"] |
| 168 | if modelId != "" { |
| 169 | s.Model = modelId |
| 170 | } |
| 171 | } |
| 172 | return s |
| 173 | } |
| 174 | |
| 175 | type MemberItem struct { |
| 176 | User auto.Label `json:"user" aolabel:"user"` |
nothing calls this directly
no test coverage detected