瀏覽代碼

添加policy和获取二进制

wangbo 3 月之前
父節點
當前提交
d2e459278f
共有 3 個文件被更改,包括 181 次插入78 次删除
  1. 7 0
      engine/request.go
  2. 66 64
      osm_sdk.go
  3. 108 14
      request.go

+ 7 - 0
engine/request.go

@@ -0,0 +1,7 @@
+package engine
+
+type (
+	GenPolicyJsonBody struct {
+		Dir string `json:"dir"`
+	}
+)

+ 66 - 64
osm_sdk.go

@@ -4,6 +4,7 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/core/api/response"
 	"git.sxidc.com/go-tools/utils/http_client"
 	"git.sxidc.com/go-tools/utils/strutils"
+	"git.sxidc.com/service-supports/osm_sdk/engine"
 	"github.com/pkg/errors"
 	"io"
 	"net/url"
@@ -116,6 +117,34 @@ func getUrl(objName string) (string, error) {
 	return resp.Info, nil
 }
 
+func GenPolicy(dirPath string) (map[string]any, error) {
+	postResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
+		Post(baseUrl+"/operation/obj/policy", GenPolicyJsonBody{
+			ConfigKey: ConfigKey{
+				Namespace: namespace,
+				Name:      name,
+			},
+			GenPolicyJsonBody: engine.GenPolicyJsonBody{
+				Dir: dirPath,
+			},
+		})
+	if err != nil {
+		return nil, err
+	}
+
+	resp := new(response.InfoResponse[map[string]any])
+	err = postResponse.Json(resp)
+	if err != nil {
+		return nil, err
+	}
+
+	if !resp.Success {
+		return nil, errors.New(resp.Msg)
+	}
+
+	return resp.Info, nil
+}
+
 func ZoomUrl(objName, profess string) (string, error) {
 	return zoomUrl(objName, profess)
 }
@@ -210,7 +239,6 @@ func deleteMulti(objNames ...string) error {
 			Namespace: namespace,
 			Name:      name,
 		},
