├── .editorconfig ├── .gitignore ├── .licenseignore ├── .swift-format ├── App ├── Package.swift ├── swift-chat.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata │ │ └── xcschemes │ │ └── swift-chat.xcscheme └── swift-chat │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── Info.plist │ ├── Main.swift │ ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json │ └── swift_chat.entitlements ├── LICENSE.txt ├── NOTICE.txt ├── Package.resolved ├── Package.swift ├── README.md └── Sources ├── Backend ├── Connection │ ├── Api.swift │ └── UserRoomConnections.swift ├── Mappers │ └── Message+Action.swift ├── Model │ ├── MessageEnvelope.swift │ ├── Room+Models.swift │ └── User+Models.swift ├── Room.swift ├── User.swift ├── openapi-generator-config.yaml └── openapi.yaml ├── CLIApp └── App.swift ├── Client ├── Empty.swift ├── openapi-generator-config.yaml └── openapi.yaml ├── Models ├── Models.swift ├── openapi-generator-config.yaml └── openapi.yaml ├── NativeApp ├── Clients │ ├── ChatClient.swift │ └── Client.swift ├── Features │ ├── Entrance │ │ ├── CreateRoomView.swift │ │ ├── CreateUserView.swift │ │ ├── Entrance.swift │ │ └── EntranceView.swift │ └── Room │ │ ├── Room.swift │ │ └── RoomView.swift └── Model │ ├── Error │ └── ParseMappingError.swift │ └── Presentation │ ├── ChatMessage+Presentation.swift │ ├── MessagePresentation.swift │ ├── Response+Presentation.swift │ ├── RoomPresentation.swift │ └── UserPresentation.swift ├── Persistence ├── Cache.swift ├── MemoryEventStore.swift ├── Model │ ├── RoomModel.swift │ └── UserModel.swift ├── Persistence.swift ├── Postgres.swift └── PostgresEventStore.swift ├── ServerApp ├── App.swift ├── Configuration │ └── PostgresConfig.swift └── Node │ ├── Daemon.swift │ ├── Frontend.swift │ └── Room.swift └── openapi.yaml /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/.gitignore -------------------------------------------------------------------------------- /.licenseignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/.licenseignore -------------------------------------------------------------------------------- /.swift-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/.swift-format -------------------------------------------------------------------------------- /App/Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/Package.swift -------------------------------------------------------------------------------- /App/swift-chat.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /App/swift-chat.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /App/swift-chat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /App/swift-chat.xcodeproj/xcshareddata/xcschemes/swift-chat.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat.xcodeproj/xcshareddata/xcschemes/swift-chat.xcscheme -------------------------------------------------------------------------------- /App/swift-chat/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /App/swift-chat/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /App/swift-chat/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /App/swift-chat/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Info.plist -------------------------------------------------------------------------------- /App/swift-chat/Main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Main.swift -------------------------------------------------------------------------------- /App/swift-chat/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /App/swift-chat/swift_chat.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/App/swift-chat/swift_chat.entitlements -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/NOTICE.txt -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/README.md -------------------------------------------------------------------------------- /Sources/Backend/Connection/Api.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Connection/Api.swift -------------------------------------------------------------------------------- /Sources/Backend/Connection/UserRoomConnections.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Connection/UserRoomConnections.swift -------------------------------------------------------------------------------- /Sources/Backend/Mappers/Message+Action.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Mappers/Message+Action.swift -------------------------------------------------------------------------------- /Sources/Backend/Model/MessageEnvelope.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Model/MessageEnvelope.swift -------------------------------------------------------------------------------- /Sources/Backend/Model/Room+Models.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Model/Room+Models.swift -------------------------------------------------------------------------------- /Sources/Backend/Model/User+Models.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Model/User+Models.swift -------------------------------------------------------------------------------- /Sources/Backend/Room.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/Room.swift -------------------------------------------------------------------------------- /Sources/Backend/User.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/User.swift -------------------------------------------------------------------------------- /Sources/Backend/openapi-generator-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Backend/openapi-generator-config.yaml -------------------------------------------------------------------------------- /Sources/Backend/openapi.yaml: -------------------------------------------------------------------------------- 1 | ../openapi.yaml -------------------------------------------------------------------------------- /Sources/CLIApp/App.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/CLIApp/App.swift -------------------------------------------------------------------------------- /Sources/Client/Empty.swift: -------------------------------------------------------------------------------- 1 | // Empty 2 | -------------------------------------------------------------------------------- /Sources/Client/openapi-generator-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Client/openapi-generator-config.yaml -------------------------------------------------------------------------------- /Sources/Client/openapi.yaml: -------------------------------------------------------------------------------- 1 | ../openapi.yaml -------------------------------------------------------------------------------- /Sources/Models/Models.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Models/Models.swift -------------------------------------------------------------------------------- /Sources/Models/openapi-generator-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Models/openapi-generator-config.yaml -------------------------------------------------------------------------------- /Sources/Models/openapi.yaml: -------------------------------------------------------------------------------- 1 | ../openapi.yaml -------------------------------------------------------------------------------- /Sources/NativeApp/Clients/ChatClient.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Clients/ChatClient.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Clients/Client.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Clients/Client.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Entrance/CreateRoomView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Entrance/CreateRoomView.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Entrance/CreateUserView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Entrance/CreateUserView.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Entrance/Entrance.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Entrance/Entrance.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Entrance/EntranceView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Entrance/EntranceView.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Room/Room.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Room/Room.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Features/Room/RoomView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Features/Room/RoomView.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Error/ParseMappingError.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Error/ParseMappingError.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Presentation/ChatMessage+Presentation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Presentation/ChatMessage+Presentation.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Presentation/MessagePresentation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Presentation/MessagePresentation.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Presentation/Response+Presentation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Presentation/Response+Presentation.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Presentation/RoomPresentation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Presentation/RoomPresentation.swift -------------------------------------------------------------------------------- /Sources/NativeApp/Model/Presentation/UserPresentation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/NativeApp/Model/Presentation/UserPresentation.swift -------------------------------------------------------------------------------- /Sources/Persistence/Cache.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/Cache.swift -------------------------------------------------------------------------------- /Sources/Persistence/MemoryEventStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/MemoryEventStore.swift -------------------------------------------------------------------------------- /Sources/Persistence/Model/RoomModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/Model/RoomModel.swift -------------------------------------------------------------------------------- /Sources/Persistence/Model/UserModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/Model/UserModel.swift -------------------------------------------------------------------------------- /Sources/Persistence/Persistence.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/Persistence.swift -------------------------------------------------------------------------------- /Sources/Persistence/Postgres.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/Postgres.swift -------------------------------------------------------------------------------- /Sources/Persistence/PostgresEventStore.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/Persistence/PostgresEventStore.swift -------------------------------------------------------------------------------- /Sources/ServerApp/App.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/ServerApp/App.swift -------------------------------------------------------------------------------- /Sources/ServerApp/Configuration/PostgresConfig.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/ServerApp/Configuration/PostgresConfig.swift -------------------------------------------------------------------------------- /Sources/ServerApp/Node/Daemon.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/ServerApp/Node/Daemon.swift -------------------------------------------------------------------------------- /Sources/ServerApp/Node/Frontend.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/ServerApp/Node/Frontend.swift -------------------------------------------------------------------------------- /Sources/ServerApp/Node/Room.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/ServerApp/Node/Room.swift -------------------------------------------------------------------------------- /Sources/openapi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akbashev/swift-chat/HEAD/Sources/openapi.yaml --------------------------------------------------------------------------------