Skip to content

Commit 159ffd8

Browse files
committed
format code using goimports and fix lint issues via golangci-lint
1 parent 789b6fc commit 159ffd8

File tree

7 files changed

+237
-137
lines changed

7 files changed

+237
-137
lines changed

pkg/gofr/datasource/file/gcs/file.go

Lines changed: 63 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ import (
88
"cloud.google.com/go/storage"
99
)
1010

11+
// GCSFile represents a file in an GCS bucket.
12+
//
13+
//nolint:revive // gcs.GCSFile is repetitive. A better name could have been chosen, but it's too late as it's already exported.
1114
type GCSFile struct {
1215
conn gcsClient
1316
writer *storage.Writer
1417
name string
15-
offset int64
1618
logger Logger
1719
metrics Metrics
1820
size int64
@@ -22,95 +24,127 @@ type GCSFile struct {
2224
isDir bool
2325
}
2426

27+
var (
28+
ErrNilGCSFileBody = errors.New("GCS file body is nil")
29+
ErrSeekNotSupported = errors.New("seek not supported on GCSFile")
30+
ErrReadAtNotSupported = errors.New("readAt not supported on GCSFile")
31+
ErrWriteAtNotSupported = errors.New("writeAt not supported on GCSFile (read-only)")
32+
)
33+
34+
const (
35+
msgWriterClosed = "Writer closed successfully"
36+
msgReaderClosed = "Reader closed successfully"
37+
)
38+
2539
// ====== File interface methods ======
2640

27-
func (g *GCSFile) Read(p []byte) (int, error) {
28-
if g.body == nil {
29-
return 0, errors.New("GCS file body is nil")
41+
func (f *GCSFile) Read(p []byte) (int, error) {
42+
if f.body == nil {
43+
return 0, ErrNilGCSFileBody
3044
}
31-
return g.body.Read(p)
45+
46+
return f.body.Read(p)
3247
}
33-
func (g *GCSFile) Write(p []byte) (int, error) {
34-
bucketName := getBucketName(g.name)
48+
func (f *GCSFile) Write(p []byte) (int, error) {
49+
bucketName := getBucketName(f.name)
3550

3651
var msg string
3752

3853
st := statusErr
3954

40-
defer g.sendOperationStats(&FileLog{
55+
defer f.sendOperationStats(&FileLog{
4156
Operation: "WRITE",
4257
Location: getLocation(bucketName),
4358
Status: &st,
4459
Message: &msg,
4560
}, time.Now())
4661

47-
n, err := g.writer.Write(p)
62+
n, err := f.writer.Write(p)
63+
4864
if err != nil {
49-
g.logger.Errorf("failed to write: %v", err)
65+
f.logger.Errorf("failed to write: %v", err)
5066
msg = err.Error()
67+
5168
return n, err
5269
}
70+
5371
st = statusSuccess
5472
msg = "Write successful"
55-
return n, nil
73+
f.logger.Logf(msg)
5674

75+
return n, nil
5776
}
5877

59-
func (g *GCSFile) Close() error {
60-
bucketName := getBucketName(g.name)
78+
func (f *GCSFile) Close() error {
79+
bucketName := getBucketName(f.name)
80+
6181
var msg string
82+
6283
st := statusErr
6384

64-
defer g.sendOperationStats(&FileLog{
85+
defer f.sendOperationStats(&FileLog{
6586
Operation: "CLOSE",
6687
Location: getLocation(bucketName),
6788
Status: &st,
6889
Message: &msg,
6990
}, time.Now())
7091

71-
if g.writer != nil {
72-
err := g.writer.Close()
92+
if f.writer != nil {
93+
err := f.writer.Close()
7394
if err != nil {
7495
msg = err.Error()
7596
return err
7697
}
98+
7799
st = statusSuccess
78-
msg = "Writer closed successfully"
100+
101+
msg = msgWriterClosed
102+
103+
f.logger.Logf(msg)
104+
79105
return nil
80106
}
81107

82-
if g.body != nil {
83-
err := g.body.Close()
108+
if f.body != nil {
109+
err := f.body.Close()
84110
if err != nil {
85111
msg = err.Error()
86112
return err
87113
}
114+
88115
st = statusSuccess
89-
msg = "Reader closed successfully"
116+
117+
msg = msgReaderClosed
118+
119+
f.logger.Logf(msgReaderClosed)
120+
90121
return nil
91122
}
123+
92124
st = statusSuccess
93-
msg = "Writer closed successfully"
125+
126+
msg = msgWriterClosed
127+
94128
return nil
95129
}
96130

97-
func (g *GCSFile) Seek(offset int64, whence int) (int64, error) {
131+
func (*GCSFile) Seek(_ int64, _ int) (int64, error) {
98132
// Not supported: Seek requires reopening with range.
99-
return 0, errors.New("Seek not supported on GCSFile")
133+
return 0, ErrSeekNotSupported
100134
}
101135

102-
func (g *GCSFile) ReadAt(_ []byte, _ int64) (int, error) {
103-
return 0, errors.New("ReadAt not supported on GCSFile")
136+
func (*GCSFile) ReadAt(_ []byte, _ int64) (int, error) {
137+
return 0, ErrReadAtNotSupported
104138
}
105139

106-
func (g *GCSFile) WriteAt(_ []byte, _ int64) (int, error) {
107-
return 0, errors.New("WriteAt not supported on GCSFile (read-only)")
140+
func (*GCSFile) WriteAt(_ []byte, _ int64) (int, error) {
141+
return 0, ErrWriteAtNotSupported
108142
}
109143

110-
func (g *GCSFile) sendOperationStats(fl *FileLog, startTime time.Time) {
144+
func (f *GCSFile) sendOperationStats(fl *FileLog, startTime time.Time) {
111145
duration := time.Since(startTime).Microseconds()
112146

113147
fl.Duration = duration
114148

115-
g.logger.Debug(fl)
149+
f.logger.Debug(fl)
116150
}

pkg/gofr/datasource/file/gcs/file_parse.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,8 @@ func (f *textReader) Next() bool {
125125
return f.scanner.Scan()
126126
}
127127

128-
// Scan scans the next line from the text file into the provided pointer to string.
128+
// Scan scans the next line from the text file into the provided pointer to strinf.
129129
func (f *textReader) Scan(i any) error {
130-
131130
if val, ok := i.(*string); ok {
132131
*val = f.scanner.Text()
133132
return nil
@@ -136,68 +135,69 @@ func (f *textReader) Scan(i any) error {
136135
return errStringNotPointer
137136
}
138137

139-
func (g *GCSFile) Name() string {
140-
bucketName := getBucketName(g.name)
138+
func (f *GCSFile) Name() string {
139+
bucketName := getBucketName(f.name)
141140

142-
g.sendOperationStats(&FileLog{
141+
f.sendOperationStats(&FileLog{
143142
Operation: "GET NAME",
144143
Location: getLocation(bucketName),
145144
}, time.Now())
146145

147-
return g.name
146+
return f.name
148147
}
149148

150-
func (g *GCSFile) Size() int64 {
151-
bucketName := getBucketName(g.name)
149+
func (f *GCSFile) Size() int64 {
150+
bucketName := getBucketName(f.name)
152151

153-
g.sendOperationStats(&FileLog{
152+
f.sendOperationStats(&FileLog{
154153
Operation: "FILE/DIR SIZE",
155154
Location: getLocation(bucketName),
156155
}, time.Now())
157156

158-
return g.size
157+
return f.size
159158
}
160159

161-
func (g *GCSFile) ModTime() time.Time {
162-
bucketName := getBucketName(g.name)
160+
func (f *GCSFile) ModTime() time.Time {
161+
bucketName := getBucketName(f.name)
163162

164-
g.sendOperationStats(&FileLog{
163+
f.sendOperationStats(&FileLog{
165164
Operation: "LAST MODIFIED",
166165
Location: getLocation(bucketName),
167166
}, time.Now())
168167

169-
return g.lastModified
168+
return f.lastModified
170169
}
171170

172-
func (g *GCSFile) Mode() fs.FileMode {
173-
bucketName := getBucketName(g.name)
171+
func (f *GCSFile) Mode() fs.FileMode {
172+
bucketName := getBucketName(f.name)
174173

175-
g.sendOperationStats(&FileLog{
174+
f.sendOperationStats(&FileLog{
176175
Operation: "MODE",
177176
Location: getLocation(bucketName),
178177
}, time.Now())
179178

180-
if g.isDir {
179+
if f.isDir {
181180
return fs.ModeDir
182181
}
182+
183183
return 0
184184
}
185185

186-
func (g *GCSFile) IsDir() bool {
187-
bucketName := getBucketName(g.name)
186+
func (f *GCSFile) IsDir() bool {
187+
bucketName := getBucketName(f.name)
188188

189-
g.sendOperationStats(&FileLog{
189+
f.sendOperationStats(&FileLog{
190190
Operation: "IS DIR",
191191
Location: getLocation(bucketName),
192192
}, time.Now())
193193

194-
return g.isDir || g.contentType == "application/x-directory"
194+
return f.isDir || f.contentType == "application/x-directory"
195195
}
196196

197-
func (g *GCSFile) Sys() interface{} {
198-
bucketName := getBucketName(g.name)
197+
func (f *GCSFile) Sys() any {
198+
bucketName := getBucketName(f.name)
199199

200-
g.sendOperationStats(&FileLog{
200+
f.sendOperationStats(&FileLog{
201201
Operation: "SYS",
202202
Location: getLocation(bucketName),
203203
}, time.Now())

0 commit comments

Comments
 (0)