Compare commits

..
19 Commits
Author SHA1 Message Date
phoenix ec371ec86b Breaking changes (#30)
Reviewed-on: phoenix/textsender-models#30
2026-01-01 20:33:38 +00:00
phoenixandphoenix f4e2336771 tsk-39: Rename RecipientId in scheduling.ScheduledMessageEvent (#40)
Closes #39

Reviewed-on: phoenix/textsender-models#40
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 23:24:02 +00:00
phoenixandphoenix 6f9e112b72 tsk-37: Add last login to service user (#38)
Closes #37

Reviewed-on: phoenix/textsender-models#38
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 22:38:39 +00:00
phoenixandphoenix 7c21f243ed tsk-33: Put TwilioConfig in its own package (#36)
Closes #33

Reviewed-on: phoenix/textsender-models#36
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 22:27:57 +00:00
phoenixandphoenix 7db9914bc4 tsk-29: Change type of Response from MessageEventResponse (#35)
Closes #29

Reviewed-on: phoenix/textsender-models#35
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 22:22:46 +00:00
phoenixandphoenix 564a3936e3 tsk-26: Put MessageEventResponse statuses in their own file (#34)
Closes #26

Reviewed-on: phoenix/textsender-models#34
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 22:15:32 +00:00
phoenixandphoenix 44848fdffd tsk-25: Change time references (#32)
Closes #25

Reviewed-on: phoenix/textsender-models#32
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 22:07:06 +00:00
phoenixandphoenix e894925996 tsk-23: Message enhancements (#31)
Closes #23

Reviewed-on: phoenix/textsender-models#31
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-31 21:52:47 +00:00
phoenixandphoenix 08f5938b79 tsk-24: Added IssuedAt to token.LoginResult (#28)
Closes #24

Reviewed-on: phoenix/textsender-models#28
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-30 23:48:45 +00:00
phoenixandphoenix 9be6fa9b34 tsk-22: Remove URI from config.TwilioConfig (#27)
Closes #22

Reviewed-on: phoenix/textsender-models#27
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-30 23:40:43 +00:00
phoenix 12bf453925 v0.0.12 (#16)
Reviewed-on: phoenix/textsender-models#16
2025-12-22 22:15:18 +00:00
phoenix 404ad1594b Version bump 2025-12-22 17:13:52 -05:00
phoenix bad958a592 Code formatting 2025-12-22 14:24:51 -05:00
phoenix 7915171bb2 Made values of constant uppercase and changed type of field 2025-12-22 14:24:33 -05:00
phoenixandphoenix f9b55b6bb7 tsk-15: Add User Id to LoginResult (#21)
Closes #15

Reviewed-on: phoenix/textsender-models#21
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-16 02:58:11 +00:00
phoenixandphoenix 245ff35e58 tsk-14: User improvements (#20)
Closes #14

Reviewed-on: phoenix/textsender-models#20
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-16 02:38:30 +00:00
phoenixandphoenix c4d195df4b tsk-13: Fix typo in TwilioConfig (#19)
Closes #13

Reviewed-on: phoenix/textsender-models#19
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-16 02:16:38 +00:00
phoenixandphoenix 8f7198ed7c tsk-12: Contact improvements (#18)
Closes #12

Reviewed-on: phoenix/textsender-models#18
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-15 20:58:47 +00:00
phoenixandphoenix 6bc3870698 tsk-11: Expand MessageEventResponse (#17)
Closes #11

Reviewed-on: phoenix/textsender-models#17
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-12-15 20:09:40 +00:00
14 changed files with 81 additions and 57 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
run: | run: |
echo "Creating version" echo "Creating version"
VERSION="0.0.11" VERSION="0.1.6"
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10) PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
BRANCH_REF="${{ gitea.ref }}" BRANCH_REF="${{ gitea.ref }}"
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3) BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
View File
+20
View File
@@ -0,0 +1,20 @@
package auxiliary
import (
"fmt"
)
type TwilioConfig struct {
AccountSID string `json:"auth_sid"`
ServiceSID string `json:"service_sid"`
AuthToken string `json:"auth_token"`
Number string `json:"phone_number"`
}
func (config *TwilioConfig) PrintConfig() {
fmt.Println("Twilio config")
fmt.Println("Account SID:", config.AccountSID)
fmt.Println("Service SID:", config.ServiceSID)
fmt.Println("Auth Token:", config.AuthToken)
fmt.Println("Number:", config.Number)
}
-21
View File
@@ -1,21 +0,0 @@
package config
import (
"fmt"
)
type TwiloConfig 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"`
}
func (config *TwiloConfig) PrintConfig() {
fmt.Printf("Account SID: %s\n", config.AccountSID)
fmt.Printf("Service SID: %s\n", config.ServiceSID)
fmt.Println("URI:", config.URI)
fmt.Printf("Auth Token: %s\n", config.AuthToken)
fmt.Printf("Number: %s\n", config.Number)
}
+6 -3
View File
@@ -5,7 +5,10 @@ import (
) )
type Contact struct { type Contact struct {
Id uuid.UUID `json:"id,omitempty"` Id *uuid.UUID `json:"id,omitempty"`
PhoneNumber string `json:"phone_number,omitempty"` Firstname *string `json:"first_name,omitempty"`
UserId uuid.UUID `json:"user_id,omitempty"` Lastname *string `json:"last_name,omitempty"`
Nickname *string `json:"nickname,omitempty"`
PhoneNumber string `json:"phone_number"`
UserId *uuid.UUID `json:"user_id,omitempty"`
} }
+18
View File
@@ -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"`
}
+6
View File
@@ -0,0 +1,6 @@
package event
const (
Message_Event_Response_Status_Instant = "INSTANT"
Message_Event_Response_Status_Scheduled = "SCHEDULED"
)
+3 -3
View File
@@ -5,7 +5,7 @@ import (
) )
type Message struct { type Message struct {
Id uuid.UUID `json:"id"` Id *uuid.UUID `json:"id,omitempty"`
Content string `json:"content,omitempty"` Content string `json:"content"`
UserId uuid.UUID `json:"user_id"` UserId *uuid.UUID `json:"user_id,omitempty"`
} }
-17
View File
@@ -1,17 +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"`
Sent time.Time `json:"sent"`
}
+1 -1
View File
@@ -8,7 +8,7 @@ import (
type ScheduledMessageEvent struct { type ScheduledMessageEvent struct {
Id uuid.UUID `json:"id"` Id uuid.UUID `json:"id"`
RecipientId uuid.UUID `json:"recipient_id"` ContactId uuid.UUID `json:"contact_id"`
MessageId uuid.UUID `json:"message_id"` MessageId uuid.UUID `json:"message_id"`
ScheduledMessageId uuid.UUID `json:"scheduled_message_id"` ScheduledMessageId uuid.UUID `json:"scheduled_message_id"`
Created time.Time `json:"created"` Created time.Time `json:"created"`
+10 -4
View File
@@ -11,8 +11,14 @@ type Claims struct {
jwt.RegisteredClaims jwt.RegisteredClaims
} }
type Login struct { type LoginResult struct {
AccessToken string `json:"access_token"` UserId uuid.UUID `json:"user_id"`
TokenType string `json:"token_type"` AccessToken string `json:"access_token"`
ExpiresIn int64 `json:"expires_in"` TokenType string `json:"token_type"`
ExpiresIn int64 `json:"expires_in"`
IssuedAt int64 `json:"issued_at"`
} }
// Alias for LoginResult
// Will be deprecated at some point
type Login = LoginResult
+1
View File
@@ -6,6 +6,7 @@ import (
"fmt" "fmt"
) )
// NOTE: Might end up removing this
type JSONB json.RawMessage type JSONB json.RawMessage
// Scan implements sql.Scanner // Scan implements sql.Scanner
+5 -3
View File
@@ -7,8 +7,10 @@ import (
) )
type ServiceUser struct { type ServiceUser struct {
Id uuid.UUID `json:"id"` Id uuid.UUID `json:"id"`
Username string `json:"username,omitempty"` // TODO: Remove the omitempty tags at a later point
Username string `json:"username,omitempty"`
Passphrase string `json:"passphrase,omitempty"` Passphrase string `json:"passphrase,omitempty"`
Created *time.Time `json:"date_created,omitempty"` Created time.Time `json:"created"`
LastLogin *time.Time `json:"last_login,omitempty"`
} }
+10 -4
View File
@@ -1,12 +1,18 @@
package user package user
import ( import (
"time"
"github.com/google/uuid" "github.com/google/uuid"
) )
type User struct { type User struct {
Id uuid.UUID `json:"id"` Id uuid.UUID `json:"id"`
PhoneNumber string `json:"phone_number"` PhoneNumber string `json:"phone_number"`
Username string `json:"username"` Username string `json:"username"`
Password string `json:"password"` Password string `json:"password"`
Firstname *string `json:"first_name,omitempty"`
Lastname *string `json:"last_name,omitempty"`
Created time.Time `json:"created"`
LastLogin *time.Time `json:"last_login,omitempty"`
} }