Skip to content

Commit

Permalink
Merge pull request #93 from foomo/v0.14.0
Browse files Browse the repository at this point in the history
refactor: use json md5 hash
  • Loading branch information
franklinkim authored Feb 28, 2025
2 parents 8612f89 + f2d17d0 commit a15d637
Show file tree
Hide file tree
Showing 26 changed files with 275 additions and 244 deletions.
21 changes: 21 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Contributing

If you want to submit a pull request to fix a bug or enhance an existing
feature, please first open an issue and link to that issue when you
submit your pull request.

If you have any questions about a possible submission, feel free to open
an issue too.

### Pull request process

1. Fork this repository
2. Create a branch in your fork to implement the changes. We recommend using
the issue number as part of your branch name, e.g. `1234-fixes`
3. Ensure that any documentation is updated with the changes that are required
by your fix.
4. Ensure that any samples are updated if the base image has been changed.
5. Submit the pull request. *Do not leave the pull request blank*. Explain exactly
what your changes are meant to do and provide simple steps on how to validate
your changes. Ensure that you reference the issue you created as well.
The pull request will be review before it is merged.
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: Bug Report
about: Report a bug you encountered
labels: bug
---
**What happened**:

**What you expected to happen**:

**How to reproduce it (as minimally and precisely as possible)**:

**Anything else we need to know?**:

**Environment**:
- Affected Version:
- OS (e.g: `cat /etc/os-release`):
- Others:
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
name: Enhancement Request
about: Suggest an enhancement
labels: enhancement
---
**What would you like to be added**:

**Why is this needed**:
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
### Type of Change
- [ ] New feature
- [ ] Bug fix
- [ ] Documentation update
- [ ] Refactoring
- [ ] Hotfix
- [ ] Security patch

### Description
_[Provide a detailed explanation of the changes you have made. Include the reasons behind these changes and any relevant context. Link any related issues.]_

### Related Issue
_[If this pull request addresses an issue, please link to it here (e.g., Fixes #123).]_

### Checklist
- [ ] My code adheres to the coding and style guidelines of the project.
- [ ] I have performed a self-review of my own code.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] I have made corresponding changes to the documentation.
45 changes: 45 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Security Guidelines

## How security is managed on this project

The foomo team and community take security seriously and wants to ensure that
we maintain a secure environment and provide secure solutions for the open
source community. To help us achieve these goals, please note the
following before using this software:

- Review the software license to understand the contributor's obligations in
terms of warranties and suitability for purpose
- For any questions or concerns about security, you can
[create an issue][new-issue] or [report a vulnerability][new-sec-issue]
- We request that you work with our security team and opt for
responsible disclosure using the guidelines below
- All security related issues and pull requests you make should be tagged with
"security" for easy identification
- Please monitor this repository and update your environment in a timely manner
as we release patches and updates

## Responsibly Disclosing Security Bugs

If you find a security bug in this repository, please work with contributors
following responsible disclosure principles and these guidelines:

- Do not submit a normal issue or pull request in our public repository, instead
[report it directly][new-sec-issue].
- We will review your submission and may follow up for additional details
- If you have a patch, we will review it and approve it privately; once approved
for release you can submit it as a pull request publicly in the repository (we
give credit where credit is due)
- We will keep you informed during our investigation, feel free to check in for
a status update
- We will release the fix and publicly disclose the issue as soon as possible,
but want to ensure we due properly due diligence before releasing
- Please do not publicly blog or post about the security issue until after we
have updated the public repo so that other downstream users have an opportunity
to patch

## Contact / Misc

If you have any questions, please reach out directly by [creating an issue][new-issue].

[new-issue]: https://github.com/foomo/sesamy-cli/issues/new/choose
[new-sec-issue]: https://github.com/foomo/sesamy-cli/security/advisories/new
13 changes: 5 additions & 8 deletions pkg/provider/conversionlinker/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,9 @@ import (
)

func Server(tm *tagmanager.TagManager, cfg config.ConversionLinker) error {
{
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

var eventTriggerOpts []trigger.ConversionLinkerEventOption
Expand All @@ -31,12 +28,12 @@ func Server(tm *tagmanager.TagManager, cfg config.ConversionLinker) error {
eventTriggerOpts = append(eventTriggerOpts, trigger.ConversionLinkerEventWithConsentMode(consentVariable))
}

eventTrigger, err := tm.UpsertTrigger(trigger.NewConversionLinkerEvent(NameConversionLinkerTrigger, eventTriggerOpts...))
eventTrigger, err := tm.UpsertTrigger(folder, trigger.NewConversionLinkerEvent(NameConversionLinkerTrigger, eventTriggerOpts...))
if err != nil {
return errors.Wrap(err, "failed to upsert event trigger: "+NameConversionLinkerTrigger)
}

if _, err := tm.UpsertTag(containertag.NewConversionLinker(Name, eventTrigger)); err != nil {
if _, err := tm.UpsertTag(folder, containertag.NewConversionLinker(Name, eventTrigger)); err != nil {
return err
}

Expand Down
11 changes: 4 additions & 7 deletions pkg/provider/cookiebot/web.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,9 @@ import (
)

func Web(tm *tagmanager.TagManager, cfg config.Cookiebot) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

{ // create event tags
Expand All @@ -22,7 +19,7 @@ func Web(tm *tagmanager.TagManager, cfg config.Cookiebot) error {
return errors.Wrapf(err, "Failed to lookup `%s`, please install the `%s` gallery tag template first (%s)", cfg.TemplateName, "Cookiebot CMP", "https://tagmanager.google.com/gallery/#/owners/cybotcorp/templates/gtm-templates-cookiebot-cmp")
}

if _, err := tm.UpsertTag(tag.NewCookiebotInitialization(NameCookiebotTag, cfg, temmplate)); err != nil {
if _, err := tm.UpsertTag(folder, tag.NewCookiebotInitialization(NameCookiebotTag, cfg, temmplate)); err != nil {
return err
}
}
Expand Down
19 changes: 8 additions & 11 deletions pkg/provider/criteo/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,9 @@ import (
)

func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

template, err := tm.LookupTemplate(NameCriteoEventsAPITemplate)
Expand All @@ -32,17 +29,17 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error
}

{ // create tags
callerID, err := tm.UpsertVariable(commonvariable.NewConstant(NameCallerID, cfg.CallerID))
callerID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameCallerID, cfg.CallerID))
if err != nil {
return err
}

partnerID, err := tm.UpsertVariable(commonvariable.NewConstant(NamePartnerID, cfg.PartnerID))
partnerID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NamePartnerID, cfg.PartnerID))
if err != nil {
return err
}

applicationID, err := tm.UpsertVariable(commonvariable.NewConstant(NameApplicationID, cfg.ApplicationID))
applicationID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameApplicationID, cfg.ApplicationID))
if err != nil {
return err
}
Expand All @@ -65,12 +62,12 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error
eventTriggerOpts = append(eventTriggerOpts, trigger.CriteoEventWithConsentMode(consentVariable))
}

