8000 refactor: vhost and mappings infra impl & more by ntorga · Pull Request #236 · goinfinite/os · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

refactor: vhost and mappings infra impl & more #236

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 121 commits into from
Apr 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
79963a0
fix: use slog on ssl watchdog
ntorga Mar 26, 2025
82c58f2
feat: add main virtualhost hostname
ntorga Mar 26, 2025
8117d2d
fix: improve ssl pair factory code readability
ntorga Mar 26, 2025
0a4331d
fix: stop requesting parent domain on sub creation
ntorga Mar 26, 2025
52d333e
fix: use select for alias parent domain input
ntorga Mar 26, 2025
0a8fd41
fix: use var instead of newLocalhost construct
ntorga Mar 26, 2025
858eb99
refactor: vhost type vo
ntorga Mar 26, 2025
e661a82
fix: typo on ip address vo
ntorga Mar 26, 2025
9871c8f
fix: init return slices to avoid nil
ntorga Mar 26, 2025
d391274
feat: add accountIdSystem var
ntorga Mar 26, 2025
2025dc9
feat: add CreatePubliclyTrusted to domain layer
ntorga Mar 26, 2025
c1e5150
refactor: ssl cert watchdog
ntorga Mar 26, 2025
683d31d
fix: add and use new watchdog constructor
ntorga Mar 26, 2025
f225c55
fix: add timeout to dig
ntorga Mar 26, 2025
acc7ed8
fix: remove replace with valid ssl dto
ntorga Mar 26, 2025
d6194d0
fix: use replace with valid logic for create publicly trusted
ntorga Mar 26, 2025
96556a2
refactor: mapping and vhost query repos
ntorga Mar 27, 2025
e63f1bc
feat: add read vhost and mapping dtos
ntorga Mar 27, 2025
706b183
refactor: mapping pattern and type with const
ntorga Mar 27, 2025
d207add
feat: add mapping hostname and path to create custom svc uc
ntorga Mar 27, 2025
de5e749
fix: remove unused mapping query repo
ntorga Mar 27, 2025
2f7778d
feat: add mapping hostname and path to create installable svc
ntorga Mar 27, 2025
e5217cb
fix: use new vhost repo and improve readability
ntorga Mar 27, 2025
9a5b3af
fix: use new vhost repo and add default pagination
ntorga Mar 27, 2025
638a44f
fix: use new vhost query repo and improve code readability
ntorga Mar 27, 2025
10b5336
fix: use new vhost repo and change type to wildcard
ntorga Mar 27, 2025
915da46
fix: use is primary to retrieve primary vhost
ntorga Mar 28, 2025
5c04bbf
fix: remove manifest version from mktplace hover
ntorga Mar 28, 2025
0e55b37
fix: remove code smells
ntorga Mar 28, 2025
8cecf67
fix: remove primary vhost
ntorga Mar 28, 2025
910ba46
fix: use hostname for vhost delete
ntorga Mar 28, 2025
6f2714d
fix: use new vhost query repo
ntorga Mar 28, 2025
058f657
feat: add pagination unpaginated
ntorga Mar 28, 2025
433ed9b
fix: remove read with mappings uc
ntorga Mar 28, 2025
8d4995f
fix: use new vhost query repo and remove not used cmd
ntorga Mar 28, 2025
53b4b7a
fix: separate aliases handling with another for loop
ntorga Mar 28, 2025
8baaab7
feat: add pagination single item
ntorga Mar 28, 2025
2d88520
fix: remove delete auto and recreate from repo
ntorga Mar 28, 2025
1428a37
fix: export create service auto mappings
ntorga Mar 28, 2025
e7b47b1
fix: delete service mappings on the uc
ntorga Mar 28, 2025
b4ed08f
refactor: mapping query infra impl
ntorga Mar 28, 2025
86acaaf
fix: remove vhost from mapping model
ntorga Mar 28, 2025
c0d3d45
fix: rename read primary vhost helper
ntorga Mar 28, 2025
6f3e1e3
refactor: vhost query repo infra impl
ntorga Mar 28, 2025
45dcb19
fix: update vhost file name env
ntorga Mar 28, 2025
90866cb
fix: move mappingInfra to vhostInfra
ntorga Mar 28, 2025
9ca6b45
fix: rename mappingInfra to vhostInfra
ntorga Mar 28, 2025
dde4761
fix: use vo on create self signed helper
ntorga Mar 28, 2025
37cd548
fix: move primary vhost file name to query repo
ntorga Mar 28, 2025
baa00ca
refactor: almost all methods of vhost cmd infra impl
ntorga Mar 28, 2025
1c1dc80
fix: use new vhost query repo
ntorga Mar 28, 2025
d93380d
fix: use vo for create self signed
ntorga Mar 28, 2025
b312958
fix: use new mapping query repo
ntorga Mar 28, 2025
cc1d963
fix: use custom dto directly
ntorga Mar 28, 2025
cd16ead
fix: separate init in parts
ntorga Mar 28, 2025
c7420e5
feat: add mapping hostname and path to service presentation
ntorga Mar 28, 2025
486e78e
fix: invert order of injection
ntorga Mar 28, 2025
f67156e
feat: add service helpers from ez
ntorga Mar 28, 2025
7aa97c2
fix: hide is primary
ntorga Mar 28, 2025
e81335c
refactor: vhost service read
ntorga Mar 28, 2025
a0ba63a
fix: add read query params to presentation
ntorga Mar 28, 2025
e4b5abc
feat: add cli pagination parser
ntorga Mar 28, 2025
0a98673
fi: use unpaginated query params on ui
ntorga Mar 28, 2025
d6dba54
chore: bump api version
ntorga Mar 28, 2025
5bdc8cd
chore: update swagger
ntorga Mar 28, 2025
be987d4
fix: remove mappings association to vhost
ntorga Mar 28, 2025
1712042
feat: move read vhost names to presenter helper
ntorga Mar 28, 2025
887146d
fix: vhost response assert
ntorga Mar 28, 2025
2c9dffb
fix: return when mappings is false
ntorga Mar 28, 2025
0c3bea5
fix: remove unused method
ntorga Mar 28, 2025
b645f3d
fix: add missing pagination unpaginated
ntorga Mar 28, 2025
0117173
fix: prevent vhost parent to be an alias
ntorga Mar 31, 2025
2652515
feat: add createVirtualHostPublicDirectory()
ntorga Mar 31, 2025
02c7513
feat: add is primary and is wildcard to vhost entity
ntorga Mar 31, 2025
49a3d1b
feat: add vhostEntitiesFactory
ntorga Mar 31, 2025
e03d4e0
fix: use slice of entities for aliases append
ntorga Mar 31, 2025
492b3b8
fix: use vhost aliases hostnames on ssl watchdog
ntorga Mar 31, 2025
abd0ac6
fix: use vhost entity on create webserver unit file
ntorga Mar 31, 2025
db6d55e
fix: update vhost entity if aliases
ntorga Mar 31, 2025
22f576f
fix: typo on gorm primary key comment
ntorga Mar 31, 2025
d514221
fix: if alias, set vhost as parent
ntorga Mar 31, 2025
1d65428
feat: use gorm self-reflect for vhost association
ntorga Mar 31, 2025
8708df9
fix: missing update ssl pair map
ntorga Mar 31, 2025
4549d43
fix: stop creating symlink for aliases
ntorga Mar 31, 2025
5930094
fix: adding missing suffix
ntorga Mar 31, 2025
fc3d8c9
feat: delete vhost ssl on delete
ntorga Mar 31, 2025
badfc8a
fix: export recreate mapping file function
ntorga Mar 31, 2025
e26dd74
feat: add wildcard support and read vhost file
ntorga Mar 31, 2025
722656c
fix: set create ssl err to debug level
ntorga Mar 31, 2025
c60acaf
feat: add isWildcard to vhost create
ntorga Mar 31, 2025
ecba33f
fix: read vhost conf file before removing from db
ntorga Mar 31, 2025
eb50859
fix: rename get to read file content
ntorga Mar 31, 2025
7fab121
fix: remove delete ssl vhost
ntorga Mar 31, 2025
80c0d39
fix: remove vhost hostnames from ssl pair entity
ntorga Mar 31, 2025
f709aea
fix: rename mappings list
ntorga Apr 1, 2025
1fff17e
feat: use refresh: event for updating the records
ntorga Apr 1, 2025
bb7b796
fix: increase server name hash bucket size
ntorga Apr 1, 2025
ded8b08
feat: add aliases below vhost tags
ntorga Apr 1, 2025
bd7325e 8000
fix: improve mapping list style
ntorga Apr 1, 2025
7e47c32
fix: redirect vhosts to vhost api endpoint
ntorga Apr 1, 2025
1d3c305
fix: use vhost instead of vhosts as endpoint
ntorga Apr 1, 2025
51e9065
feat: add update vhost domain layer
ntorga Apr 1, 2025
d5c93c7
chore: update cspell
ntorga Apr 1, 2025
7b73683
feat: impl update vhost infra
ntorga Apr 1, 2025
5a70976
feat: add update vhost presentation layer
ntorga Apr 1, 2025
fa10478
fix: typo on read only class
ntorga Apr 1, 2025
40d36ef
fix: allow wildcard vhost type
ntorga Apr 1, 2025
6a1e04e
feat: add is wildcard box to create modal
ntorga Apr 1, 2025
54e4699
fix: set isWildcard to true if type wildcard
ntorga Apr 1, 2025
f23d4a7
fix: set type to wildcard if bool enabled
ntorga Apr 1, 2025
cdf7531
fix: set value to blank if nothing is selected
ntorga Apr 1, 2025
7945b0c
feat: add response code to url mapping
ntorga Apr 1, 2025
8e16615
feat: add url response code to list
ntorga Apr 1, 2025
d264c5e
feat: add mktplace item id to mapping entity
ntorga Apr 1, 2025
b2aa478
fix: ignore aliases on read vhost hostnames
ntorga Apr 1, 2025
55d9c5c
feat: add mktplace item name to mapping
ntorga Apr 1, 2025
bb4eac1
fix: add space between page header and table
ntorga Apr 1, 2025
206fc11
feat: add mktplace item name to mappings list
ntorga Apr 1, 2025
8eb045b
fix: typo on foreign key comment
ntorga Apr 1, 2025
e8d214a
chore: update swagger
ntorga Apr 1, 2025
cc07f62
chore: update changelog
ntorga Apr 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"vhosts",
"virtualhost",
"webserver",
"zeroable",
"zerolog",
"Zerolog"
],
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
# Changelog