-		Prefix:   prefix,
 		ObjNames: objNames,
 	})
 	if err != nil {
@@ -332,7 +360,6 @@ func move(srcObjName, dstObjName string, requireInfos []string) error {
 			SrcObjName:   srcObjName,
 			DstObjName:   dstObjName,
 			RequireInfos: requireInfos,
-			Prefix:       prefix,
 		})
 	if err != nil {
 		return err
@@ -554,65 +581,40 @@ func getUrlWithMetaData(objName string) (UrlWithMetaData, error) {
 	return resp.Info, nil
 }
 
-//func GetObjectBytes(obj string) ([]byte, error) {
-//	if strutils.HasBlank(obj) {
-//		return nil, errors.New("参数错误")
-//	}
-//	buf := new(bytes.Buffer)
-//	body, err := Bkt.GetObject(prefix + obj)
-//	if err != nil {
-//		return nil, err
-//	}
-//	_, err = io.Copy(buf, body)
-//	if err != nil {
-//		return nil, err
-//	}
-//	err = body.Close()
-//	if err != nil {
-//		return nil, err
-//	}
-//
-//	return buf.Bytes(), nil
-//}
-
-//func getObjectBytes(objName, userId string) ([]byte, error) {
-//	if strutils.IsStringEmpty(objName) {
-//		return nil, nil
-//	}
-//	if strutils.IsStringEmpty(objName) {
-//		return nil, nil
-//	}
-//	buf := new(bytes.Buffer)
-//
-//	responseBytes, err := httpClient.GetWithoutHeaders(baseUrl+"/operation/obj/getContent", map[string]string{
-//		"namespace": namespace,
-//		"name":      name,
-//		"objName":   objName,
-//		"userId":    userId,
-//	})
-//	if err != nil {
-//		return nil, err
-//	}
-//
-//	resp := new(response.InfoResponse[[]byte])
-//	err = json.Unmarshal(responseBytes, resp)
-//	if err != nil {
-//		return nil, err
-//	}
-//
-//	if !resp.Success {
-//		return nil, errors.New(resp.Msg)
-//	}
-//
-//	//return resp.Info, nil
-//	_, err = io.Copy(buf, resp.Info)
-//	if err != nil {
-//		return nil, err
-//	}
-//	err = body.Close()
-//	if err != nil {
-//		return nil, err
-//	}
-//
-//	return buf.Bytes(), nil
-//}
+func GetContent(objName string) ([]byte, error) {
+	return getContent(objName)
+}
+
+func GetContentWithPrefix(objName string) ([]byte, error) {
+	return getContent(prefix + objName)
+}
+
+func getContent(objName string) ([]byte, error) {
+	var errResponse []byte
+	if strutils.IsStringEmpty(objName) {
+		return errResponse, nil
+	}
+
+	getResponse, err := httpClient.NewRequest(http_client.WithNewRequestTimeout(timeoutDuration)).
+		Get(baseUrl+"/operation/obj/getContent",
+			http_client.WithRequestQueryParams(map[string]string{
+				"namespace": namespace,
+				"name":      name,
+				"objName":   objName,
+			}))
+	if err != nil {
+		return errResponse, err
+	}
+
+	resp := new(response.InfoResponse[[]byte])
+	err = getResponse.Json(resp)
+	if err != nil {
+		return errResponse, err
+	}
+
+	if !resp.Success {
+		return errResponse, errors.New(resp.Msg)
+	}
+
+	return resp.Info, nil
+}

+ 108 - 14
request.go

@@ -1,34 +1,128 @@
 package osm_sdk
 
+import (
+	"git.sxidc.com/service-supports/osm_sdk/engine"
+	"io"
+	"mime/multipart"
+)
+
 type (
 	ConfigKey struct {
 		Namespace string `json:"namespace" form:"namespace" binding:"required"`
 		Name      string `json:"name" form:"name" binding:"required"`
 	}
 
+	GenPolicyJsonBody struct {
+		ConfigKey
+		engine.GenPolicyJsonBody
+	}
+
+	CreateJsonBody struct {
+		ConfigKey
+		ObjName          string    `form:"objName" binding:"required"`
+		UserID           string    `form:"userId"`
+		File             io.Reader `form:"file"`
+		DstObjName       string    `json:"dstObjName" form:"dstObjName"`
+		OperatorUserName string    `json:"operatorUserName" form:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	CreateImageMultiPartBody struct {
+		Image *multipart.FileHeader `form:"file"`
+		ConfigKey
+		ObjName          string `form:"objName"`
+		UserID           string `form:"userId"`
+		OperatorUserName string `form:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	CreateFileMultiPartBody struct {
+		File *multipart.FileHeader `form:"file"`
+		ConfigKey
+		ObjName          string `form:"objName"`
+		ContentType      string `form:"contentType"`
+		UserID           string `form:"userId"`
+		OperatorUserName string `form:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	CreatePublicJsonBody struct {
+		ConfigKey
+		ObjName string `form:"objName" binding:"required"`
+		UserID  string `form:"userId"`
+		io.Reader
+		DstObjName       string `json:"dstObjName" form:"dstObjName"`
+		OperatorUserName string `json:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	DeleteAllObjJsonBody struct {
+		ConfigKey
+		ObjNames         []string `json:"objNames" binding:"required"`
+		UserID           string   `json:"userId"`
+		OperatorUserName string   `json:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	UpdateJsonBody struct {
+		ConfigKey
+		SrcObjName       string   `json:"srcObjName" binding:"required"`
+		DstObjName       string   `json:"dstObjName" binding:"required"`
+		RequireInfos     []string `json:"requireInfos"`
+		UpdateUserID     string   `json:"updateUserId" assign:"toField:LastUpdateUserID"`
+		OperatorUserName string   `json:"operatorUserName" assign:"toField:OperatorUserName"`
+	}
+
+	GetObjContentQueryParams struct {
+		ConfigKey
+		ObjName string `form:"objName" binding:"required"`
+		UserID  string `form:"userId"`
+	}
+
+	GetUrlQueryParams struct {
+		ConfigKey
+		ObjName string `form:"objName" binding:"required"`
+		UserID  string `form:"userId"`
+	}
+
+	GetCheckObjExistQueryParams struct {
+		ConfigKey
+		ObjName string `form:"objName" binding:"required"`
+		UserID  string `form:"userId"`
+	}
+
 	DeleteMultiObjJsonBody struct {
 		ConfigKey
-		ObjNames []string `json:"objNames" binding:"required"`
-		Prefix   string   `json:"prefix"`
+		ObjNames         []string `json:"objNames" binding:"required"`
+		UserID           string   `json:"userId"`
+		OperatorUserName string   `json:"operatorUserName" assign:"toField:OperatorUserName"`
 	}
-	CopyJsonBody struct {
+
+	GetDirListQueryParams struct {
 		ConfigKey
-		SrcObjName   string   `json:"srcObjName" binding:"required"`
-		DstObjName   string   `json:"dstObjName" binding:"required"`
-		RequireInfos []string `json:"requireInfos"`
-		Prefix       string   `json:"prefix"`
+		DirPath string `form:"dirPath" binding:"required"`
+		UserID  string `form:"userId"`
 	}
+
 	MoveJsonBody struct {
 		ConfigKey
-		SrcObjName   string   `json:"srcObjName" binding:"required"`
-		DstObjName   string   `json:"dstObjName" binding:"required"`
-		RequireInfos []string `json:"requireInfos"`
-		Prefix       string   `json:"prefix"`
+		SrcObjName       string   `json:"srcObjName" binding:"required"`
+		DstObjName       string   `json:"dstObjName" binding:"required"`
+		RequireInfos     []string `json:"requireInfos"`
+		UpdateUserID     string   `json:"updateUserId" assign:"toField:LastUpdateUserID"`
+		OperatorUserName string   `json:"operatorUserName" assign:"toField:OperatorUserName"`
 	}
+
+	CopyJsonBody struct {
+		ConfigKey
+		SrcObjName       string   `json:"srcObjName" binding:"required"`
+		DstObjName       string   `json:"dstObjName" binding:"required"`
+		RequireInfos     []string `json:"requireInfos"`
+		CreateUserID     string   `json:"createUserId" assign:"toField:CreateUserID"`
+		OperatorUserName string   `json:"operatorUserName" assign:"toField:OperatorUserName"`
+		Prefix           string   `json:"prefix"`
+	}
+
 	ZoomUrlJsonBody struct {
 		ConfigKey
-		ObjName string `json:"srcObjName" binding:"required"`
-		Process string `json:"process" binding:"required"`
-		Prefix  string `json:"prefix"`
+		ObjName          string `json:"srcObjName" binding:"required"`
+		Process          string `json:"process" binding:"required"`
+		CreateUserID     string `json:"createUserId" assign:"toField:CreateUserID"`
+		OperatorUserName string `json:"operatorUserName" assign:"toField:OperatorUserName"`
 	}
 )