eventTrigger, err := tm.UpsertTrigger(trigger.NewCriteoEvent(event, eventTriggerOpts...))
eventTrigger, err := tm.UpsertTrigger(folder, trigger.NewCriteoEvent(event, eventTriggerOpts...))
if err != nil {
return errors.Wrap(err, "failed to upsert event trigger: "+event)
}

if _, err := tm.UpsertTag(servertagx.NewEventsAPITag(event, callerID, partnerID, applicationID, template, eventTrigger)); err != nil {
if _, err := tm.UpsertTag(folder, servertagx.NewEventsAPITag(event, callerID, partnerID, applicationID, template, eventTrigger)); err != nil {
return err
}
}
Expand Down
15 changes: 6 additions & 9 deletions pkg/provider/criteo/web.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,9 @@ import (
)

func Web(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

template, err := tm.LookupTemplate(NameCriteoUserIdentificationTemplate)
Expand All @@ -28,17 +25,17 @@ func Web(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Criteo) error {
}

{ // setup criteo
callerID, err := tm.UpsertVariable(commonvariable.NewConstant(NameCallerID, cfg.CallerID))
callerID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameCallerID, cfg.CallerID))
if err != nil {
return err
}

partnerID, err := tm.UpsertVariable(commonvariable.NewConstant(NamePartnerID, cfg.PartnerID))
partnerID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NamePartnerID, cfg.PartnerID))
if err != nil {
return err
}

if _, err = tm.UpsertTag(client.NewUserIdentification(NameCriteoUserIdentificationTag, callerID, partnerID, template)); err != nil {
if _, err = tm.UpsertTag(folder, client.NewUserIdentification(NameCriteoUserIdentificationTag, callerID, partnerID, template)); err != nil {
return err
}
}
Expand Down
17 changes: 7 additions & 10 deletions pkg/provider/emarsys/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,13 @@ import (
)

func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

{ // conversion
merchantID, err := tm.UpsertVariable(commonvariable.NewConstant(NameMerchantIDConstant, cfg.MerchantID))
merchantID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameMerchantIDConstant, cfg.MerchantID))
if err != nil {
return err
}
Expand All @@ -41,7 +38,7 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error
return err
}

