Skip to content

Commit 8c4f7d6

Browse files
committed
feat: add GetProjectNumber function #3
1 parent 7bdc20e commit 8c4f7d6

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

environ.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package gcpen
22

33
import (
4+
"context"
45
"os"
6+
7+
"google.golang.org/api/cloudresourcemanager/v1"
58
)
69

710
var (
@@ -11,6 +14,7 @@ var (
1114
ServiceName = os.Getenv(EnvKeyServiceName)
1215
// ServiceVersion - Google App Engine service version
1316
ServiceVersion = os.Getenv(EnvKeyServiceVersion)
17+
projectNumber int64
1418
)
1519

1620
func getProjectID() string {
@@ -33,3 +37,24 @@ func Reload() {
3337
ServiceName = os.Getenv(EnvKeyServiceName)
3438
ServiceVersion = os.Getenv(EnvKeyServiceVersion)
3539
}
40+
41+
// GetProjectNumber - get project number
42+
func GetProjectNumber(ctx context.Context, forceRefresh ...bool) (int64, error) {
43+
if projectNumber != 0 && !(len(forceRefresh) > 0 && forceRefresh[0]) {
44+
return projectNumber, nil
45+
}
46+
47+
service, err := cloudresourcemanager.NewService(ctx)
48+
if err != nil {
49+
return 0, err
50+
}
51+
52+
project, err := service.Projects.Get(getProjectID()).Context(ctx).Do()
53+
if err != nil {
54+
return 0, err
55+
}
56+
57+
projectNumber = project.ProjectNumber
58+
59+
return projectNumber, nil
60+
}

0 commit comments

Comments
 (0)