Skip to content

Commit 20fc760

Browse files
Merge pull request #175 from Avanade/171-ip-disclosure-request-form
171 ip disclosure request form
2 parents 56ca74d + 73f4748 commit 20fc760

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1606
-179
lines changed

.bicep/webapp/parameters.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@
4545
"COMMUNITY_PORTAL_APP_ID": "",
4646
"CALLBACK_RETRY_FREQ": "",
4747
"SESSION_KEY": "",
48-
"SCOPE":""
48+
"SCOPE":"",
49+
"IPDR_MODULE_ID": "",
50+
"IPDR_APP_ID": "",
51+
"CTO": ""
4952
}
5053
}
5154
}

.github/workflows/setup-appservice-resource.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ jobs:
4949
parameters.appServiceSettings.value.CALLBACK_RETRY_FREQ: ${{ vars.CALLBACK_RETRY_FREQ }}
5050
parameters.appServiceSettings.value.SESSION_KEY: ${{ secrets.SESSION_KEY }}
5151
parameters.appServiceSettings.value.SCOPE: ${{ secrets.SCOPE}}
52+
parameters.appServiceSettings.value.IPDR_MODULE_ID: ${{ vars.IPDR_MODULE_ID }}
53+
parameters.appServiceSettings.value.IPDR_APP_ID: ${{ vars.IPDR_APP_ID }}
54+
parameters.appServiceSettings.value.CTO: ${{ vars.CTO }}
5255

5356
- name: Deploy App Service Plan and Web App
5457
uses: azure/arm-deploy@v1

.github/workflows/setup-database.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ on:
2424
jobs:
2525
setup-server-and-database-resource:
2626
if: ${{ github.event.inputs.deploy_database_resource == 'true' }}
27-
runs-on: ubuntu-latest
27+
runs-on: ubuntu-22.04
2828
environment: ${{ github.event.inputs.selected_environment }}
2929

3030
steps:
@@ -48,7 +48,7 @@ jobs:
4848

4949
build-and-publish-database-project:
5050
if: ${{ github.event.inputs.publish_database_project == 'true' }}
51-
runs-on: ubuntu-latest
51+
runs-on: ubuntu-22.04
5252
environment: ${{ github.event.inputs.selected_environment }}
5353

5454
steps:

src/goapp/.env.template

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,7 @@ LINK_FOOTERS=""
1919
ORGANIZATION_NAME=""
2020
COMMUNITY_PORTAL_APP_ID=""
2121
SESSION_KEY=""
22-
SCOPE=""
22+
SCOPE=""
23+
IPDR_APP_ID=""
24+
IPDR_MODULE_ID=""
25+
CTO=""

src/goapp/config/config.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,25 @@ type Config struct {
77
}
88

99
type ConfigManager interface {
10+
GetCallbackRetryFreq() string
11+
GetClientID() string
12+
GetClientSecret() string
13+
GetCTO() string
14+
GetCommunityPortalAppId() string
1015
GetDatabaseConnectionString() string
11-
GetEnterpriseOwners() []string
12-
GetEmailTenantID() string
1316
GetEmailClientID() string
1417
GetEmailClientSecret() string
18+
GetEmailTenantID() string
1519
GetEmailUserID() string
20+
GetEnterpriseOwners() []string
1621
GetHomeURL() string
22+
GetIPDRAppId() string
23+
GetIPDRModuleId() string
1724
GetIsEmailEnabled() bool
18-
GetTenantID() string
19-
GetClientID() string
20-
GetClientSecret() string
2125
GetLinkFooters() string
2226
GetOrganizationName() string
23-
GetCommunityPortalAppId() string
24-
GetCallbackRetryFreq() string
2527
GetPort() string
26-
GetSessionKey() string
2728
GetScope() string
29+
GetSessionKey() string
30+
GetTenantID() string
2831
}

src/goapp/config/env-config.go

Lines changed: 43 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,24 @@ func NewEnvConfigManager() *envConfigManager {
2222
return &envConfigManager{}
2323
}
2424

