Compare commits
21
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
801a314421
|
||
|
|
9565259dc1
|
||
|
|
f05a513926
|
||
|
|
39ecf052a0
|
||
|
|
2b5cb3a093
|
||
|
|
c2cde15189
|
||
|
|
b8e8621e0d
|
||
|
|
0bf24d929c
|
||
|
|
dcbc2609c4
|
||
|
|
f7baac328a | ||
|
|
c857772953 | ||
|
|
ec371ec86b | ||
|
|
f4e2336771 | ||
|
|
6f9e112b72 | ||
|
|
7c21f243ed | ||
|
|
7db9914bc4 | ||
|
|
564a3936e3 | ||
|
|
44848fdffd | ||
|
|
e894925996 | ||
|
|
08f5938b79 | ||
|
|
9be6fa9b34 |
@@ -18,14 +18,14 @@ jobs:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: '1.25.4'
|
||||
go-version: '1.26.2'
|
||||
|
||||
- name: Create version
|
||||
id: version
|
||||
run: |
|
||||
echo "Creating version"
|
||||
|
||||
VERSION="0.0.12"
|
||||
VERSION="0.2.1"
|
||||
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
|
||||
BRANCH_REF="${{ gitea.ref }}"
|
||||
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version: '1.25.4'
|
||||
go-version: '1.26.2'
|
||||
- name: Configure Git for SSH
|
||||
run: |
|
||||
git config --global url."git@${{ secrets.GIT_HOST_ROOT }}:".insteadOf "https://${{ secrets.GIT_HOST_ROOT }}/"
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
module git.kundeng.us/phoenix/textsender-models
|
||||
|
||||
go 1.25.4
|
||||
go 1.26.2
|
||||
|
||||
require (
|
||||
github.com/golang-jwt/jwt/v5 v5.3.0
|
||||
github.com/golang-jwt/jwt/v5 v5.3.1
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/stretchr/testify v1.11.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
@@ -1,4 +1,14 @@
|
||||
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
|
||||
github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY=
|
||||
github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package config
|
||||
package auxiliary
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
type TwilioConfig struct {
|
||||
AccountSID string `json:"auth_sid"`
|
||||
ServiceSID string `json:"service_sid"`
|
||||
URI string `json:"uri"`
|
||||
AuthToken string `json:"auth_token"`
|
||||
Number string `json:"phone_number"`
|
||||
}
|
||||
@@ -16,7 +15,6 @@ func (config *TwilioConfig) PrintConfig() {
|
||||
fmt.Println("Twilio config")
|
||||
fmt.Println("Account SID:", config.AccountSID)
|
||||
fmt.Println("Service SID:", config.ServiceSID)
|
||||
fmt.Println("URI:", config.URI)
|
||||
fmt.Println("Auth Token:", config.AuthToken)
|
||||
fmt.Println("Number:", config.Number)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package event
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
type MessageEventResponse struct {
|
||||
Id uuid.UUID `json:"id,omitempty"`
|
||||
ScheduledMessageEventId uuid.UUID `json:"scheduled_message_event_id,omitempty"`
|
||||
Response map[string]any `json:"response"`
|
||||
UserId uuid.UUID `json:"user_id,omitempty"`
|
||||
ContactId *uuid.UUID `json:"contact_id,omitempty"`
|
||||
MessageId *uuid.UUID `json:"message_id,omitempty"`
|
||||
Status string `json:"status"`
|
||||
Sent time.Time `json:"sent"`
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package event
|
||||
|
||||
const (
|
||||
Message_Event_Response_Status_Instant = "INSTANT"
|
||||
Message_Event_Response_Status_Scheduled = "SCHEDULED"
|
||||
)
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
)
|
||||
|
||||
type Message struct {
|
||||
Id uuid.UUID `json:"id"`
|
||||
Content string `json:"content,omitempty"`
|
||||
UserId uuid.UUID `json:"user_id"`
|
||||
Id *uuid.UUID `json:"id,omitempty"`
|
||||
Content string `json:"content"`
|
||||
UserId *uuid.UUID `json:"user_id,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package message
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
|
||||
"git.kundeng.us/phoenix/textsender-models/tx0/types"
|
||||
)
|
||||
|
||||
type MessageEventResponse struct {
|
||||
Id uuid.UUID `json:"id,omitempty"`
|
||||
ScheduledMessageEventId uuid.UUID `json:"scheduled_message_event_id,omitempty"`
|
||||
Response types.JSONB `json:"response"`
|
||||
UserId uuid.UUID `json:"user_id,omitempty"`
|
||||
ContactId *uuid.UUID `json:"contact_id,omitempty"`
|
||||
MessageId *uuid.UUID `json:"message_id,omitempty"`
|
||||
Status string `json:"status"`
|
||||
Sent time.Time `json:"sent"`
|
||||
}
|
||||
|
||||
const (
|
||||
Message_Event_Response_Status_Instant = "INSTANT"
|
||||
Message_Event_Response_Status_Scheduled = "SCHEDULED"
|
||||
)
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
type ScheduledMessageEvent struct {
|
||||
Id uuid.UUID `json:"id"`
|
||||
RecipientId uuid.UUID `json:"recipient_id"`
|
||||
ContactId uuid.UUID `json:"contact_id"`
|
||||
MessageId uuid.UUID `json:"message_id"`
|
||||
ScheduledMessageId uuid.UUID `json:"scheduled_message_id"`
|
||||
Created time.Time `json:"created"`
|
||||
|
||||
@@ -16,6 +16,7 @@ type LoginResult struct {
|
||||
AccessToken string `json:"access_token"`
|
||||
TokenType string `json:"token_type"`
|
||||
ExpiresIn int64 `json:"expires_in"`
|
||||
IssuedAt int64 `json:"issued_at"`
|
||||
}
|
||||
|
||||
// Alias for LoginResult
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// NOTE: Might end up removing this
|
||||
type JSONB json.RawMessage
|
||||
|
||||
// Scan implements sql.Scanner
|
||||
|
||||
@@ -7,8 +7,10 @@ import (
|
||||
)
|
||||
|
||||
type ServiceUser struct {
|
||||
Id uuid.UUID `json:"id"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Passphrase string `json:"passphrase,omitempty"`
|
||||
Created time.Time `json:"date_created"`
|
||||
Id uuid.UUID `json:"id"`
|
||||
// TODO: Remove the omitempty tags at a later point
|
||||
Username string `json:"username,omitempty"`
|
||||
Passphrase string `json:"passphrase,omitempty"`
|
||||
Created time.Time `json:"created"`
|
||||
LastLogin *time.Time `json:"last_login,omitempty"`
|
||||
}
|
||||
|
||||
+1
-1
@@ -13,6 +13,6 @@ type User struct {
|
||||
Password string `json:"password"`
|
||||
Firstname *string `json:"first_name,omitempty"`
|
||||
Lastname *string `json:"last_name,omitempty"`
|
||||
Created time.Time `json:"date_created"`
|
||||
Created time.Time `json:"created"`
|
||||
LastLogin *time.Time `json:"last_login,omitempty"`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package user
|
||||
|
||||
|
||||
type UserProfile struct {
|
||||
Usr *User `json:"user"`
|
||||
}
|
||||
|
||||
func InitUserProfile(usr *User) (usrProfile *UserProfile, done bool) {
|
||||
if usr == nil {
|
||||
return nil, false
|
||||
} else {
|
||||
userProfile = new(UserProfile)
|
||||
if len(usr.Password) > 0 {
|
||||
var newUsr User
|
||||
newUsr = *usr
|
||||
newUsr.Password = ""
|
||||
usrProfile.Usr = &newUsr
|
||||
|
||||
return usrProfile, true
|
||||
} else {
|
||||
usrProfile.Usr = usr
|
||||
return usrProfile, true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestInitUserProfile(t *testing.T) {
|
||||
usr := User{Username: "Bob", PhoneNumber: "+12224572351", Password: "TheNight!"}
|
||||
|
||||
profile, done := InitUserProfile(&usr)
|
||||
|
||||
assert.Equal(t, done, true, "Error")
|
||||
assert.NotEmpty(t, profile, "UserProfile is empty")
|
||||
}
|
||||
Reference in New Issue
Block a user