fix: formatting code using swiftlint and added env example

This commit is contained in:
Konrad Geletey 2024-10-19 23:14:02 +03:00
parent a11d671942
commit d1d0292045
Signed by: kglt
GPG key ID: 386DEE24B60BD996
6 changed files with 18 additions and 14 deletions

1
.env.example Normal file
View file

@ -0,0 +1 @@
TG_BOT_API=""

3
.gitignore vendored
View file

@ -6,3 +6,6 @@ DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc
.env
.env.*
!.env.example

2
.mise.toml Normal file
View file

@ -0,0 +1,2 @@
[tools]
swiftlint = "latest"

View file

@ -3,13 +3,12 @@
import PackageDescription
var packageDependencies: [Package.Dependency] = [
.package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "4.57.0")),
.package(url: "https://github.com/vapor/vapor.git", .upToNextMajor(from: "4.57.0"))
]
var targetDependencies: [PackageDescription.Target.Dependency] = [
.product(name: "Vapor", package: "vapor"),
.product(name: "Vapor", package: "vapor")
]
packageDependencies.append(.package(url: "https://github.com/nerzh/swift-telegram-sdk", .upToNextMajor(from: "3.0.3")))
@ -24,6 +23,6 @@ let package = Package(
.executableTarget(
name: "TelegramModeratorBot",
dependencies: targetDependencies
),
)
]
)

View file

@ -17,15 +17,15 @@ public enum TGHTTPMediaType: String, Equatable {
private struct TGEmptyParams: Encodable {}
public final class VaporTGClient: TGClientPrtcl {
public typealias HTTPMediaType = SwiftTelegramSdk.HTTPMediaType
public var log: Logging.Logger = .init(label: "VaporTGClient")
private let client: Vapor.Client
public init(client: Vapor.Client) {
self.client = client
}
@discardableResult
public func post<Params: Encodable, Response: Decodable>
(
@ -66,12 +66,12 @@ public final class VaporTGClient: TGClientPrtcl {
let telegramContainer: TGTelegramContainer = try clientResponse.content.decode(TGTelegramContainer<Response>.self)
return try processContainer(telegramContainer)
}
@discardableResult
public func post<Response: Decodable>(_ url: URL) async throws -> Response {
try await post(url, params: TGEmptyParams(), as: nil)
}
private func processContainer<T: Decodable>(_ container: TGTelegramContainer<T>) throws -> T {
guard container.ok else {
let desc = """
@ -86,7 +86,7 @@ public final class VaporTGClient: TGClientPrtcl {
log.error(error.logMessage)
throw error
}
guard let result = container.result else {
let error = BotError(
type: .server,
@ -95,14 +95,14 @@ public final class VaporTGClient: TGClientPrtcl {
log.error(error.logMessage)
throw error
}
let logString = """
Response:
Code: \(container.errorCode ?? 0)
Status OK: \(container.ok)
Description: \(container.description ?? "Empty")
"""
log.trace(logString.logMessage)
return result

View file

@ -1,4 +1,3 @@
/*
import Vapor