diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index c179ca2..368347f 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -33,6 +33,20 @@ jobs: - name: Build Docker image run: make docker-build + staticcheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: WillAbides/setup-go-faster@v1.14.0 + with: + go-version-file: 'go.mod' + + - uses: dominikh/staticcheck-action@v1.3.1 + with: + version: latest + install-go: false + lint: runs-on: ubuntu-latest steps: diff --git a/Dockerfile b/Dockerfile index 1f00372..b1b5828 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # -FROM golang:1.22.6-bookworm AS builder +FROM golang:1.23.0-bookworm AS builder LABEL maintainer="Aether SD-Core " diff --git a/consumer/nf_discovery.go b/consumer/nf_discovery.go index e3dd9a0..62e5b25 100644 --- a/consumer/nf_discovery.go +++ b/consumer/nf_discovery.go @@ -44,7 +44,7 @@ func SendNFIntances(nrfUri string, targetNfType, requestNfType models.NfType, }() if res != nil && res.StatusCode == http.StatusTemporaryRedirect { - err = fmt.Errorf("Temporary Redirect For Non NRF Consumer") + err = fmt.Errorf("temporary Redirect For Non NRF Consumer") } return } diff --git a/factory/factory.go b/factory/factory.go index 47df0c9..f6813fa 100644 --- a/factory/factory.go +++ b/factory/factory.go @@ -41,7 +41,7 @@ func CheckConfigVersion() error { currentVersion := UdmConfig.GetVersion() if currentVersion != UDM_EXPECTED_CONFIG_VERSION { - return fmt.Errorf("config version is [%s], but expected is [%s].", + return fmt.Errorf("config version is [%s], but expected is [%s]", currentVersion, UDM_EXPECTED_CONFIG_VERSION) } diff --git a/producer/generate_auth_data.go b/producer/generate_auth_data.go index 0d07343..2727f67 100644 --- a/producer/generate_auth_data.go +++ b/producer/generate_auth_data.go @@ -79,7 +79,7 @@ func aucSQN(opc, k, auts, rand []byte) ([]byte, []byte) { func strictHex(s string, n int) string { l := len(s) if l < n { - return fmt.Sprintf(strings.Repeat("0", n-l) + s) + return fmt.Sprintln(strings.Repeat("0", n-l) + s) } else { return s[l-n : l] } diff --git a/producer/subscriber_data_management.go b/producer/subscriber_data_management.go index 81df3bd..7eecf1c 100644 --- a/producer/subscriber_data_management.go +++ b/producer/subscriber_data_management.go @@ -426,7 +426,7 @@ func getSupiProcedure(supi string, plmnID string, dataSetNames []string, support } else { var problemDetails models.ProblemDetails problemDetails.Cause = "DATA_NOT_FOUND" - fmt.Printf(problemDetails.Cause) + fmt.Println(problemDetails.Cause) } if (res.StatusCode == http.StatusOK) && (res1.StatusCode == http.StatusOK) && diff --git a/producer/ue_context_management.go b/producer/ue_context_management.go index 002ba0f..cee5616 100644 --- a/producer/ue_context_management.go +++ b/producer/ue_context_management.go @@ -28,7 +28,7 @@ func createUDMClientToUDR(id string) (*Nudr_DataRepository.APIClient, error) { uri := getUdrURI(id) if uri == "" { logger.Handlelog.Errorf("ID[%s] does not match any UDR", id) - return nil, fmt.Errorf("No UDR URI found") + return nil, fmt.Errorf("no UDR URI found") } cfg := Nudr_DataRepository.NewConfiguration() cfg.SetBasePath(uri) diff --git a/subscriberdatamanagement/api_smf_selection_subscription_data_retrieval.go b/subscriberdatamanagement/api_smf_selection_subscription_data_retrieval.go index 38b6381..a9ee806 100644 --- a/subscriberdatamanagement/api_smf_selection_subscription_data_retrieval.go +++ b/subscriberdatamanagement/api_smf_selection_subscription_data_retrieval.go @@ -46,5 +46,4 @@ func HTTPGetSmfSelectData(c *gin.Context) { } else { c.Data(rsp.Status, "application/json", responseBody) } - return } diff --git a/subscriberdatamanagement/routers.go b/subscriberdatamanagement/routers.go index c7b5635..bd2d5be 100644 --- a/subscriberdatamanagement/routers.go +++ b/subscriberdatamanagement/routers.go @@ -173,29 +173,6 @@ var routes = Routes{ }, } -var specialRouter = Routes{ - { - "GetIdTranslationResult", - strings.ToUpper("Get"), - "/:gpsi/id-translation-result", - HTTPGetIdTranslationResult, - }, - - { - "UnsubscribeForSharedData", - strings.ToUpper("Delete"), - "/shared-data-subscriptions/:subscriptionId", - HTTPUnsubscribeForSharedData, - }, - - { - "ModifyForSharedData", - strings.ToUpper("Patch"), - "/shared-data-subscriptions/:subscriptionId", - HTTPModifyForSharedData, - }, -} - var oneLayerPathRouter = Routes{ { "GetSupi", @@ -290,161 +267,3 @@ var twoLayerPathRouter = Routes{ HTTPGetUeContextInSmsfData, }, } - -var threeLayerPathRouter = Routes{ - { - "Unsubscribe", - strings.ToUpper("Delete"), - "/:supi/sdm-subscriptions/:subscriptionId", - HTTPUnsubscribe, - }, - - { - "Info", - strings.ToUpper("Put"), - "/:supi/am-data/sor-ack", - HTTPInfo, - }, - - { - "PutUpuAck", - strings.ToUpper("Put"), - "/:supi/am-data/upu-ack", - HTTPPutUpuAck, - }, - - { - "Modify", - strings.ToUpper("Patch"), - "/:supi/sdm-subscriptions/:subscriptionId", - HTTPModify, - }, -} - -var routesBackup = Routes{ - { - "Index", - "GET", - "/", - Index, - }, - - { - "GetAmData", - strings.ToUpper("Get"), - "/:supi/am-data", - HTTPGetAmData, - }, - - { - "Info", - strings.ToUpper("Put"), - "/:supi/am-data/sor-ack", - HTTPInfo, - }, - - { - "GetSupi", - strings.ToUpper("Get"), - "/:supi", - HTTPGetSupi, - }, - - { - "GetSharedData", - strings.ToUpper("Get"), - "/shared-data", - HTTPGetSharedData, - }, - - { - "GetSmfSelectData", - strings.ToUpper("Get"), - "/:supi/smf-select-data", - HTTPGetSmfSelectData, - }, - - { - "GetSmsMngData", - strings.ToUpper("Get"), - "/:supi/sms-mng-data", - HTTPGetSmsMngData, - }, - - { - "GetSmsData", - strings.ToUpper("Get"), - "/:supi/sms-data", - HTTPGetSmsData, - }, - - { - "GetSmData", - strings.ToUpper("Get"), - "/:supi/sm-data", - HTTPGetSmData, - }, - - { - "GetNssai", - strings.ToUpper("Get"), - "/:supi/nssai", - HTTPGetNssai, - }, - - { - "Subscribe", - strings.ToUpper("Post"), - "/:supi/sdm-subscriptions", - HTTPSubscribe, - }, - - { - "SubscribeToSharedData", - strings.ToUpper("Post"), - "/shared-data-subscriptions", - HTTPSubscribeToSharedData, - }, - - { - "Unsubscribe", - strings.ToUpper("Delete"), - "/:supi/sdm-subscriptions/:subscriptionId", - HTTPUnsubscribe, - }, - - { - "UnsubscribeForSharedData", - strings.ToUpper("Delete"), - "/shared-data-subscriptions/:subscriptionId", - HTTPUnsubscribeForSharedData, - }, - - { - "GetTraceData", - strings.ToUpper("Get"), - "/:supi/trace-data", - HTTPGetTraceData, - }, - - { - "GetUeContextInSmfData", - strings.ToUpper("Get"), - "/:supi/ue-context-in-smf-data", - HTTPGetUeContextInSmfData, - }, - - { - "GetUeContextInSmsfData", - strings.ToUpper("Get"), - "/:supi/ue-context-in-smsf-data", - HTTPGetUeContextInSmsfData, - }, - - { - "GetIdTranslationResult", - strings.ToUpper("Get"), - "/:gpsi/id-translation-result", - HTTPGetIdTranslationResult, - }, -} diff --git a/udm.go b/udm.go index 666822c..c4a6a9b 100644 --- a/udm.go +++ b/udm.go @@ -30,14 +30,14 @@ func main() { app.Action = action app.Flags = UDM.GetCliCmd() if err := app.Run(os.Args); err != nil { - appLog.Errorf("UDM Run error: %v", err) + appLog.Errorf("udm run error: %v", err) } } func action(c *cli.Context) error { if err := UDM.Initialize(c); err != nil { logger.CfgLog.Errorf("%+v", err) - return fmt.Errorf("Failed to initialize !!") + return fmt.Errorf("failed to initialize") } UDM.Start() diff --git a/ueauthentication/api_generate_auth_data.go b/ueauthentication/api_generate_auth_data.go index bb97d2e..f3f2dda 100644 --- a/ueauthentication/api_generate_auth_data.go +++ b/ueauthentication/api_generate_auth_data.go @@ -39,7 +39,7 @@ func HttpGenerateAuthData(c *gin.Context) { Detail: err.Error(), Cause: "SYSTEM_FAILURE", } - logger.UeauLog.Errorf("Get Request Body error: %+v", err) + logger.UeauLog.Errorf("get request body error: %+v", err) c.JSON(http.StatusInternalServerError, problemDetail) return } @@ -75,5 +75,4 @@ func HttpGenerateAuthData(c *gin.Context) { } else { c.Data(rsp.Status, "application/json", responseBody) } - return } diff --git a/ueauthentication/routers.go b/ueauthentication/routers.go index 7c71fcb..2e63be2 100644 --- a/ueauthentication/routers.go +++ b/ueauthentication/routers.go @@ -107,12 +107,3 @@ var routes = Routes{ HTTPConfirmAuth, }, } - -var specialRoutes = Routes{ - { - "GenerateAuthData", - strings.ToUpper("Post"), - "/:supiOrSuci/security-information/generate-auth-data", - HttpGenerateAuthData, - }, -} diff --git a/uecontextmanagement/api_amf3_gpp_access_registration_info_retrieval.go b/uecontextmanagement/api_amf3_gpp_access_registration_info_retrieval.go index dccf575..f409cb2 100644 --- a/uecontextmanagement/api_amf3_gpp_access_registration_info_retrieval.go +++ b/uecontextmanagement/api_amf3_gpp_access_registration_info_retrieval.go @@ -47,5 +47,4 @@ func HTTPGetAmf3gppAccess(c *gin.Context) { } else { c.Data(rsp.Status, "application/json", responseBody) } - return } diff --git a/uecontextmanagement/api_parameter_update_in_the_amf_registration_for_non3_gpp_access.go b/uecontextmanagement/api_parameter_update_in_the_amf_registration_for_non3_gpp_access.go index 1549f11..b894b97 100644 --- a/uecontextmanagement/api_parameter_update_in_the_amf_registration_for_non3_gpp_access.go +++ b/uecontextmanagement/api_parameter_update_in_the_amf_registration_for_non3_gpp_access.go @@ -74,5 +74,4 @@ func HTTPUpdateAmfNon3gppAccess(c *gin.Context) { } else { c.Data(rsp.Status, "application/json", responseBody) } - return }