/
sberpay
/
AgeGate-iOS
Обзор
Документация
Войти
/
sberpay
/
AgeGate-iOS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
AgeGateSDK/Flow/AGTStepProvider.swift
34 строки
1 KB
SergeyGladkiy
[0.2.0] БДСЧ сценарий
30 июл 2026, 21:57
30 июл 2026, 21:57
cbcdfcb
Код
Авторство
О чём код?
// // AGTStepProvider.swift // AgeGateSDK // // Created by Гладкий Сергей Игоревич on 23.07.2026. // import Foundation /// Источник шагов. В боевой сборке — бэкенд, в отладочной — заглушка из JSON. /// Координатор не знает, с кем разговаривает. protocol AGTStepProvider: AnyObject { /// Сообщает бэкенду результат предыдущего шага и получает следующий. func next(after previous: AGTStep?, sessionId: String?) async throws -> AGTStep } /// Боевая реализация: спрашивает бэкенд. final class AGTRemoteStepProvider: AGTStepProvider { private let partnerId: String private let request: AGTRequest init(partnerId: String, request: AGTRequest) { self.partnerId = partnerId self.request = request } func next(after previous: AGTStep?, sessionId: String?) async throws -> AGTStep { // TODO: POST /flow/next с телом { orderId, sessionId, completedStep }. /// Ответ: { "step": "...", "payload": { ... }, "sessionId": "..." }. throw AGTError(.serverError, message: "сетевой слой ещё не подключён") } }