Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/amzn/smoke-framework-examples

Sample applications showing the usage of the SmokeFramework and related libraries.
https://github.com/amzn/smoke-framework-examples

Last synced: about 1 month ago
JSON representation

Sample applications showing the usage of the SmokeFramework and related libraries.

Awesome Lists containing this project

README

        



Build - main Branch

Linux

Swift 5.7 Compatible


Join the Smoke Server Side community on gitter

Apache 2

# SmokeFrameworkExamples

Sample services showing the usage of the [SmokeFramework](https://github.com/amzn/smoke-framework) and related libraries.

## EmptyExampleService

An example of a service as it is generated using [SmokeFrameworkApplicationGenerate](https://github.com/amzn/smoke-framework-application-generate)
with the command-

```bash
swift run -c release SmokeFrameworkApplicationGenerate \
--base-file-path ${workspaceRoot}/smoke-framework-examples/EmptyExampleService
```

## PersistenceExampleService

An example of a service using [SmokeDynamoDb](https://github.com/amzn/smoke-dynamodb) to store and retrieve data.
Initially generated using [SmokeFrameworkApplicationGenerate](https://github.com/amzn/smoke-framework-application-generate)
with the command-

```bash
swift run -c release SmokeFrameworkApplicationGenerate \
--base-file-path ${workspaceRoot}/smoke-framework-examples/PersistenceExampleService \
```

## NoExistentialTypesExampleService

A variant of `PersistenceExampleService` that uses a generic context. This will mean that at runtime calls from operation
handlers to the DynamoDB table in the context will directly use the concrete `AWSDynamoDBCompositePrimaryKeyTable`
type rather than first using an existential type of the `DynamoDBCompositePrimaryKeyTable` protocol (an additional layer of redirection).

## OtherServiceModel

A Swift package wrapper around an Open API 3.0 model. Allows this model to be used by codegen SwiftPM plugins in conjunction with a consuming package.

## OtherServiceSwiftClient

An example of a Swift Client created for an API Gateway-hosted API. Uses the Open API 3.0 model specified in `OtherServiceModel`.

## ClientConsumingSmokeFrameworkService

An example of a smoke-framework-based service that uses the `OtherServiceSwiftClient` in one of its operations.

## License

This library is licensed under the Apache 2.0 License.