_, err = tm.UpsertClient(serverclientx.NewEmarsys(NameServerEmarsysClient, cfg, clientTemplate))
_, err = tm.UpsertClient(folder, serverclientx.NewEmarsys(NameServerEmarsysClient, cfg, clientTemplate))
if err != nil {
return err
}
Expand All @@ -65,12 +62,12 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Emarsys) error
eventTriggerOpts = append(eventTriggerOpts, trigger.EmarsysEventWithConsentMode(consentVariable))
}

eventTrigger, err := tm.UpsertTrigger(trigger.NewEmarsysEvent(event, eventTriggerOpts...))
eventTrigger, err := tm.UpsertTrigger(folder, trigger.NewEmarsysEvent(event, eventTriggerOpts...))
if err != nil {
return errors.Wrap(err, "failed to upsert event trigger: "+event)
}

if _, err := tm.UpsertTag(servertagx.NewEmarsys(event, merchantID, cfg.TestMode, cfg.DebugMode, tagTemplate, eventTrigger)); err != nil {
if _, err := tm.UpsertTag(folder, servertagx.NewEmarsys(event, merchantID, cfg.TestMode, cfg.DebugMode, tagTemplate, eventTrigger)); err != nil {
return err
}
}
Expand Down
13 changes: 5 additions & 8 deletions pkg/provider/emarsys/web.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,9 @@ import (
)

func Web(tm *tagmanager.TagManager, cfg config.Emarsys) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

{ // create initialization tag
Expand All @@ -27,7 +24,7 @@ func Web(tm *tagmanager.TagManager, cfg config.Emarsys) error {
return err
}

if _, err = tm.UpsertTag(tag.NewEmarsysInitialization(NameWebEmarsysInitalizationTag, tagTemplate)); err != nil {
if _, err = tm.UpsertTag(folder, tag.NewEmarsysInitialization(NameWebEmarsysInitalizationTag, tagTemplate)); err != nil {
return err
}
}
Expand Down Expand Up @@ -60,7 +57,7 @@ func Web(tm *tagmanager.TagManager, cfg config.Emarsys) error {
return errors.Wrap(err, "failed to lookup google tag event setting: "+event)
}

if _, err := tm.UpsertTag(containertag.NewGoogleAnalyticsEvent(event, tagID, eventSettings, eventTrigger)); err != nil {
if _, err := tm.UpsertTag(folder, containertag.NewGoogleAnalyticsEvent(event, tagID, eventSettings, eventTrigger)); err != nil {
return err
}
}
Expand Down
19 changes: 8 additions & 11 deletions pkg/provider/facebook/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,22 @@ import (
)

func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Facebook) error {
{ // create folder
if folder, err := tm.UpsertFolder("Sesamy - " + Name); err != nil {
return err
} else {
tm.SetFolderName(folder.Name)
}
folder, err := tm.UpsertFolder("Sesamy - " + Name)
if err != nil {
return err
}

pixelID, err := tm.UpsertVariable(commonvariable.NewConstant(NamePixelIDConstant, cfg.PixelID))
pixelID, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NamePixelIDConstant, cfg.PixelID))
if err != nil {
return err
}

apiAccessToken, err := tm.UpsertVariable(commonvariable.NewConstant(NameAPIAcessTokenConstant, cfg.APIAccessToken))
apiAccessToken, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameAPIAcessTokenConstant, cfg.APIAccessToken))
if err != nil {
return err
}

testEventToken, err := tm.UpsertVariable(commonvariable.NewConstant(NameTestEventTokenConstant, cfg.TestEventToken))
testEventToken, err := tm.UpsertVariable(folder, commonvariable.NewConstant(NameTestEventTokenConstant, cfg.TestEventToken))
if err != nil {
return err
}
Expand Down Expand Up @@ -65,12 +62,12 @@ func Server(l *slog.Logger, tm *tagmanager.TagManager, cfg config.Facebook) erro
eventTriggerOpts = append(eventTriggerOpts, trigger.FacebookEventWithConsentMode(consentVariable))
}

eventTrigger, err := tm.UpsertTrigger(trigger.NewFacebookEvent(event, eventTriggerOpts...))
eventTrigger, err := tm.UpsertTrigger(folder, trigger.NewFacebookEvent(event, eventTriggerOpts...))
if err != nil {
return errors.Wrap(err, "failed to upsert event trigger: "+event)
}

if _, err := tm.UpsertTag(servertagx.NewConversionsAPITag(event, pixelID, apiAccessToken, testEventToken, cfg.ServerContainer.Setting(event), template, eventTrigger)); err != nil {
if _, err := tm.UpsertTag(folder, servertagx.NewConversionsAPITag(event, pixelID, apiAccessToken, testEventToken, cfg.ServerContainer.Setting(event), template, eventTrigger)); err != nil {
return err
}
}
Expand Down
Loading

0 comments on commit a15d637

Please sign in to comment.