Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14ddd3bc9c | ||
|
|
fbaa9a48f3 | ||
|
|
3ab81c2b6d | ||
|
|
5bfcb8e74b | ||
|
|
28b29802b9 | ||
|
|
6111912b49 | ||
|
|
2bb52371c8 | ||
|
|
1babde8766 | ||
|
|
84d04c08d8
|
||
|
|
643d4240dc
|
||
|
|
9398e36269
|
||
|
|
aedaaa1de7
|
||
|
|
a4317b4b22
|
||
|
|
c654aa2d2e
|
||
|
|
8751050126
|
||
|
|
77c0c99927
|
||
|
|
4a15dc926a
|
@@ -0,0 +1,56 @@
|
|||||||
|
name: Go Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-release:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v6
|
||||||
|
with:
|
||||||
|
go-version: '1.25.4'
|
||||||
|
|
||||||
|
- name: Create version
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
echo "Creating version"
|
||||||
|
|
||||||
|
VERSION="0.0.10"
|
||||||
|
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
|
||||||
|
BRANCH_REF="${{ gitea.ref }}"
|
||||||
|
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
|
||||||
|
PROJECT_TAG_RELEASE="v$VERSION-$BRANCH_NAME-$PROJECT_COMMIT_HASH-556"
|
||||||
|
|
||||||
|
echo "::set-output name=project_tag_release::$PROJECT_TAG_RELEASE"
|
||||||
|
|
||||||
|
echo "Version: $VERSION"
|
||||||
|
echo "Hash: $PROJECT_COMMIT_HASH"
|
||||||
|
echo "Branh ref: $BRANCH_REF"
|
||||||
|
echo "Branch: $BRANCH_NAME"
|
||||||
|
echo "Tag Release: $PROJECT_TAG_RELEASE"
|
||||||
|
|
||||||
|
- name: Print version
|
||||||
|
id: Version
|
||||||
|
run: |
|
||||||
|
echo "Printing version"
|
||||||
|
echo "Version: ${{ steps.version.outputs.project_tag_release }}"
|
||||||
|
|
||||||
|
- name: Create GitHub Release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ steps.version.outputs.project_tag_release }}
|
||||||
|
release_name: Release ${{ steps.version.outputs.project_tag_release }}
|
||||||
|
body: |
|
||||||
|
Release of version ${{ steps.version.outputs.project_tag_release }}
|
||||||
@@ -11,18 +11,17 @@ jobs:
|
|||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v4
|
uses: actions/setup-go@v6
|
||||||
with:
|
with:
|
||||||
go-version: '1.25.3'
|
go-version: '1.25.4'
|
||||||
|
- name: Configure Git for SSH
|
||||||
|
run: |
|
||||||
|
git config --global url."git@${{ secrets.GIT_HOST_ROOT }}:".insteadOf "https://${{ secrets.GIT_HOST_ROOT }}/"
|
||||||
|
go env -w GOPRIVATE=${{ secrets.GIT_HOST_ROOT }}/phoenix/*
|
||||||
|
|
||||||
- name: Download dependencies
|
- name: Download dependencies
|
||||||
run: go mod download
|
run: |
|
||||||
|
go mod download
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: go test -v ./... # Runs all tests in the project
|
run: go test -v ./... # Runs all tests in the project
|
||||||
|
|
||||||
- name: Run linter
|
|
||||||
uses: https://github.com/golangci/golangci-lint-action@v8
|
|
||||||
with:
|
|
||||||
go-version: '1.25.3'
|
|
||||||
version: latest
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
module git.kundeng.us/phoenix/textsender-models
|
module git.kundeng.us/phoenix/textsender-models
|
||||||
|
|
||||||
go 1.25.3
|
go 1.25.4
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/golang-jwt/jwt/v5 v5.3.0
|
github.com/golang-jwt/jwt/v5 v5.3.0
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
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)
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package contact
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Contact struct {
|
||||||
|
Id uuid.UUID `json:"id,omitempty"`
|
||||||
|
PhoneNumber string `json:"phone_number,omitempty"`
|
||||||
|
UserId uuid.UUID `json:"user_id,omitempty"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package message
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Message struct {
|
||||||
|
Id uuid.UUID `json:"id"`
|
||||||
|
Content string `json:"content,omitempty"`
|
||||||
|
UserId uuid.UUID `json:"user_id"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package scheduling
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ScheduledMessageEvent struct {
|
||||||
|
Id uuid.UUID `json:"id"`
|
||||||
|
RecipientId uuid.UUID `json:"recipient_id"`
|
||||||
|
MessageId uuid.UUID `json:"message_id"`
|
||||||
|
ScheduledMessageId uuid.UUID `json:"scheduled_message_id"`
|
||||||
|
Created time.Time `json:"created"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package scheduling
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ScheduledMessage struct {
|
||||||
|
Id uuid.UUID `json:"id"`
|
||||||
|
Scheduled time.Time `json:"scheduled"`
|
||||||
|
Created time.Time `json:"created"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
UserId uuid.UUID `json:"user_id"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package scheduling
|
||||||
|
|
||||||
|
const (
|
||||||
|
Ready = "READY"
|
||||||
|
Pending = "PENDING"
|
||||||
|
Processing = "PROCESSING"
|
||||||
|
Done = "DONE"
|
||||||
|
)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ServiceUser struct {
|
||||||
|
Id uuid.UUID `json:"id"`
|
||||||
|
Username string `json:"username,omitempty"`
|
||||||
|
Passphrase string `json:"passphrase,omitempty"`
|
||||||
|
Created *time.Time `json:"date_created,omitempty"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
)
|
||||||
|
|
||||||
|
type User struct {
|
||||||
|
Id uuid.UUID `json:"id"`
|
||||||
|
PhoneNumber string `json:"phone_number"`
|
||||||
|
Username string `json:"username"`
|
||||||
|
Password string `json:"password"`
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user