Skip to content

Commit

Permalink
Share File access key / secret key rollback (#2863)
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
  • Loading branch information
bexsoft authored Jun 12, 2023
1 parent a5066fe commit bf9acd7
Show file tree
Hide file tree
Showing 12 changed files with 285 additions and 667 deletions.
74 changes: 6 additions & 68 deletions integration/user_api_bucket_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -461,24 +461,12 @@ func ListObjects(bucketName, prefix, withVersions string) (*http.Response, error
return response, err
}

func SharesAnObjectOnAUrl(bucketName, prefix, versionID, expires, accessKey, secretKey string) (*http.Response, error) {
// Helper function to share an object on an url

requestDataAdd := map[string]interface{}{
"prefix": prefix,
"version_id": versionID,
"expires": expires,
"access_key": accessKey,
"secret_key": secretKey,
}

requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON)

func SharesAnObjectOnAUrl(bucketName, prefix, versionID, expires string) (*http.Response, error) {
// Helper function to share an object on a url
request, err := http.NewRequest(
"POST",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/objects/share",
requestDataBody,
"GET",
"http://localhost:9090/api/v1/buckets/"+bucketName+"/objects/share?prefix="+prefix+"&version_id="+versionID+"&expires="+expires,
nil,
)
if err != nil {
log.Println(err)
Expand Down Expand Up @@ -755,39 +743,6 @@ func PutObjectsLegalholdStatus(bucketName, prefix, status, versionID string) (*h
return response, err
}

func PostServiceAccountCredentials(accessKey, secretKey, policy string) (*http.Response, error) {
/*
Helper function to create a service account
POST: {{baseUrl}}/service-account-credentials
{
"accessKey":"testsa",
"secretKey":"secretsa",
"policy":""
}
*/
requestDataAdd := map[string]interface{}{
"accessKey": accessKey,
"secretKey": secretKey,
"policy": policy,
}
requestDataJSON, _ := json.Marshal(requestDataAdd)
requestDataBody := bytes.NewReader(requestDataJSON)

request, err := http.NewRequest("POST",
"http://localhost:9090/api/v1/service-account-credentials",
requestDataBody)
if err != nil {
log.Println(err)
}
request.Header.Add("Cookie", fmt.Sprintf("token=%s", token))
request.Header.Add("Content-Type", "application/json")
client := &http.Client{
Timeout: 2 * time.Second,
}
response, err := client.Do(request)
return response, err
}

func TestPutObjectsLegalholdStatus(t *testing.T) {
// Variables
assert := assert.New(t)
Expand Down Expand Up @@ -1559,8 +1514,6 @@ func TestShareObjectOnURL(t *testing.T) {
tags := make(map[string]string)
tags["tag"] = "testputobjecttagbucketonetagone"
versionID := "null"
accessKey := "testaccesskey"
secretKey := "secretAccessKey"

// 1. Create the bucket
if !setupBucket(bucketName, false, false, nil, nil, assert, 200) {
Expand All @@ -1581,21 +1534,6 @@ func TestShareObjectOnURL(t *testing.T) {
inspectHTTPResponse(uploadResponse),
)
}
// 2. Create Access Key
accKeyRsp, createError := PostServiceAccountCredentials(accessKey, secretKey, "")

if createError != nil {
log.Println(createError)
return
}

if accKeyRsp != nil {
assert.Equal(
201,
accKeyRsp.StatusCode,
inspectHTTPResponse(accKeyRsp),
)
}

type args struct {
prefix string
Expand Down Expand Up @@ -1623,7 +1561,7 @@ func TestShareObjectOnURL(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// 3. Share the object on a URL
shareResponse, shareError := SharesAnObjectOnAUrl(bucketName, tt.args.prefix, versionID, "604800s", accessKey, secretKey)
shareResponse, shareError := SharesAnObjectOnAUrl(bucketName, tt.args.prefix, versionID, "604800s")
assert.Nil(shareError)
if shareError != nil {
log.Println(shareError)
Expand Down
142 changes: 0 additions & 142 deletions models/share_request.go

This file was deleted.

21 changes: 8 additions & 13 deletions portal-ui/src/api/consoleApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1494,14 +1494,6 @@ export interface LdapPolicyEntity {
groups?: string[];
}

export interface ShareRequest {
prefix: string;
version_id: string;
expires?: string;
access_key: string;
secret_key: string;
}

export type QueryParamsType = Record<string | number, any>;
export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;

Expand Down Expand Up @@ -2179,20 +2171,23 @@ export class Api<
* @tags Object
* @name ShareObject
* @summary Shares an Object on a url
* @request POST:/buckets/{bucket_name}/objects/share
* @request GET:/buckets/{bucket_name}/objects/share
* @secure
*/
shareObject: (
bucketName: string,
body: ShareRequest,
query: {
prefix: string;
version_id: string;
expires?: string;
},
params: RequestParams = {}
) =>
this.request<IamEntity, Error>({
path: `/buckets/${bucketName}/objects/share`,
method: "POST",
body: body,
method: "GET",
query: query,
secure: true,
type: ContentType.Json,
format: "json",
...params,
}),
Expand Down
Loading

0 comments on commit bf9acd7

Please sign in to comment.