25-
func (ecm *envConfigManager) GetDatabaseConnectionString() string {
26-
return os.Getenv("APPROVALSYSTEMDB_CONNECTION_STRING")
25+
func (ecm *envConfigManager) GetCallbackRetryFreq() string {
26+
return os.Getenv("CALLBACK_RETRY_FREQ")
2727
}
2828

29-
func (ecm *envConfigManager) GetEnterpriseOwners() []string {
30-
enterpriseOwners := os.Getenv("ENTERPRISE_OWNERS")
31-
if enterpriseOwners == "" {
32-
return nil
33-
}
34-
ownersArray := strings.Split(enterpriseOwners, ",")
35-
return ownersArray
29+
func (ecm *envConfigManager) GetClientID() string {
30+
return os.Getenv("CLIENT_ID")
3631
}
3732

38-
func (ecm *envConfigManager) GetEmailTenantID() string {
39-
return os.Getenv("EMAIL_TENANT_ID")
33+
func (ecm *envConfigManager) GetClientSecret() string {
34+
return os.Getenv("CLIENT_SECRET")
35+
}
36+
37+
func (ecm *envConfigManager) GetCommunityPortalAppId() string {
38+
return os.Getenv("COMMUNITY_PORTAL_APP_ID")
39+
}
40+
41+
func (ecm *envConfigManager) GetDatabaseConnectionString() string {
42+
return os.Getenv("APPROVALSYSTEMDB_CONNECTION_STRING")
4043
}
4144

4245
func (ecm *envConfigManager) GetEmailClientID() string {
@@ -47,28 +50,41 @@ func (ecm *envConfigManager) GetEmailClientSecret() string {
4750
return os.Getenv("EMAIL_CLIENT_SECRET")
4851
}
4952

53+
func (ecm *envConfigManager) GetCTO() string {
54+
return os.Getenv("CTO")
55+
}
56+
57+
func (ecm *envConfigManager) GetEmailTenantID() string {
58+
return os.Getenv("EMAIL_TENANT_ID")
59+
}
60+
5061
func (ecm *envConfigManager) GetEmailUserID() string {
5162
return os.Getenv("EMAIL_USER_ID")
5263
}
5364

54-
func (ecm *envConfigManager) GetHomeURL() string {
55-
return os.Getenv("HOME_URL")
65+
func (ecm *envConfigManager) GetEnterpriseOwners() []string {
66+
enterpriseOwners := os.Getenv("ENTERPRISE_OWNERS")
67+
if enterpriseOwners == "" {
68+
return nil
69+
}
70+
ownersArray := strings.Split(enterpriseOwners, ",")
71+
return ownersArray
5672
}
5773

58-
func (ecm *envConfigManager) GetIsEmailEnabled() bool {
59-
return os.Getenv("EMAIL_ENABLED") == "true"
74+
func (ecm *envConfigManager) GetHomeURL() string {
75+
return os.Getenv("HOME_URL")
6076
}
6177

62-
func (ecm *envConfigManager) GetTenantID() string {
63-
return os.Getenv("TENANT_ID")
78+
func (ecm *envConfigManager) GetIPDRAppId() string {
79+
return os.Getenv("IPDR_APP_ID")
6480
}
6581

66-
func (ecm *envConfigManager) GetClientID() string {
67-
return os.Getenv("CLIENT_ID")
82+
func (ecm *envConfigManager) GetIPDRModuleId() string {
83+
return os.Getenv("IPDR_MODULE_ID")
6884
}
6985

70-
func (ecm *envConfigManager) GetClientSecret() string {
71-
return os.Getenv("CLIENT_SECRET")
86+
func (ecm *envConfigManager) GetIsEmailEnabled() bool {
87+
return os.Getenv("EMAIL_ENABLED") == "true"
7288
}
7389

7490
func (ecm *envConfigManager) GetLinkFooters() string {
@@ -79,22 +95,18 @@ func (ecm *envConfigManager) GetOrganizationName() string {
7995
return os.Getenv("ORGANIZATION_NAME")
8096
}
8197

82-
func (ecm *envConfigManager) GetCommunityPortalAppId() string {
83-
return os.Getenv("COMMUNITY_PORTAL_APP_ID")
84-
}
85-
86-
func (ecm *envConfigManager) GetCallbackRetryFreq() string {
87-
return os.Getenv("CALLBACK_RETRY_FREQ")
88-
}
89-
9098
func (ecm *envConfigManager) GetPort() string {
9199
return os.Getenv("PORT")
92100
}
93101

102+
func (ecm *envConfigManager) GetScope() string {
103+
return os.Getenv("SCOPE")
104+
}
105+
94106
func (ecm *envConfigManager) GetSessionKey() string {
95107
return os.Getenv("SESSION_KEY")
96108
}
97109

98-
func (ecm *envConfigManager) GetScope() string {
99-
return os.Getenv("SCOPE")
110+
func (ecm *envConfigManager) GetTenantID() string {
111+
return os.Getenv("TENANT_ID")
100112
}

src/goapp/controller/controller.go

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,23 @@ import (
55
cApplicationModule "main/controller/app-module"
66
cAuthentication "main/controller/authentication"
77
cFallback "main/controller/fallback"
8+
cInvolvement "main/controller/involvement"
9+
cIPDiscloure "main/controller/ip-disclosure"
810
cItem "main/controller/item"
911
cUser "main/controller/user"
1012
"main/service"
1113
)
1214

1315
type Controller struct {
16+
ApplicationModule cApplicationModule.ApplicationModuleController
1417
AuthenticationPage cAuthentication.AuthenticationPageController
18+
Fallback cFallback.FallbackController
19+
Involvement cInvolvement.InvolvementController
20+
IPDisclosure cIPDiscloure.IpDisclosureController
21+
IPDisclourePage cIPDiscloure.IpDisclosurePageController
1522
Item cItem.ItemController
1623
ItemPage cItem.ItemPageController
17-
ApplicationModule cApplicationModule.ApplicationModuleController
1824
User cUser.UserController
19-
Fallback cFallback.FallbackController
2025
}
2126

2227
type ControllerOptionFunc func(*Controller)
@@ -31,21 +36,33 @@ func NewController(opts ...ControllerOptionFunc) *Controller {
3136
return controller
3237
}
3338

39+
func NewApplicationModuleController(svc *service.Service) ControllerOptionFunc {
40+
return func(c *Controller) {
41+
c.ApplicationModule = cApplicationModule.NewApplicationModuleController(svc)
42+
}
43+
}
44+
3445
func NewAuthenticationController(svc *service.Service) ControllerOptionFunc {
3546
return func(c *Controller) {
3647
c.AuthenticationPage = cAuthentication.NewAuthenticationController(svc)
3748
}
3849
}
3950

40-
func NewItemController(svc *service.Service) ControllerOptionFunc {
51+
func NewInvolvementController(svc *service.Service) ControllerOptionFunc {
4152
return func(c *Controller) {
42-
c.Item = cItem.NewItemController(svc)
53+
c.Involvement = cInvolvement.NewInvolvementController(svc)
4354
}
4455
}
4556

46-
func NewApplicationModuleController(svc *service.Service) ControllerOptionFunc {
57+
func NewIPDisclosureController(svc *service.Service, conf config.ConfigManager) ControllerOptionFunc {
4758
return func(c *Controller) {
48-
c.ApplicationModule = cApplicationModule.NewApplicationModuleController(svc)
59+
c.IPDisclosure = cIPDiscloure.NewIpDisclosureController(svc, conf)
60+
}
61+
}
62+
63+
func NewItemController(svc *service.Service) ControllerOptionFunc {
64+
return func(c *Controller) {
65+
c.Item = cItem.NewItemController(svc)
4966
}
5067
}
5168

@@ -57,6 +74,12 @@ func NewUserController(svc *service.Service) ControllerOptionFunc {
5774

5875
// PAGES
5976

77+
func NewIPDisclosurePageController(svc *service.Service) ControllerOptionFunc {
78+
return func(c *Controller) {
79+
c.IPDisclourePage = cIPDiscloure.NewIpDisclosurePageController(svc)
80+
}
81+
}
82+
6083
func NewItemPageController(svc *service.Service, conf config.ConfigManager) ControllerOptionFunc {
6184
return func(c *Controller) {
6285
c.ItemPage = cItem.NewItemPageController(svc, conf)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package involvement
2+
3+
import (
4+
"net/http"
5+
)
6+
7+
type InvolvementController interface {
8+
GetInvolvementList(w http.ResponseWriter, r *http.Request)
9+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package involvement
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"main/service"
7+
"net/http"
8+
)
9+
10+
type involvementController struct {
11+
*service.Service
12+
}
13+
14+
func NewInvolvementController(s *service.Service) InvolvementController {
15+
return &involvementController{
16+
Service: s,
17+
}
18+
}
19+
20+
func (c *involvementController) GetInvolvementList(w http.ResponseWriter, r *http.Request) {
21+
involvements, err := c.Service.Involvement.GetInvolvementList()
22+
if err != nil {
23+
http.Error(w, err.Error(), http.StatusInternalServerError)
24+
return
25+
}
26+
27+
b, err := json.Marshal(involvements)
28+
if err != nil {
29+
fmt.Println(err)
30+
return
31+
}
32+
33+
w.Write(b)
34+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package ipdisclosure
2+
3+
import "net/http"
4+
5+
type IpDisclosureController interface {
6+
InsertIPDisclosureRequest(w http.ResponseWriter, r *http.Request)
7+
}
8+
9+
type IpDisclosurePageController interface {
10+
IpDisclosureRequest(w http.ResponseWriter, r *http.Request)
11+
}

0 commit comments

Comments
 (0)