Skip to content

Commit

Permalink
Add models
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew Farquharson authored and Andrew Farquharson committed Nov 1, 2023
1 parent 175af6d commit 8346fdc
Show file tree
Hide file tree
Showing 21 changed files with 649 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: SwiftLint

on:
push:
paths:
- '.github/workflows/swiftlint.yml'
- '.swiftlint.yml'
- '**/*.swift'

jobs:
SwiftLint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run SwiftLint
uses: norio-nomura/[email protected]
15 changes: 15 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Swift Tests

on:
push:
pull_request:
branches: [ develop ]

jobs:
test_focal:
container:
image: swift:5.7-focal
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: swift test --enable-test-discovery --sanitize=thread
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Packages
.build
xcuserdata
*.xcodeproj
DerivedData/
.DS_Store
db.sqlite
.swiftpm
Public/images/*
Public/presskits/*

!.gitkeep
187 changes: 187 additions & 0 deletions Package.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
{
"object": {
"pins": [
{
"package": "async-http-client",
"repositoryURL": "https://github.com/swift-server/async-http-client.git",
"state": {
"branch": null,
"revision": "16f7e62c08c6969899ce6cc277041e868364e5cf",
"version": "1.19.0"
}
},
{
"package": "async-kit",
"repositoryURL": "https://github.com/vapor/async-kit.git",
"state": {
"branch": null,
"revision": "7ece208cd401687641c88367a00e3ea2b04311f1",
"version": "1.19.0"
}
},
{
"package": "console-kit",
"repositoryURL": "https://github.com/vapor/console-kit.git",
"state": {
"branch": null,
"revision": "ccd0773b3ad3c67a19918aaef6903678592bb087",
"version": "4.9.0"
}
},
{
"package": "multipart-kit",
"repositoryURL": "https://github.com/vapor/multipart-kit.git",
"state": {
"branch": null,
"revision": "1adfd69df2da08f7931d4281b257475e32c96734",
"version": "4.5.4"
}
},
{
"package": "routing-kit",
"repositoryURL": "https://github.com/vapor/routing-kit.git",
"state": {
"branch": null,
"revision": "88077f2c9d12777dcc89562fa581888ff7ba14ae",
"version": "4.8.1"
}
},
{
"package": "swift-algorithms",
"repositoryURL": "https://github.com/apple/swift-algorithms.git",
"state": {
"branch": null,
"revision": "bcd4f369ac962bc3e5244c9df778739f8f5bdbf1",
"version": "1.1.0"
}
},
{
"package": "swift-atomics",
"repositoryURL": "https://github.com/apple/swift-atomics.git",
"state": {
"branch": null,
"revision": "cd142fd2f64be2100422d658e7411e39489da985",
"version": "1.2.0"
}
},
{
"package": "swift-collections",
"repositoryURL": "https://github.com/apple/swift-collections.git",
"state": {
"branch": null,
"revision": "a902f1823a7ff3c9ab2fba0f992396b948eda307",
"version": "1.0.5"
}
},
{
"package": "swift-crypto",
"repositoryURL": "https://github.com/apple/swift-crypto.git",
"state": {
"branch": null,
"revision": "b51f1d6845b353a2121de1c6a670738ec33561a6",
"version": "3.1.0"
}
},
{
"package": "swift-http-types",
"repositoryURL": "https://github.com/apple/swift-http-types",
"state": {
"branch": null,
"revision": "99d066e29effa8845e4761dd3f2f831edfdf8925",
"version": "1.0.0"
}
},
{
"package": "swift-log",
"repositoryURL": "https://github.com/apple/swift-log.git",
"state": {
"branch": null,
"revision": "532d8b529501fb73a2455b179e0bbb6d49b652ed",
"version": "1.5.3"
}
},
{
"package": "swift-metrics",
"repositoryURL": "https://github.com/apple/swift-metrics.git",
"state": {
"branch": null,
"revision": "971ba26378ab69c43737ee7ba967a896cb74c0d1",
"version": "2.4.1"
}
},
{
"package": "swift-nio",
"repositoryURL": "https://github.com/apple/swift-nio.git",
"state": {
"branch": null,
"revision": "853522d90871b4b63262843196685795b5008c46",
"version": "2.61.1"
}
},
{
"package": "swift-nio-extras",
"repositoryURL": "https://github.com/apple/swift-nio-extras.git",
"state": {
"branch": null,
"revision": "798c962495593a23fdea0c0c63fd55571d8dff51",
"version": "1.20.0"
}
},
{
"package": "swift-nio-http2",
"repositoryURL": "https://github.com/apple/swift-nio-http2.git",
"state": {
"branch": null,
"revision": "3bd9004b9d685ed6b629760fc84903e48efec806",
"version": "1.29.0"
}
},
{
"package": "swift-nio-ssl",
"repositoryURL": "https://github.com/apple/swift-nio-ssl.git",
"state": {
"branch": null,
"revision": "320bd978cceb8e88c125dcbb774943a92f6286e9",
"version": "2.25.0"
}
},
{
"package": "swift-nio-transport-services",
"repositoryURL": "https://github.com/apple/swift-nio-transport-services.git",
"state": {
"branch": null,
"revision": "ebf8b9c365a6ce043bf6e6326a04b15589bd285e",
"version": "1.20.0"
}
},
{
"package": "swift-numerics",
"repositoryURL": "https://github.com/apple/swift-numerics.git",
"state": {
"branch": null,
"revision": "0a5bc04095a675662cf24757cc0640aa2204253b",
"version": "1.0.2"
}
},
{
"package": "vapor",
"repositoryURL": "https://github.com/vapor/vapor.git",
"state": {
"branch": null,
"revision": "3bf4e73955d029743c233f127f4259a101a764f5",
"version": "4.85.0"
}
},
{
"package": "websocket-kit",
"repositoryURL": "https://github.com/vapor/websocket-kit.git",
"state": {
"branch": null,
"revision": "53fe0639a98903858d0196b699720decb42aee7b",
"version": "2.14.0"
}
}
]
},
"version": 1
}
23 changes: 23 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// swift-tools-version:5.5
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "rc-kit",
platforms: [
.macOS(.v12)
],
products: [
.library(name: "rc-kit", targets: ["rc-kit"]),
],
dependencies: [
.package(url: "https://github.com/vapor/vapor.git", from: "4.0.0")
],
targets: [
.target( name: "rc-kit", dependencies: [
.product(name: "Vapor", package: "vapor")
]),
.testTarget(name: "RCKitTests", dependencies: ["rc-kit"]),
]
)
17 changes: 17 additions & 0 deletions Sources/rc-kit/Models/RCCancelReason.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
//
// RCCancelReason.swift
//
//
// Created by Andrew Farquharson on 29/05/21.
//

import Foundation

enum RCCancelReason: String, Decodable {
case unsubscribe = "UNSUBSCRIBE"
case billingError = "BILLING_ERROR"
case developerInitiated = "DEVELOPER_INITIATED"
case priceIncrease = "PRICE_INCREASE"
case customerSupport = "CUSTOMER_SUPPORT"
case unknown
}
22 changes: 22 additions & 0 deletions Sources/rc-kit/Models/RCEntitlement.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// RCEntitlement.swift
//
//
// Created by Andrew Farquharson on 7/09/21.
//

import Vapor

struct RCEntitlement: Content {
let expiresAt: Date
let gracePeriodExpiresAt: Date?
let productIdentifier: String
let purchasedAt: Date

enum CodingKeys: String, CodingKey {
case expiresAt = "expires_date"
case gracePeriodExpiresAt = "grace_period_expires_date"
case productIdentifier = "product_identifier"
case purchasedAt = "purchase_date"
}
}
13 changes: 13 additions & 0 deletions Sources/rc-kit/Models/RCEnvironment.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// RCEnvironment.swift
//
//
// Created by Andrew Farquharson on 29/05/21.
//

import Foundation

enum RCEnvironment: String, Decodable {
case sandbox = "SANDBOX"
case production = "PRODUCTION"
}
Loading

0 comments on commit 8346fdc

Please sign in to comment.