```log
0.2.1 - 2025/04/01
refactor: vhost and mapping infra implementation
refactor: ssl watchdog
refactor: delete service mappings
feat: add mapping hostname and path to service mapping auto create
feat: add support for wildcard vhosts
feat: add custom response code to url mappings
feat: add marketplace item reference to mappings
fix: aliases addition replacing parent ssl
fix: remove mappings and ssl files when vhost is deleted
fix: move vhost aliases to parent row
fix: remove vhost removal from ssl pair

0.2.0 - 2025/03/25
refactor(front): file manager with HTMX+Alpine.js
fix: missing service name on mapping targetValue input
Expand Down
4 changes: 3 additions & 1 deletion container/nginx/root/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@ http {

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 9.9.9.9 1.1.1.1 valid=60s ipv6=off;
resolver 8.8.8.8 1.1.1.1 185.228.169.9 valid=60s ipv6=off;
resolver_timeout 2s;

server_names_hash_bucket_size 128;

include /app/conf/nginx/*.conf;
}
6 changes: 6 additions & 0 deletions src/domain/dto/createCustomService.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ type CreateCustomService struct {
LogErrorPath *valueObject.UnixFilePath `json:"logErrorPath"`
AvatarUrl *valueObject.Url `json:"avatarUrl"`
AutoCreateMapping *bool `json:"autoCreateMapping"`
MappingHostname *valueObject.Fqdn `json:"mappingHostname"`
MappingPath *valueObject.MappingPath `json:"mappingPath"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
}
Expand All @@ -43,6 +45,8 @@ func NewCreateCustomService(
logOutputPath, logErrorPath *valueObject.UnixFilePath,
avatarUrl *valueObject.Url,
autoCreateMapping *bool,
mappingHostname *valueObject.Fqdn,
mappingPath *valueObject.MappingPath,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) CreateCustomService {
Expand All @@ -68,6 +72,8 @@ func NewCreateCustomService(
LogErrorPath: logErrorPath,
AvatarUrl: avatarUrl,
AutoCreateMapping: autoCreateMapping,
MappingHostname: mappingHostname,
MappingPath: mappingPath,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
}
Expand Down
6 changes: 6 additions & 0 deletions src/domain/dto/createInstallableService.go
10000
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ type CreateInstallableService struct {
AutoRestart *bool `json:"autoRestart"`
MaxStartRetries *uint `json:"maxStartRetries"`
AutoCreateMapping *bool `json:"autoCreateMapping"`
MappingHostname *valueObject.Fqdn `json:"mappingHostname"`
MappingPath *valueObject.MappingPath `json:"mappingPath"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
}
Expand All @@ -30,6 +32,8 @@ func NewCreateInstallableService(
autoRestart *bool,
maxStartRetries *uint,
autoCreateMapping *bool,
mappingHostname *valueObject.Fqdn,
mappingPath *valueObject.MappingPath,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) CreateInstallableService {
Expand All @@ -45,6 +49,8 @@ func NewCreateInstallableService(
AutoRestart: autoRestart,
MaxStartRetries: maxStartRetries,
AutoCreateMapping: autoCreateMapping,
MappingHostname: mappingHostname,
MappingPath: mappingPath,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
}
Expand Down
26 changes: 26 additions & 0 deletions src/domain/dto/createPubliclyTrustedSslPair.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package dto

import (
"github.com/goinfinite/os/src/domain/valueObject"
)

type CreatePubliclyTrustedSslPair struct {
CommonName valueObject.Fqdn `json:"commonName"`
AltNames []valueObject.Fqdn `json:"aliasesHostnames"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
}

func NewCreatePubliclyTrustedSslPair(
commonName valueObject.Fqdn,
altNames []valueObject.Fqdn,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) CreatePubliclyTrustedSslPair {
return CreatePubliclyTrustedSslPair{
CommonName: commonName,
AltNames: altNames,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
}
}
3 changes: 3 additions & 0 deletions src/domain/dto/createVirtualHost.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import "github.com/goinfinite/os/src/domain/valueObject"
type CreateVirtualHost struct {
Hostname valueObject.Fqdn `json:"hostname"`
Type valueObject.VirtualHostType `json:"type"`
IsWildcard *bool `json:"isWildcard"`
ParentHostname *valueObject.Fqdn `json:"parentHostname"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
Expand All @@ -13,13 +14,15 @@ type CreateVirtualHost struct {
func NewCreateVirtualHost(
hostname valueObject.Fqdn,
vhostType valueObject.VirtualHostType,
isWildcard *bool,
parentHostname *valueObject.Fqdn,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) CreateVirtualHost {
return CreateVirtualHost{
Hostname: hostname,
Type: vhostType,
IsWildcard: isWildcard,
ParentHostname: parentHostname,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
Expand Down
15 changes: 6 additions & 9 deletions src/domain/dto/deleteVirtualHost.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,19 @@ package dto
import "github.com/goinfinite/os/src/domain/valueObject"

type DeleteVirtualHost struct {
Hostname valueObject.Fqdn `json:"hostname"`
PrimaryVirtualHost valueObject.Fqdn `json:"-"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
Hostname valueObject.Fqdn `json:"hostname"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
}

func NewDeleteVirtualHost(
hostname valueObject.Fqdn,
primaryVirtualHost valueObject.Fqdn,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) DeleteVirtualHost {
return DeleteVirtualHost{
Hostname: hostname,
PrimaryVirtualHost: primaryVirtualHost,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
Hostname: hostname,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
}
}
10 changes: 10 additions & 0 deletions src/domain/dto/pagination.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@ package dto

import "github.com/goinfinite/os/src/domain/valueObject"

var PaginationSingleItem = Pagination{
PageNumber: 0,
ItemsPerPage: 1,
}

var PaginationUnpaginated = Pagination{
PageNumber: 0,
ItemsPerPage: 1000,
}

type Pagination struct {
PageNumber uint32 `json:"pageNumber"`
ItemsPerPage uint16 `json:"itemsPerPage"`
Expand Down
24 changes: 24 additions & 0 deletions src/domain/dto/readMappings.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package dto

import (
"github.com/goinfinite/os/src/domain/entity"
"github.com/goinfinite/os/src/domain/valueObject"
)

type ReadMappingsRequest struct {
Pagination Pagination `json:"pagination"`
MappingId *valueObject.MappingId `json:"mappingId"`
Hostname *valueObject.Fqdn `json:"hostname"`
MappingPath *valueObject.MappingPath `json:"mappingPath"`
MatchPattern *valueObject.MappingMatchPattern `json:"matchPattern"`
TargetType *valueObject.MappingTargetType `json:"targetType"`
TargetValue *valueObject.MappingTargetValue `json:"targetValue"`
TargetHttpResponseCode *valueObject.HttpResponseCode `json:"targetHttpResponseCode"`
CreatedBeforeAt *valueObject.UnixTime `json:"createdBeforeAt"`
CreatedAfterAt *valueObject.UnixTime `json:"createdAfterAt"`
}

type ReadMappingsResponse struct {
Pagination Pagination `json:"pagination"`
Mappings []entity.Mapping `json:"mappings"`
}
31 changes: 31 additions & 0 deletions src/domain/dto/readVirtualHosts.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package dto

import (
"github.com/goinfinite/os/src/domain/entity"
"github.com/goinfinite/os/src/domain/valueObject"
)

type ReadVirtualHostsRequest struct {
Pagination Pagination `json:"pagination"`
Hostname *valueObject.Fqdn `json:"hostname"`
VirtualHostType *valueObject.VirtualHostType `json:"type"`
RootDirectory *valueObject.UnixFilePath `json:"rootDirectory"`
ParentHostname *valueObject.Fqdn `json:"parentHostname"`
WithMappings *bool `json:"withMappings"`
IsWildcard *bool `json:"isWildcard"`
IsPrimary *bool `json:"-"`
AliasesHostnames []valueObject.Fqdn `json:"aliasesHostnames"`
CreatedBeforeAt *valueObject.UnixTime `json:"createdBeforeAt"`
CreatedAfterAt *valueObject.UnixTime `json:"createdAfterAt"`
}

type VirtualHostWithMappings struct {
entity.VirtualHost
Mappings []entity.Mapping `json:"mappings"`
}

type ReadVirtualHostsResponse struct {
Pagination Pagination `json:"pagination"`
VirtualHosts []entity.VirtualHost `json:"virtualHosts"`
VirtualHostWithMappings []VirtualHostWithMappings `json:"virtualHostWithMappings"`
}
24 changes: 0 additions & 24 deletions src/domain/dto/replaceWithValidSsl.go

This file was deleted.

24 changes: 24 additions & 0 deletions src/domain/dto/updateVirtualHost.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package dto

import "github.com/goinfinite/os/src/domain/valueObject"

type UpdateVirtualHost struct {
Hostname valueObject.Fqdn `json:"hostname"`
IsWildcard *bool `json:"isWildcard"`
OperatorAccountId valueObject.AccountId `json:"-"`
OperatorIpAddress valueObject.IpAddress `json:"-"`
}

func NewUpdateVirtualHost(
hostname valueObject.Fqdn,
isWildcard *bool,
operatorAccountId valueObject.AccountId,
operatorIpAddress valueObject.IpAddress,
) UpdateVirtualHost {
return UpdateVirtualHost{
Hostname: hostname,
IsWildcard: isWildcard,
OperatorAccountId: operatorAccountId,
OperatorIpAddress: operatorIpAddress,
}
}
20 changes: 0 additions & 20 deletions src/domain/dto/virtualHostWithMappings.go

This file was deleted.

40 changes: 26 additions & 14 deletions src/domain/entity/mapping.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@ package entity
import "github.com/goinfinite/os/src/domain/valueObject"

type Mapping struct {
Id valueObject.MappingId `json:"id"`
Hostname valueObject.Fqdn `json:"-"`
Path valueObject.MappingPath `json:"path"`
MatchPattern valueObject.MappingMatchPattern `json:"matchPattern"`
TargetType valueObject.MappingTargetType `json:"targetType"`
TargetValue *valueObject.MappingTargetValue `json:"targetValue"`
TargetHttpResponseCode *valueObject.HttpResponseCode `json:"targetHttpResponseCode"`
Id valueObject.MappingId `json:"id"`
Hostname valueObject.Fqdn `json:"-"`
Path valueObject.MappingPath `json:"path"`
MatchPattern valueObject.MappingMatchPattern `json:"matchPattern"`
TargetType valueObject.MappingTargetType `json:"targetType"`
TargetValue *valueObject.MappingTargetValue `json:"targetValue"`
TargetHttpResponseCode *valueObject.HttpResponseCode `json:"targetHttpResponseCode"`
MarketplaceInstalledItemId *valueObject.MarketplaceItemId `json:"marketplaceInstalledItemId"`
MarketplaceInstalledItemName *valueObject.MarketplaceItemName `json:"marketplaceInstalledItemName"`
CreatedAt valueObject.UnixTime `json:"createdAt"`
UpdatedAt valueObject.UnixTime `json:"updatedAt"`
}

func NewMapping(
Expand All @@ -20,14 +24,22 @@ func NewMapping(
targetType valueObject.MappingTargetType,
targetValue *valueObject.MappingTargetValue,
targetHttpResponseCode *valueObject.HttpResponseCode,
marketplaceInstalledItemId *valueObject.MarketplaceItemId,
marketplaceInstalledItemName *valueObject.MarketplaceItemName,
createdAt valueObject.UnixTime,
updatedAt valueObject.UnixTime,
) Mapping {
return Mapping{
Id: id,
Hostname: hostname,
Path: path,
MatchPattern: matchPattern,
TargetType: targetType,
TargetValue: targetValue,
TargetHttpResponseCode: targetHttpResponseCode,
Id: id,
Hostname: hostname,
Path: path,
MatchPattern: matchPattern,
TargetType: targetType,
TargetValue: targetValue,
TargetHttpResponseCode: targetHttpResponseCode,
MarketplaceInstalledItemId: marketplaceInstalledItemId,
MarketplaceInstalledItemName: marketplaceInstalledItemName,
CreatedAt: createdAt,
UpdatedAt: updatedAt,
}
}
Loading
0