diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index b95b525..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,33 +0,0 @@ - - -# *Name of the PR* - -## :recycle: Current situation & Problem -*Describe the current situation (if possible with and exemplary (or real) code snippet and/or where this is used)* - -## :bulb: Proposed solution -*Describe the solution and how this affects the project and internal structure* - -## :gear: Release Notes -*Add a short summary of the feature as well as possible migration guides if this is a breaking change so this section can be added to the release notes.* -*Include code snippets that provide examples of the feature implemented if it appends or changes the public interface.* - -## :heavy_plus_sign: Additional Information -*Provide some additional information if possible* - -### Related PRs -*Reference the related PRs* - -### Testing -*Are there tests included? If yes, which situations are tested and which corner cases are missing?* - -### Reviewer Nudging -*Where should the reviewer start, where is a good entry point?* diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml deleted file mode 100644 index b7d0ad4..0000000 --- a/.github/release-drafter.yml +++ /dev/null @@ -1,30 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -branches: [release] -name-template: '$NEXT_PATCH_VERSION' -tag-template: '$NEXT_PATCH_VERSION' -categories: - - title: 'Semantic Version Major' - labels: - - 'needs version bump' - - title: 'Semantic Version Minor' - labels: - - 'feature' - - 'enhancement' - - title: 'Other Changes' - labels: - - 'fix' - - 'bugfix' - - 'bug' - - 'documentation' -change-template: '- $TITLE @$AUTHOR (#$NUMBER)' -template: | - ## Changes - - $CHANGES \ No newline at end of file diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml deleted file mode 100644 index e8aeb0f..0000000 --- a/.github/workflows/build-and-test.yml +++ /dev/null @@ -1,102 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: Build and Test - -on: - push: - branches: - - develop - pull_request: - branches: - - develop - workflow_dispatch: - -jobs: - macosclient: - name: macOS Client - runs-on: macos-11 - steps: - - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1.1 - with: - xcode-version: latest - - name: Check Xcode version - run: xcodebuild -version - - name: Check Swift version - run: swift --version - - name: Build and test - run: xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 13' - macoswebservice: - name: macOS WebService ${{ matrix.configuration }} - runs-on: macos-11 - defaults: - run: - working-directory: ./WebService - strategy: - fail-fast: false - matrix: - configuration: [debug, release] - steps: - - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1.2.3 - with: - xcode-version: latest - - uses: actions/cache@v2 - with: - path: .build - key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - - name: Check Xcode version - run: xcodebuild -version - - name: Check Swift version - run: swift --version - - name: Release Build - if: matrix.configuration == 'release' - run: swift build -c release - - name: Debug Build - if: matrix.configuration == 'debug' - run: swift build -c debug - linuxwebservices: - name: Linux ${{ matrix.linux }} ${{ matrix.configuration }} - runs-on: ubuntu-latest - container: - image: swiftlang/swift:nightly-5.5-${{ matrix.linux }} - defaults: - run: - working-directory: ./WebService - strategy: - fail-fast: false - matrix: - linux: [bionic, focal, amazonlinux2, centos8] - configuration: [debug, release, release_testing] - steps: - - uses: actions/checkout@v2 - - name: Install libsqlite3 - if: ${{ !(startsWith( matrix.linux, 'centos' ) || startsWith( matrix.linux, 'amazonlinux' )) }} - run: apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev - - name: Install libsqlite3 - if: startsWith( matrix.linux, 'amazonlinux' ) - run: yum update -y && yum install -y sqlite-devel - - name: Install libsqlite3 - if: startsWith( matrix.linux, 'centos' ) - run: yum update -y --nobest && yum install -y sqlite-devel - - uses: actions/cache@v2 - with: - path: .build - key: ${{ runner.os }}-${{matrix.linux}}-spm-${{ hashFiles('**/Package.resolved') }} - - name: Check Swift version - run: swift --version - - name: Release Build - if: matrix.configuration == 'release' - run: swift build -c release - - name: Release Build & Test - if: matrix.configuration == 'release_testing' - run: swift test -c release -Xswiftc -enable-testing - - name: Debug Build & Test - if: matrix.configuration == 'debug' - run: swift test -c debug diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..c8ef06a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,44 @@ +# +# This source file is part of the Apodini open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +name: Build + +on: + push: + branches: + - develop + workflow_dispatch: + +jobs: + macosclient: + name: macOS Client + runs-on: macos-12 + steps: + - uses: actions/checkout@v2 + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest + - name: Check Environment + run: | + xcodebuild -version + swift --version + - name: Build and test + run: xcodebuild test -scheme App -destination 'platform=iOS Simulator,name=iPhone 13' + build_and_test: + name: Build and Test + uses: Apodini/.github/.github/workflows/build-and-test.yml@v1 + with: + packagename: WebService + aptgetdependencies: libsqlite3-dev + yumdependencies: sqlite-devel + path: ./WebService/ + docker-compose-test: + name: Docker Compose Test + uses: Apodini/.github/.github/workflows/docker-compose-test.yml@v1 + with: + testscript: test.sh diff --git a/.github/workflows/docker-compose.yml b/.github/workflows/docker-compose.yml deleted file mode 100644 index f58fbcb..0000000 --- a/.github/workflows/docker-compose.yml +++ /dev/null @@ -1,34 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: Build Docker Compose - -on: - push: - branches: - - develop - pull_request: - branches: - - develop - -jobs: - dockercompose: - name: Docker Compose Build and Test - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Start containers - run: docker-compose -f docker-compose-development.yml up -d --build - - name: Test web service - run: | - sleep 3 - curl --fail http://localhost/v1/contacts - - name: Stop containers - if: always() - run: docker-compose down diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index a335fed..0000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,49 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: Build Docker Image - -on: - release: - types: [published] - workflow_dispatch: - -jobs: - docker: - name: Docker Build and Push Image - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - name: Get latest tag - id: latesttag - uses: WyriHaximus/github-action-get-previous-tag@v1 - with: - fallback: latest - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up docker buildx - uses: docker/setup-buildx-action@v1 - with: - install: true - - name: Log in to the container registry - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push docker image - id: buildandpush - uses: docker/build-push-action@v2 - with: - context: . - file: ./WebService/Dockerfile - push: true - tags: ghcr.io/apodini/examplewebservice:latest,ghcr.io/apodini/examplewebservice:${{ steps.latesttag.outputs.tag }} - - name: Image digest - run: echo ${{ steps.buildandpush.outputs.digest }} diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..2c11ae2 --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,34 @@ +# +# This source file is part of the Apodini open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +name: Pull Request + +on: + pull_request: + workflow_dispatch: + +jobs: + build_and_test: + name: Build and Test + uses: Apodini/.github/.github/workflows/build-and-test.yml@v1 + with: + packagename: WebService + aptgetdependencies: libsqlite3-dev + yumdependencies: sqlite-devel + path: ./WebService/ + reuse_action: + name: REUSE Compliance Check + uses: Apodini/.github/.github/workflows/reuse.yml@v1 + swiftlint: + name: SwiftLint + uses: Apodini/.github/.github/workflows/swiftlint.yml@v1 + docker-compose-test: + name: Docker Compose Test + uses: Apodini/.github/.github/workflows/docker-compose-test.yml@v1 + with: + testscript: test.sh diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml deleted file mode 100644 index 7ba5ea1..0000000 --- a/.github/workflows/release-drafter.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: Release Drafter - -on: - push: - branches: - - develop - -jobs: - update_release_draft: - runs-on: ubuntu-latest - steps: - - uses: release-drafter/release-drafter@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 092e27a..0deaf99 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,23 +1,22 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# +# +# This source file is part of the Apodini open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# # SPDX-License-Identifier: MIT -# +# -name: Create Release +name: Release on: - push: - tags: - - '*.*.*' + release: + types: [published] + workflow_dispatch: jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Create GitHub Release - uses: softprops/action-gh-release@v0.1.5 - env: - GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} + docker-build-and-push: + name: Docker Build and Push + uses: Apodini/.github/.github/workflows/docker-build-and-push.yml@v1 + with: + docker-file: ./WebService/Dockerfile + image-name: apodini/template diff --git a/.github/workflows/reuseaction.yml b/.github/workflows/reuseaction.yml deleted file mode 100644 index 9e868bc..0000000 --- a/.github/workflows/reuseaction.yml +++ /dev/null @@ -1,22 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: REUSE Compliance Check - -on: - pull_request: - workflow_dispatch: - -jobs: - reuse: - name: REUSE Compliance Check - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: REUSE Compliance Check - uses: fsfe/reuse-action@v1 diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml deleted file mode 100644 index 68d1c30..0000000 --- a/.github/workflows/swiftlint.yml +++ /dev/null @@ -1,26 +0,0 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# -# SPDX-License-Identifier: MIT -# - -name: SwiftLint - -on: - pull_request: - workflow_dispatch: - -jobs: - swiftlint: - name: SwiftLint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: GitHub Action for SwiftLint - uses: norio-nomura/action-swiftlint@3.2.1 - with: - args: --strict - env: - DIFF_BASE: ${{ github.base_ref }} diff --git a/.github/workflows/spm-update.yml b/.github/workflows/update.yml similarity index 73% rename from .github/workflows/spm-update.yml rename to .github/workflows/update.yml index 0b14533..b9e5533 100644 --- a/.github/workflows/spm-update.yml +++ b/.github/workflows/update.yml @@ -1,31 +1,31 @@ -# -# This source file is part of the Apodini Example open source project -# -# SPDX-FileCopyrightText: 2018-2021 Paul Schmiedmayer and project authors (see CONTRIBUTORS.md) -# +# +# This source file is part of the Apodini open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# # SPDX-License-Identifier: MIT -# +# -name: Swift Package Update +name: Update on: schedule: - cron: '0 0 1 * *' workflow_dispatch: - + jobs: createPR: name: Create Pull Request runs-on: macos-11 steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1.1 + - uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: latest - - name: Check Xcode version - run: xcodebuild -version - - name: Check Swift version - run: swift --version + - name: Check Environment + run: | + xcodebuild -version + swift --version - name: Update Swift Packages Gateway run: cd ./Shared && swift package update - name: Update Swift Packages Database diff --git a/App/App.xcodeproj/project.pbxproj b/App/App.xcodeproj/project.pbxproj index ac3f906..d026ea7 100644 --- a/App/App.xcodeproj/project.pbxproj +++ b/App/App.xcodeproj/project.pbxproj @@ -8,7 +8,7 @@ /* Begin PBXBuildFile section */ 6539CEB326416A43004A62AB /* Shared in Frameworks */ = {isa = PBXBuildFile; productRef = 6539CEB226416A43004A62AB /* Shared */; }; - 659C4E0F26416CCF00B0EDAC /* Model in Frameworks */ = {isa = PBXBuildFile; productRef = 659C4E0E26416CCF00B0EDAC /* Model */; }; + 65BD651B2805795B0067C2F1 /* Model in Frameworks */ = {isa = PBXBuildFile; productRef = 65BD651A2805795B0067C2F1 /* Model */; }; 65EA13182651D1FC00381CEE /* AppTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65EA13172651D1FC00381CEE /* AppTests.swift */; }; 65EA13262651D20E00381CEE /* AppUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65EA13252651D20E00381CEE /* AppUITests.swift */; }; E89AF67C2640FB7300C38370 /* SampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = E89AF67B2640FB7300C38370 /* SampleApp.swift */; }; @@ -40,7 +40,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 6539CEAD264167D0004A62AB /* ExampleModel */ = {isa = PBXFileReference; lastKnownFileType = text; path = ExampleModel; sourceTree = SOURCE_ROOT; }; + 65BD6519280579490067C2F1 /* ExampleModel */ = {isa = PBXFileReference; lastKnownFileType = text; path = ExampleModel; sourceTree = SOURCE_ROOT; }; 65EA13152651D1FC00381CEE /* AppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 65EA13172651D1FC00381CEE /* AppTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppTests.swift; sourceTree = ""; }; 65EA13232651D20E00381CEE /* AppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -76,7 +76,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 659C4E0F26416CCF00B0EDAC /* Model in Frameworks */, + 65BD651B2805795B0067C2F1 /* Model in Frameworks */, 6539CEB326416A43004A62AB /* Shared in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -124,7 +124,7 @@ E89AF67A2640FB7300C38370 /* App */ = { isa = PBXGroup; children = ( - 6539CEAD264167D0004A62AB /* ExampleModel */, + 65BD6519280579490067C2F1 /* ExampleModel */, E89AF67B2640FB7300C38370 /* SampleApp.swift */, E89AF67D2640FB7300C38370 /* ContentView.swift */, E8FCF8C126540C69004C5E20 /* EditContactViewModel.swift */, @@ -199,7 +199,7 @@ name = App; packageProductDependencies = ( 6539CEB226416A43004A62AB /* Shared */, - 659C4E0E26416CCF00B0EDAC /* Model */, + 65BD651A2805795B0067C2F1 /* Model */, ); productName = SampleApp; productReference = E89AF6782640FB7300C38370 /* App.app */; @@ -630,7 +630,7 @@ isa = XCSwiftPackageProductDependency; productName = Shared; }; - 659C4E0E26416CCF00B0EDAC /* Model */ = { + 65BD651A2805795B0067C2F1 /* Model */ = { isa = XCSwiftPackageProductDependency; productName = Model; }; diff --git a/App/ExampleModel/Sources/Model/RestfulModel/RestfulModel.swift b/App/ExampleModel/Sources/Model/RestfulModel/RestfulModel.swift index 5dd53fe..8ac321e 100644 --- a/App/ExampleModel/Sources/Model/RestfulModel/RestfulModel.swift +++ b/App/ExampleModel/Sources/Model/RestfulModel/RestfulModel.swift @@ -13,7 +13,7 @@ import Shared public class RestfulModel: LocalStorageModel { static var baseURL: URL = { - guard let baseURL = URL(string: "http://localhost/v1/") else { + guard let baseURL = URL(string: "http://localhost/") else { fatalError("Could not create the base URL for the Web Service") } return baseURL @@ -83,7 +83,7 @@ public class RestfulModel: LocalStorageModel { Future { [self] promise in delete(id, in: \.contacts) .sink { _ in - refresh() + self.refresh() promise(.success(Void())) } .store(in: &cancellables) diff --git a/Example.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Example.xcworkspace/xcshareddata/swiftpm/Package.resolved index cbd74e1..9175c30 100644 --- a/Example.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Example.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -15,8 +15,17 @@ "repositoryURL": "https://github.com/Apodini/Apodini.git", "state": { "branch": null, - "revision": "b0d2936496168e2635122534451a8537b2679668", - "version": "0.6.2" + "revision": "c0d8d930bce0df495529b5576b521fcc7106ce36", + "version": "0.9.1" + } + }, + { + "package": "ApodiniDocumentExport", + "repositoryURL": "https://github.com/Apodini/ApodiniDocumentExport.git", + "state": { + "branch": null, + "revision": "0a3fe4195f011057ad2cd5150c9091f2a17c2ec1", + "version": "0.1.1" } }, { @@ -24,8 +33,8 @@ "repositoryURL": "https://github.com/Apodini/ApodiniMigrator.git", "state": { "branch": null, - "revision": "c2bb44275a82ec61de70e114d07eafc803d73f41", - "version": "0.1.4" + "revision": "10671191ddd8a19a61ac6cae06060d259dbfe9ce", + "version": "0.3.0" } }, { @@ -33,8 +42,8 @@ "repositoryURL": "https://github.com/Apodini/ApodiniTypeInformation.git", "state": { "branch": null, - "revision": "95109a6f3cf93a828d1b0adf2cdc299e31fe5e87", - "version": "0.2.1" + "revision": "40247bedd5153b7641e95a11bd826b16a15fd12e", + "version": "0.3.6" } }, { @@ -51,8 +60,8 @@ "repositoryURL": "https://github.com/swift-server/async-http-client.git", "state": { "branch": null, - "revision": "1081b0b0541f535ca088acdb56f5ca5598bc6247", - "version": "1.6.3" + "revision": "7a4dfe026f6ee0f8ad741b58df74c60af296365d", + "version": "1.9.0" } }, { @@ -60,8 +69,8 @@ "repositoryURL": "https://github.com/vapor/async-kit.git", "state": { "branch": null, - "revision": "3b1e7e9069a62295151c6c1609050cd38a0a7af5", - "version": "1.11.0" + "revision": "e2f741640364c1d271405da637029ea6a33f754e", + "version": "1.11.1" } }, { @@ -78,8 +87,8 @@ "repositoryURL": "https://github.com/vapor/fluent-kit.git", "state": { "branch": null, - "revision": "a3630ca9939bcb21b9f23c258764d82349f4d12d", - "version": "1.17.0" + "revision": "63c13b1fcc5266d35df676a8e75bbb602497f12b", + "version": "1.23.4" } }, { @@ -91,13 +100,31 @@ "version": "4.1.0" } }, + { + "package": "GraphQL", + "repositoryURL": "https://github.com/GraphQLSwift/GraphQL", + "state": { + "branch": null, + "revision": "283cc4de56b994a00b2724328221b7a1bc846ddc", + "version": "2.2.1" + } + }, + { + "package": "grpc-swift", + "repositoryURL": "https://github.com/grpc/grpc-swift.git", + "state": { + "branch": null, + "revision": "593fe0fe931f7e838969243cd137be48e8055b1d", + "version": "1.7.3" + } + }, { "package": "jmespath.swift", "repositoryURL": "https://github.com/adam-fowler/jmespath.swift.git", "state": { "branch": null, - "revision": "4a166ea71f0d9e9cc3523fc3dee516080a4c36a0", - "version": "1.0.0" + "revision": "4513d319c4aaa6c3b2ac18e1e6566a803515ad91", + "version": "1.0.2" } }, { @@ -105,8 +132,8 @@ "repositoryURL": "https://github.com/vapor/jwt-kit.git", "state": { "branch": null, - "revision": "1822bb0abf0a31a4b5078ec19061c548835253b5", - "version": "4.3.0" + "revision": "5f9c44d4c196cc06c3fc601f279169f121d6f62d", + "version": "4.4.0" } }, { @@ -114,8 +141,8 @@ "repositoryURL": "https://github.com/Apodini/MetadataSystem.git", "state": { "branch": null, - "revision": "06cac46a958fdf700054f12f682b5c8f27577c9f", - "version": "0.1.1" + "revision": "f655813f1953af8d3aaac432dad35f394e7bdf75", + "version": "0.1.6" } }, { @@ -123,8 +150,17 @@ "repositoryURL": "https://github.com/mattpolzin/OpenAPIKit.git", "state": { "branch": null, - "revision": "4986552e76c331a99770428bd2be77ad76068c08", - "version": "2.4.0" + "revision": "328d11996ccc43205bd861535021d8c22168a08a", + "version": "2.5.0" + } + }, + { + "package": "opentelemetry-swift", + "repositoryURL": "https://github.com/slashmo/opentelemetry-swift.git", + "state": { + "branch": null, + "revision": "6d3cc7c896b4dd426494ea59a5b67c9425b593cc", + "version": "0.2.0" } }, { @@ -159,8 +195,8 @@ "repositoryURL": "https://github.com/soto-project/soto.git", "state": { "branch": null, - "revision": "cd90cff19b892078c17baae08270707e3fc1590c", - "version": "5.11.0" + "revision": "b98994beabdced18cbedbe50e947e6f2c8e0d602", + "version": "5.12.1" } }, { @@ -168,8 +204,8 @@ "repositoryURL": "https://github.com/soto-project/soto-core.git", "state": { "branch": null, - "revision": "988f0d906f5c76cf93c88fa5820f7c72e4b8fd98", - "version": "5.8.0" + "revision": "3079d17f2576cff5f2a3f68865629af455c673d1", + "version": "5.9.3" } }, { @@ -177,8 +213,8 @@ "repositoryURL": "https://github.com/soto-project/soto-s3-file-transfer", "state": { "branch": null, - "revision": "6a35d736753d46f5dc76712855428de412967d94", - "version": "0.4.0" + "revision": "74899d6e9b95cfb9543993ece6aa56796cf6ba80", + "version": "0.4.2" } }, { @@ -195,8 +231,8 @@ "repositoryURL": "https://github.com/vapor/sql-kit.git", "state": { "branch": null, - "revision": "bfcaa637917faf2e2fbb4cec6aa45e9659c945b4", - "version": "3.14.0" + "revision": "afc74d888649f2b2a2f8cc7963be5eb179409610", + "version": "3.17.0" } }, { @@ -204,8 +240,8 @@ "repositoryURL": "https://github.com/vapor/sqlite-kit.git", "state": { "branch": null, - "revision": "2ec279b9c845cec254646834b66338551a024561", - "version": "4.0.2" + "revision": "0b3b12b032991de3ab5999b428a652ec29139746", + "version": "4.1.0" } }, { @@ -226,6 +262,15 @@ "version": "1.3.1" } }, + { + "package": "swift-algorithms", + "repositoryURL": "https://github.com/apple/swift-algorithms", + "state": { + "branch": null, + "revision": "b14b7f4c528c942f121c8b860b9410b2bf57825e", + "version": "1.0.0" + } + }, { "package": "swift-argument-parser", "repositoryURL": "https://github.com/apple/swift-argument-parser", @@ -235,6 +280,24 @@ "version": "0.4.4" } }, + { + "package": "swift-aws-lambda-runtime", + "repositoryURL": "https://github.com/swift-server/swift-aws-lambda-runtime.git", + "state": { + "branch": null, + "revision": "699ada1724459582303c15aae64fa12ca4d33809", + "version": "0.5.2" + } + }, + { + "package": "swift-backtrace", + "repositoryURL": "https://github.com/swift-server/swift-backtrace.git", + "state": { + "branch": null, + "revision": "d3e04a9d4b3833363fb6192065b763310b156d54", + "version": "1.3.1" + } + }, { "package": "swift-collections", "repositoryURL": "https://github.com/apple/swift-collections", @@ -249,8 +312,26 @@ "repositoryURL": "https://github.com/apple/swift-crypto.git", "state": { "branch": null, - "revision": "bd5abc2a123349b08a345d7d375db2a5d845ed35", - "version": "2.0.2" + "revision": "067254c79435de759aeef4a6a03e43d087d61312", + "version": "2.0.5" + } + }, + { + "package": "swift-distributed-tracing", + "repositoryURL": "https://github.com/apple/swift-distributed-tracing.git", + "state": { + "branch": null, + "revision": "7a89c904d80fd2dc7c6071806f38d5d0b2d5a1b5", + "version": "0.2.0" + } + }, + { + "package": "swift-distributed-tracing-baggage", + "repositoryURL": "https://github.com/apple/swift-distributed-tracing-baggage.git", + "state": { + "branch": null, + "revision": "c8457ce61adc6a3b9e6223ca147f5196f99e22cc", + "version": "0.2.3" } }, { @@ -285,8 +366,8 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "6aa9347d9bc5bbfe6a84983aec955c17ffea96ef", - "version": "2.33.0" + "revision": "d6e3762e0a5f7ede652559f53623baf11006e17c", + "version": "2.39.0" } }, { @@ -303,8 +384,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-http2.git", "state": { "branch": null, - "revision": "39ed0e753596afadad920e302ae769b28f3a982b", - "version": "1.19.0" + "revision": "50c25c132b140e62b45e90b5a76f13ded02c8a46", + "version": "1.20.1" } }, { @@ -312,8 +393,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-ssl.git", "state": { "branch": null, - "revision": "0324d60429870284810ba5bdb039640761bf10c9", - "version": "2.17.0" + "revision": "b5260a31c2a72a89fa684f5efb3054d8725a2316", + "version": "2.18.0" } }, { @@ -321,8 +402,26 @@ "repositoryURL": "https://github.com/apple/swift-nio-transport-services.git", "state": { "branch": null, - "revision": "e7f5278a26442dc46783ba7e063643d524e414a0", - "version": "1.11.3" + "revision": "8ab824b140d0ebcd87e9149266ddc353e3705a3e", + "version": "1.11.4" + } + }, + { + "package": "swift-numerics", + "repositoryURL": "https://github.com/apple/swift-numerics", + "state": { + "branch": null, + "revision": "0a5bc04095a675662cf24757cc0640aa2204253b", + "version": "1.0.2" + } + }, + { + "package": "SwiftProtobuf", + "repositoryURL": "https://github.com/apple/swift-protobuf.git", + "state": { + "branch": null, + "revision": "e1499bc69b9040b29184f7f2996f7bab467c1639", + "version": "1.19.0" } }, { @@ -330,8 +429,8 @@ "repositoryURL": "https://github.com/vapor/websocket-kit.git", "state": { "branch": null, - "revision": "b1c4df8f6c848c2e977726903bbe6578eed723ad", - "version": "2.2.0" + "revision": "e32033ad3c68ebec1b761bc961be7bd56bad02f8", + "version": "2.3.1" } }, { diff --git a/README.md b/README.md index f894448..9302d0f 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ You can test out the API by starting up the web service using the `$ docker comp **Create a New Contact Entry:** -`POST` at `/v1/contacts`, e.g. [`http://localhost/v1/contacts`](http://localhost/v1/contacts) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: +`POST` at `/contacts`, e.g. [`http://localhost/contacts`](http://localhost/contacts) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: ```json { "birthday": 648225181.40703702, @@ -55,26 +55,26 @@ You can try out the following curl command to set a request to the gateway: curl --header "Content-Type: application/json" \ --request POST \ --data '{"birthday": 648225181.40703702, "name": "Paul"}' \ - http://localhost/v1/contacts + http://localhost/contacts ``` **Get All Contacts or a Contact by ID** -`GET` at `/v1/contacts`, e.g. [`http://localhost/v1/contacts`](http://localhost/v1/contacts) that returns the stored contacts. +`GET` at `/contacts`, e.g. [`http://localhost/contacts`](http://localhost/contacts) that returns the stored contacts. You can try out the following curl command to get a list of contacts: ```bash -curl http://localhost/v1/contacts +curl http://localhost/contacts ``` -You can get a single contact using `GET` at `/v1/contacts/{contactID}`, e.g. [`http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) that returns the stored contacts. +You can get a single contact using `GET` at `/contacts/{contactID}`, e.g. [`http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) that returns the stored contacts. You can try out the following curl command to get a contact by ID: ```bash -curl http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F +curl http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F ``` **Update an Existing Contact:** -`POST` at `/v1/contacts/{contactID}`, e.g. [`http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: +`POST` at `/contacts/{contactID}`, e.g. [`http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: ```json { "birthday": 648225181.40703702, @@ -86,21 +86,21 @@ You can try out the following curl command to set a request to the gateway: curl --header "Content-Type: application/json" \ --request PUT \ --data '{"birthday": 648225181.40703702, "name": "Paul Schmiedmayer"}' \ - http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F + http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F ``` **Delete a Contact** -You can delete a contact using `DELETE` at `/v1/contacts/{contactID}`, e.g. [`http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F). +You can delete a contact using `DELETE` at `/contacts/{contactID}`, e.g. [`http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F). You can try out the following curl command to delete a contact: ```bash curl --request DELETE \ - http://localhost/v1/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F + http://localhost/contacts/E621E1F8-C36C-495A-93FC-0C247A3E6E5F ``` **Create a New Residence for a Contact:** -`POST` at `/v1/residencies/`, e.g. [`http://localhost/v1/residencies`](http://localhost/v1/residencies) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: +`POST` at `/residencies/`, e.g. [`http://localhost/residencies`](http://localhost/residencies) with a payload encoded in JSON (header `Content-Type` set to `application/json`) that encodes a contact: ```json { "address": "Munich", @@ -116,30 +116,30 @@ You can try out the following curl command to set a request to the gateway: curl --header "Content-Type: application/json" \ --request POST \ --data '{"address": "Munich", "contact": {"id": "E621E1F8-C36C-495A-93FC-0C247A3E6E5F"}, "country": "Germany", "postalCode": "80331"}' \ - http://localhost/v1/residencies + http://localhost/residencies ``` **Get All Residence or a Residence by ID for a Contact** -`GET` at `/v1/residencies`, e.g. [`http://localhost/v1/residencies`](http://localhost/v1/residencies) that returns the stored residencies. +`GET` at `/residencies`, e.g. [`http://localhost/residencies`](http://localhost/residencies) that returns the stored residencies. You can try out the following curl command to get a list of contacts: ```bash -curl http://localhost/v1/residencies +curl http://localhost/residencies ``` -You can get a single residencie using `GET` at `/v1/residencies/{residencieID}`, e.g. [`http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) that returns the stored residence. +You can get a single residencie using `GET` at `/residencies/{residencieID}`, e.g. [`http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F) that returns the stored residence. You can try out the following curl command to get a residence by ID: ```bash -curl http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F +curl http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F ``` **Delete a Residence by ID for a Contact** -You can delete a residence using `DELETE` at `/v1/residencies/{contactID}`, e.g. [`http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F). +You can delete a residence using `DELETE` at `/residencies/{contactID}`, e.g. [`http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F`](http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F). You can try out the following curl command to delete a residence: ```bash curl --request DELETE \ - http://localhost/v1/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F + http://localhost/residencies/E621E1F8-C36C-495A-93FC-0C247A3E6E5F ``` ### Client Application diff --git a/Shared/Package.resolved b/Shared/Package.resolved index 139ae58..6d5bd99 100644 --- a/Shared/Package.resolved +++ b/Shared/Package.resolved @@ -6,8 +6,8 @@ "repositoryURL": "https://github.com/vapor/async-kit.git", "state": { "branch": null, - "revision": "3b1e7e9069a62295151c6c1609050cd38a0a7af5", - "version": "1.11.0" + "revision": "e2f741640364c1d271405da637029ea6a33f754e", + "version": "1.11.1" } }, { @@ -15,8 +15,8 @@ "repositoryURL": "https://github.com/vapor/fluent-kit.git", "state": { "branch": null, - "revision": "a3630ca9939bcb21b9f23c258764d82349f4d12d", - "version": "1.17.0" + "revision": "63c13b1fcc5266d35df676a8e75bbb602497f12b", + "version": "1.23.4" } }, { @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/vapor/sql-kit.git", "state": { "branch": null, - "revision": "bfcaa637917faf2e2fbb4cec6aa45e9659c945b4", - "version": "3.14.0" + "revision": "afc74d888649f2b2a2f8cc7963be5eb179409610", + "version": "3.17.0" } }, { @@ -42,8 +42,8 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "37e7a33de45bac894c0b08b56a2f755ebe4884e6", - "version": "2.35.0" + "revision": "d6e3762e0a5f7ede652559f53623baf11006e17c", + "version": "2.39.0" } } ] diff --git a/Shared/Package.swift b/Shared/Package.swift index 9c59deb..ce1952e 100644 --- a/Shared/Package.swift +++ b/Shared/Package.swift @@ -24,7 +24,7 @@ let package = Package( ) ], dependencies: [ - .package(url: "https://github.com/vapor/fluent-kit.git", from: "1.17.0") + .package(url: "https://github.com/vapor/fluent-kit.git", from: "1.23.4") ], targets: [ .target( diff --git a/WebService/Package.resolved b/WebService/Package.resolved index cbd74e1..9175c30 100644 --- a/WebService/Package.resolved +++ b/WebService/Package.resolved @@ -15,8 +15,17 @@ "repositoryURL": "https://github.com/Apodini/Apodini.git", "state": { "branch": null, - "revision": "b0d2936496168e2635122534451a8537b2679668", - "version": "0.6.2" + "revision": "c0d8d930bce0df495529b5576b521fcc7106ce36", + "version": "0.9.1" + } + }, + { + "package": "ApodiniDocumentExport", + "repositoryURL": "https://github.com/Apodini/ApodiniDocumentExport.git", + "state": { + "branch": null, + "revision": "0a3fe4195f011057ad2cd5150c9091f2a17c2ec1", + "version": "0.1.1" } }, { @@ -24,8 +33,8 @@ "repositoryURL": "https://github.com/Apodini/ApodiniMigrator.git", "state": { "branch": null, - "revision": "c2bb44275a82ec61de70e114d07eafc803d73f41", - "version": "0.1.4" + "revision": "10671191ddd8a19a61ac6cae06060d259dbfe9ce", + "version": "0.3.0" } }, { @@ -33,8 +42,8 @@ "repositoryURL": "https://github.com/Apodini/ApodiniTypeInformation.git", "state": { "branch": null, - "revision": "95109a6f3cf93a828d1b0adf2cdc299e31fe5e87", - "version": "0.2.1" + "revision": "40247bedd5153b7641e95a11bd826b16a15fd12e", + "version": "0.3.6" } }, { @@ -51,8 +60,8 @@ "repositoryURL": "https://github.com/swift-server/async-http-client.git", "state": { "branch": null, - "revision": "1081b0b0541f535ca088acdb56f5ca5598bc6247", - "version": "1.6.3" + "revision": "7a4dfe026f6ee0f8ad741b58df74c60af296365d", + "version": "1.9.0" } }, { @@ -60,8 +69,8 @@ "repositoryURL": "https://github.com/vapor/async-kit.git", "state": { "branch": null, - "revision": "3b1e7e9069a62295151c6c1609050cd38a0a7af5", - "version": "1.11.0" + "revision": "e2f741640364c1d271405da637029ea6a33f754e", + "version": "1.11.1" } }, { @@ -78,8 +87,8 @@ "repositoryURL": "https://github.com/vapor/fluent-kit.git", "state": { "branch": null, - "revision": "a3630ca9939bcb21b9f23c258764d82349f4d12d", - "version": "1.17.0" + "revision": "63c13b1fcc5266d35df676a8e75bbb602497f12b", + "version": "1.23.4" } }, { @@ -91,13 +100,31 @@ "version": "4.1.0" } }, + { + "package": "GraphQL", + "repositoryURL": "https://github.com/GraphQLSwift/GraphQL", + "state": { + "branch": null, + "revision": "283cc4de56b994a00b2724328221b7a1bc846ddc", + "version": "2.2.1" + } + }, + { + "package": "grpc-swift", + "repositoryURL": "https://github.com/grpc/grpc-swift.git", + "state": { + "branch": null, + "revision": "593fe0fe931f7e838969243cd137be48e8055b1d", + "version": "1.7.3" + } + }, { "package": "jmespath.swift", "repositoryURL": "https://github.com/adam-fowler/jmespath.swift.git", "state": { "branch": null, - "revision": "4a166ea71f0d9e9cc3523fc3dee516080a4c36a0", - "version": "1.0.0" + "revision": "4513d319c4aaa6c3b2ac18e1e6566a803515ad91", + "version": "1.0.2" } }, { @@ -105,8 +132,8 @@ "repositoryURL": "https://github.com/vapor/jwt-kit.git", "state": { "branch": null, - "revision": "1822bb0abf0a31a4b5078ec19061c548835253b5", - "version": "4.3.0" + "revision": "5f9c44d4c196cc06c3fc601f279169f121d6f62d", + "version": "4.4.0" } }, { @@ -114,8 +141,8 @@ "repositoryURL": "https://github.com/Apodini/MetadataSystem.git", "state": { "branch": null, - "revision": "06cac46a958fdf700054f12f682b5c8f27577c9f", - "version": "0.1.1" + "revision": "f655813f1953af8d3aaac432dad35f394e7bdf75", + "version": "0.1.6" } }, { @@ -123,8 +150,17 @@ "repositoryURL": "https://github.com/mattpolzin/OpenAPIKit.git", "state": { "branch": null, - "revision": "4986552e76c331a99770428bd2be77ad76068c08", - "version": "2.4.0" + "revision": "328d11996ccc43205bd861535021d8c22168a08a", + "version": "2.5.0" + } + }, + { + "package": "opentelemetry-swift", + "repositoryURL": "https://github.com/slashmo/opentelemetry-swift.git", + "state": { + "branch": null, + "revision": "6d3cc7c896b4dd426494ea59a5b67c9425b593cc", + "version": "0.2.0" } }, { @@ -159,8 +195,8 @@ "repositoryURL": "https://github.com/soto-project/soto.git", "state": { "branch": null, - "revision": "cd90cff19b892078c17baae08270707e3fc1590c", - "version": "5.11.0" + "revision": "b98994beabdced18cbedbe50e947e6f2c8e0d602", + "version": "5.12.1" } }, { @@ -168,8 +204,8 @@ "repositoryURL": "https://github.com/soto-project/soto-core.git", "state": { "branch": null, - "revision": "988f0d906f5c76cf93c88fa5820f7c72e4b8fd98", - "version": "5.8.0" + "revision": "3079d17f2576cff5f2a3f68865629af455c673d1", + "version": "5.9.3" } }, { @@ -177,8 +213,8 @@ "repositoryURL": "https://github.com/soto-project/soto-s3-file-transfer", "state": { "branch": null, - "revision": "6a35d736753d46f5dc76712855428de412967d94", - "version": "0.4.0" + "revision": "74899d6e9b95cfb9543993ece6aa56796cf6ba80", + "version": "0.4.2" } }, { @@ -195,8 +231,8 @@ "repositoryURL": "https://github.com/vapor/sql-kit.git", "state": { "branch": null, - "revision": "bfcaa637917faf2e2fbb4cec6aa45e9659c945b4", - "version": "3.14.0" + "revision": "afc74d888649f2b2a2f8cc7963be5eb179409610", + "version": "3.17.0" } }, { @@ -204,8 +240,8 @@ "repositoryURL": "https://github.com/vapor/sqlite-kit.git", "state": { "branch": null, - "revision": "2ec279b9c845cec254646834b66338551a024561", - "version": "4.0.2" + "revision": "0b3b12b032991de3ab5999b428a652ec29139746", + "version": "4.1.0" } }, { @@ -226,6 +262,15 @@ "version": "1.3.1" } }, + { + "package": "swift-algorithms", + "repositoryURL": "https://github.com/apple/swift-algorithms", + "state": { + "branch": null, + "revision": "b14b7f4c528c942f121c8b860b9410b2bf57825e", + "version": "1.0.0" + } + }, { "package": "swift-argument-parser", "repositoryURL": "https://github.com/apple/swift-argument-parser", @@ -235,6 +280,24 @@ "version": "0.4.4" } }, + { + "package": "swift-aws-lambda-runtime", + "repositoryURL": "https://github.com/swift-server/swift-aws-lambda-runtime.git", + "state": { + "branch": null, + "revision": "699ada1724459582303c15aae64fa12ca4d33809", + "version": "0.5.2" + } + }, + { + "package": "swift-backtrace", + "repositoryURL": "https://github.com/swift-server/swift-backtrace.git", + "state": { + "branch": null, + "revision": "d3e04a9d4b3833363fb6192065b763310b156d54", + "version": "1.3.1" + } + }, { "package": "swift-collections", "repositoryURL": "https://github.com/apple/swift-collections", @@ -249,8 +312,26 @@ "repositoryURL": "https://github.com/apple/swift-crypto.git", "state": { "branch": null, - "revision": "bd5abc2a123349b08a345d7d375db2a5d845ed35", - "version": "2.0.2" + "revision": "067254c79435de759aeef4a6a03e43d087d61312", + "version": "2.0.5" + } + }, + { + "package": "swift-distributed-tracing", + "repositoryURL": "https://github.com/apple/swift-distributed-tracing.git", + "state": { + "branch": null, + "revision": "7a89c904d80fd2dc7c6071806f38d5d0b2d5a1b5", + "version": "0.2.0" + } + }, + { + "package": "swift-distributed-tracing-baggage", + "repositoryURL": "https://github.com/apple/swift-distributed-tracing-baggage.git", + "state": { + "branch": null, + "revision": "c8457ce61adc6a3b9e6223ca147f5196f99e22cc", + "version": "0.2.3" } }, { @@ -285,8 +366,8 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "6aa9347d9bc5bbfe6a84983aec955c17ffea96ef", - "version": "2.33.0" + "revision": "d6e3762e0a5f7ede652559f53623baf11006e17c", + "version": "2.39.0" } }, { @@ -303,8 +384,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-http2.git", "state": { "branch": null, - "revision": "39ed0e753596afadad920e302ae769b28f3a982b", - "version": "1.19.0" + "revision": "50c25c132b140e62b45e90b5a76f13ded02c8a46", + "version": "1.20.1" } }, { @@ -312,8 +393,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-ssl.git", "state": { "branch": null, - "revision": "0324d60429870284810ba5bdb039640761bf10c9", - "version": "2.17.0" + "revision": "b5260a31c2a72a89fa684f5efb3054d8725a2316", + "version": "2.18.0" } }, { @@ -321,8 +402,26 @@ "repositoryURL": "https://github.com/apple/swift-nio-transport-services.git", "state": { "branch": null, - "revision": "e7f5278a26442dc46783ba7e063643d524e414a0", - "version": "1.11.3" + "revision": "8ab824b140d0ebcd87e9149266ddc353e3705a3e", + "version": "1.11.4" + } + }, + { + "package": "swift-numerics", + "repositoryURL": "https://github.com/apple/swift-numerics", + "state": { + "branch": null, + "revision": "0a5bc04095a675662cf24757cc0640aa2204253b", + "version": "1.0.2" + } + }, + { + "package": "SwiftProtobuf", + "repositoryURL": "https://github.com/apple/swift-protobuf.git", + "state": { + "branch": null, + "revision": "e1499bc69b9040b29184f7f2996f7bab467c1639", + "version": "1.19.0" } }, { @@ -330,8 +429,8 @@ "repositoryURL": "https://github.com/vapor/websocket-kit.git", "state": { "branch": null, - "revision": "b1c4df8f6c848c2e977726903bbe6578eed723ad", - "version": "2.2.0" + "revision": "e32033ad3c68ebec1b761bc961be7bd56bad02f8", + "version": "2.3.1" } }, { diff --git a/WebService/Package.swift b/WebService/Package.swift index 300336c..7ea15c1 100644 --- a/WebService/Package.swift +++ b/WebService/Package.swift @@ -19,7 +19,7 @@ let package = Package( .executable(name: "WebService", targets: ["WebService"]) ], dependencies: [ - .package(url: "https://github.com/Apodini/Apodini.git", .upToNextMinor(from: "0.6.2")), + .package(url: "https://github.com/Apodini/Apodini.git", .upToNextMinor(from: "0.9.1")), .package(url: "https://github.com/vapor/fluent-sqlite-driver.git", from: "4.1.0"), .package(path: "../Shared") ], diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..8945dca --- /dev/null +++ b/test.sh @@ -0,0 +1,9 @@ +# +# This source file is part of the Apodini open source project +# +# SPDX-FileCopyrightText: 2019-2021 Paul Schmiedmayer and the Apodini project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +curl --fail http://localhost/contacts