From 863cd4ec5a2165d29ad1c651fc889882fc6278de Mon Sep 17 00:00:00 2001 From: Aleksandr Soloshenko Date: Sat, 9 May 2026 07:48:14 +0300 Subject: [PATCH] [deps] move JWT sopes to library --- go.mod | 2 +- go.sum | 4 +- .../handlers/devices/permissions.go | 6 ++- .../sms-gateway/handlers/inbox/permissions.go | 6 ++- .../sms-gateway/handlers/logs/permissions.go | 4 +- .../handlers/messages/permissions.go | 10 ++-- .../handlers/settings/permissions.go | 6 ++- .../handlers/thirdparty/permissions.go | 4 +- .../handlers/webhooks/permissions.go | 8 +-- internal/sms-gateway/openapi/docs.go | 52 ++++++++++++++++++- 10 files changed, 83 insertions(+), 19 deletions(-) diff --git a/go.mod b/go.mod index fcc29083..b3150348 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.25.0 require ( firebase.google.com/go/v4 v4.19.0 - github.com/android-sms-gateway/client-go v1.12.5 + github.com/android-sms-gateway/client-go v1.12.7-0.20260509043819-901904d2dcae github.com/ansrivas/fiberprometheus/v2 v2.6.1 github.com/capcom6/go-helpers v0.3.0 github.com/capcom6/go-infra-fx v0.5.2 diff --git a/go.sum b/go.sum index ec451ae5..eb4d8de1 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tN github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/android-sms-gateway/client-go v1.12.5 h1:LcfTIvtRxOujPxmtFfCjHuFiX5wFyjN9yqGE+82jZdw= -github.com/android-sms-gateway/client-go v1.12.5/go.mod h1:DQsReciU1xcaVW3T5Z2bqslNdsAwCFCtghawmA6g6L4= +github.com/android-sms-gateway/client-go v1.12.7-0.20260509043819-901904d2dcae h1:u9jWnKQ5LTNvMWCwmXUdTIEUvrruv/fgc3OwYK//DGY= +github.com/android-sms-gateway/client-go v1.12.7-0.20260509043819-901904d2dcae/go.mod h1:DQsReciU1xcaVW3T5Z2bqslNdsAwCFCtghawmA6g6L4= github.com/andybalholm/brotli v1.2.1 h1:R+f5xP285VArJDRgowrfb9DqL18yVK0gKAW/F+eTWro= github.com/andybalholm/brotli v1.2.1/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/ansrivas/fiberprometheus/v2 v2.6.1 h1:wac3pXaE6BYYTF04AC6K0ktk6vCD+MnDOJZ3SK66kXM= diff --git a/internal/sms-gateway/handlers/devices/permissions.go b/internal/sms-gateway/handlers/devices/permissions.go index 7f4eaf9d..18b72e70 100644 --- a/internal/sms-gateway/handlers/devices/permissions.go +++ b/internal/sms-gateway/handlers/devices/permissions.go @@ -1,6 +1,8 @@ package devices +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeList = "devices:list" - ScopeDelete = "devices:delete" + ScopeList = smsgateway.ScopeDevicesList + ScopeDelete = smsgateway.ScopeDevicesDelete ) diff --git a/internal/sms-gateway/handlers/inbox/permissions.go b/internal/sms-gateway/handlers/inbox/permissions.go index ea4932f7..3c98461c 100644 --- a/internal/sms-gateway/handlers/inbox/permissions.go +++ b/internal/sms-gateway/handlers/inbox/permissions.go @@ -1,6 +1,8 @@ package inbox +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeList = "inbox:list" - ScopeRefresh = "inbox:refresh" + ScopeList = smsgateway.ScopeInboxList + ScopeRefresh = smsgateway.ScopeInboxRefresh ) diff --git a/internal/sms-gateway/handlers/logs/permissions.go b/internal/sms-gateway/handlers/logs/permissions.go index 3b8781e7..26c76aa9 100644 --- a/internal/sms-gateway/handlers/logs/permissions.go +++ b/internal/sms-gateway/handlers/logs/permissions.go @@ -1,5 +1,7 @@ package logs +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeRead = "logs:read" + ScopeRead = smsgateway.ScopeLogsRead ) diff --git a/internal/sms-gateway/handlers/messages/permissions.go b/internal/sms-gateway/handlers/messages/permissions.go index 0ee4a714..f793c124 100644 --- a/internal/sms-gateway/handlers/messages/permissions.go +++ b/internal/sms-gateway/handlers/messages/permissions.go @@ -1,13 +1,15 @@ // Package messages defines permission scopes for message-related operations. package messages +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( // ScopeSend is the permission scope required for sending messages. - ScopeSend = "messages:send" + ScopeSend = smsgateway.ScopeMessagesSend // ScopeRead is the permission scope required for reading individual messages. - ScopeRead = "messages:read" + ScopeRead = smsgateway.ScopeMessagesRead // ScopeList is the permission scope required for listing messages. - ScopeList = "messages:list" + ScopeList = smsgateway.ScopeMessagesList // ScopeExport is the permission scope required for exporting messages. - ScopeExport = "messages:export" + ScopeExport = smsgateway.ScopeMessagesExport ) diff --git a/internal/sms-gateway/handlers/settings/permissions.go b/internal/sms-gateway/handlers/settings/permissions.go index 4185fbcb..aa819463 100644 --- a/internal/sms-gateway/handlers/settings/permissions.go +++ b/internal/sms-gateway/handlers/settings/permissions.go @@ -1,6 +1,8 @@ package settings +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeRead = "settings:read" - ScopeWrite = "settings:write" + ScopeRead = smsgateway.ScopeSettingsRead + ScopeWrite = smsgateway.ScopeSettingsWrite ) diff --git a/internal/sms-gateway/handlers/thirdparty/permissions.go b/internal/sms-gateway/handlers/thirdparty/permissions.go index 25489388..81fc1722 100644 --- a/internal/sms-gateway/handlers/thirdparty/permissions.go +++ b/internal/sms-gateway/handlers/thirdparty/permissions.go @@ -1,6 +1,8 @@ package thirdparty +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeTokensManage = "tokens:manage" + ScopeTokensManage = smsgateway.ScopeTokensManage ScopeTokensRefresh = "tokens:refresh" ) diff --git a/internal/sms-gateway/handlers/webhooks/permissions.go b/internal/sms-gateway/handlers/webhooks/permissions.go index 3b85213b..ede5cd03 100644 --- a/internal/sms-gateway/handlers/webhooks/permissions.go +++ b/internal/sms-gateway/handlers/webhooks/permissions.go @@ -1,7 +1,9 @@ package webhooks +import "github.com/android-sms-gateway/client-go/smsgateway" + const ( - ScopeList = "webhooks:list" - ScopeWrite = "webhooks:write" - ScopeDelete = "webhooks:delete" + ScopeList = smsgateway.ScopeWebhooksList + ScopeWrite = smsgateway.ScopeWebhooksWrite + ScopeDelete = smsgateway.ScopeWebhooksDelete ) diff --git a/internal/sms-gateway/openapi/docs.go b/internal/sms-gateway/openapi/docs.go index 0549f910..dcabfe9e 100644 --- a/internal/sms-gateway/openapi/docs.go +++ b/internal/sms-gateway/openapi/docs.go @@ -1752,6 +1752,43 @@ const docTemplate = `{ "IncomingMessageTypeMmsDownloaded" ] }, + "smsgateway.JWTScope": { + "type": "string", + "enum": [ + "devices:list", + "devices:delete", + "inbox:list", + "inbox:refresh", + "logs:read", + "messages:send", + "messages:read", + "messages:list", + "messages:export", + "settings:read", + "settings:write", + "tokens:manage", + "webhooks:list", + "webhooks:write", + "webhooks:delete" + ], + "x-enum-varnames": [ + "ScopeDevicesList", + "ScopeDevicesDelete", + "ScopeInboxList", + "ScopeInboxRefresh", + "ScopeLogsRead", + "ScopeMessagesSend", + "ScopeMessagesRead", + "ScopeMessagesList", + "ScopeMessagesExport", + "ScopeSettingsRead", + "ScopeSettingsWrite", + "ScopeTokensManage", + "ScopeWebhooksList", + "ScopeWebhooksWrite", + "ScopeWebhooksDelete" + ] + }, "smsgateway.LimitPeriod": { "type": "string", "enum": [ @@ -2038,11 +2075,24 @@ const docTemplate = `{ "maxLength": 21, "example": "PyDmBQZZXYmyxMwED8Fzy" }, + "messageTypes": { + "description": "MessageTypes is the list of message types to export. By default, SMS messages are exported.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/definitions/smsgateway.IncomingMessageType" + } + }, "since": { "description": "Since is the start of the time range to export.", "type": "string", "example": "2024-01-01T00:00:00Z" }, + "triggerWebhooks": { + "description": "TriggerWebhooks indicates whether to trigger webhooks for the exported messages.", + "type": "boolean", + "example": true + }, "until": { "description": "Until is the end of the time range to export.", "type": "string", @@ -2293,7 +2343,7 @@ const docTemplate = `{ "type": "array", "minItems": 1, "items": { - "type": "string" + "$ref": "#/definitions/smsgateway.JWTScope" } }, "ttl": {