Skip to content

Commit d75eaa1

Browse files
committed
add api to update repo name in data file
1 parent 2b0458e commit d75eaa1

File tree

6 files changed

+152
-7
lines changed

6 files changed

+152
-7
lines changed

api/update_repo_name.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package api
2+
3+
import (
4+
"fmt"
5+
"github.com/neel1996/gitconvex-server/global"
6+
"github.com/neel1996/gitconvex-server/utils"
7+
)
8+
9+
// UpdateRepoName updates the repository name in the data store JSON file
10+
// with the new file name
11+
func UpdateRepoName(repoId string, repoName string) (string, error) {
12+
logger.Log(fmt.Sprintf("Initating Repo Name update for %s - to new name %s", repoId, repoName), global.StatusInfo)
13+
repoDataArray := utils.DataStoreFileReader()
14+
for idx, repoData := range repoDataArray {
15+
if repoData.RepoId == repoId {
16+
logger.Log("Matching repo found in data file", global.StatusInfo)
17+
repoData.RepoName = repoName
18+
repoDataArray[idx] = repoData
19+
break
20+
}
21+
}
22+
23+
logger.Log("Writing updated repo data to the JSON file", global.StatusInfo)
24+
err := utils.DataFileWriter(repoDataArray)
25+
26+
if err != nil {
27+
logger.Log("Repo data update failed --> "+err.Error(), global.StatusError)
28+
return "Unable to update repo name", err
29+
} else {
30+
logger.Log("Repo data updated successfully", global.StatusInfo)
31+
return "Repo name updated successfully", nil
32+
}
33+
}

graph/generated/generated.go

Lines changed: 86 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

graph/schema.graphqls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,5 @@ type Mutation {
134134
settingsEditPort(newPort: String!): String!
135135
updateRepoDataFile(newDbFile: String!): String!
136136
deleteRepo(repoId: String!): deleteStatus!
137+
updateRepoName(repoId: String!, repoName: String!): String!
137138
}

graph/schema.resolvers.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package graph
55

66
import (
77
"context"
8-
98
"github.com/neel1996/gitconvex-server/api"
109
"github.com/neel1996/gitconvex-server/git"
1110
"github.com/neel1996/gitconvex-server/global"
@@ -217,6 +216,11 @@ func (r *mutationResolver) DeleteRepo(ctx context.Context, repoID string) (*mode
217216
return api.DeleteRepo(repoID), nil
218217
}
219218

219+
func (r *mutationResolver) UpdateRepoName(ctx context.Context, repoID string, repoName string) (string, error) {
220+
logger.Log("Initiating repo name update request", global.StatusInfo)
221+
return api.UpdateRepoName(repoID, repoName)
222+
}
223+
220224
func (r *queryResolver) HealthCheck(ctx context.Context) (*model.HealthCheckParams, error) {
221225
logger.Log("Initiating health check request", global.StatusInfo)
222226
return api.HealthCheckApi(), nil
@@ -298,11 +302,11 @@ func (r *queryResolver) SearchCommitLogs(ctx context.Context, repoID string, sea
298302
logger.Log("Repo is invalid or HEAD is nil", global.StatusError)
299303
return []*model.GitCommits{
300304
{
301-
Hash: nil,
302-
Author: nil,
303-
CommitTime: nil,
304-
CommitMessage: nil,
305-
CommitFilesCount: nil,
305+
Hash: nil,
306+
Author: nil,
307+
CommitTime: nil,
308+
CommitMessage: nil,
309+
CommitFilesCount: nil,
306310
},
307311
}, nil
308312
}

utils/db_file_reader.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ type RepoData struct {
1414
}
1515

1616
// DataStoreFileReader reads the database json file tracking the stored repos and returns the data as a struct
17-
1817
func DataStoreFileReader() []RepoData {
1918
logger := global.Logger{}
2019

utils/db_file_writer.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package utils
2+
3+
import (
4+
"encoding/json"
5+
"io/ioutil"
6+
"os"
7+
)
8+
9+
//DataFileWriter writes a new or updated JSON data to the JSON data file
10+
func DataFileWriter(repoDataArray []RepoData) error {
11+
envConfig := EnvConfigFileReader()
12+
dbFile := envConfig.DataBaseFile
13+
repoDataJSON, _ := json.Marshal(repoDataArray)
14+
osRead, _ := os.Open(dbFile)
15+
_, readErr := ioutil.ReadAll(osRead)
16+
17+
if readErr == nil {
18+
return ioutil.WriteFile(dbFile, repoDataJSON, 0755)
19+
} else {
20+
return readErr
21+
}
22+
}

0 commit comments

Comments
 (0)