Skip to content

Commit

Permalink
Improve docs, add missing default values
Browse files Browse the repository at this point in the history
  • Loading branch information
outadoc committed Dec 27, 2024
1 parent f882ec4 commit 913aa0b
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 81 deletions.
2 changes: 1 addition & 1 deletion core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ plugins {
}

group = "fr.outadoc.minipavi"
version = "0.0.1"
version = "0.0.2"

kotlin {
explicitApi()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ internal fun ServiceResponse.Command.mapToDTO(): ServiceResponseDTO.Command {
is ServiceResponse.Command.InputForm -> {
ServiceResponseDTO.Command.InputForm(
params = ServiceResponseDTO.Command.InputForm.Params(
x = x,
y = y,
x = cols,
y = lines,
length = length,
spaceChar = spaceChar,
prefill = prefill,
Expand All @@ -101,8 +101,8 @@ internal fun ServiceResponse.Command.mapToDTO(): ServiceResponseDTO.Command {
is ServiceResponse.Command.InputMessage -> {
ServiceResponseDTO.Command.InputMessage(
params = ServiceResponseDTO.Command.InputMessage.Params(
x = x,
y = y,
x = col,
y = line,
width = width,
height = height,
spaceChar = spaceChar,
Expand All @@ -116,10 +116,10 @@ internal fun ServiceResponse.Command.mapToDTO(): ServiceResponseDTO.Command {
is ServiceResponse.Command.InputText -> {
ServiceResponseDTO.Command.InputText(
params = ServiceResponseDTO.Command.InputText.Params(
x = x,
y = y,
x = col,
y = line,
length = length,
char = char,
char = substituteChar,
spaceChar = spaceChar,
prefill = prefill,
cursor = cursor.mapToDTO(),
Expand Down Expand Up @@ -178,19 +178,17 @@ internal fun <T : Any> GatewayRequestDTO.mapToDomain(
initialState: T
): GatewayRequest<T> {
return GatewayRequest(
payload = GatewayRequest.Payload(
gatewayVersion = payload.version,
sessionId = payload.uniqueId,
remoteAddress = payload.remoteAddress,
socketType = payload.socketType.mapToDomain(),
minitelVersion = payload.minitelVersion,
userInput = payload.content,
state = payload.context
.takeIf { context -> context.isNotEmpty() }
?.let { context -> Json.decodeFromString(serializer, context) }
?: initialState,
function = payload.function.mapToDomain()
),
gatewayVersion = payload.version,
sessionId = payload.uniqueId,
remoteAddress = payload.remoteAddress,
socketType = payload.socketType.mapToDomain(),
minitelVersion = payload.minitelVersion,
userInput = payload.content,
state = payload.context
.takeIf { context -> context.isNotEmpty() }
?.let { context -> Json.decodeFromString(serializer, context) }
?: initialState,
function = payload.function.mapToDomain(),
urlParams = urlParams
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,61 @@ package fr.outadoc.minipavi.core.model
* Données émises par la passerelle, à destination du service.
*/
public data class GatewayRequest<T : Any>(
val payload: Payload<T>,
/**
* Tableau associatif contenant les éventuels paramètres indiqués dans l'Url.
* Version de la passerelle.
*/
val urlParams: List<String>? = null,
) {
public data class Payload<T : Any>(
/**
* Version de la passerelle.
*/
val gatewayVersion: String,
val gatewayVersion: String,

/**
* Identifiant unique de l'utilisateur connecté au service.
*
* Les 4 derniers chiffres correspondent au code pin pour l'utilisation
* de l'accès WebMedia.
*/
val sessionId: String,
/**
* Identifiant unique de l'utilisateur connecté au service.
*
* Les 4 derniers chiffres correspondent au code pin pour l'utilisation
* de l'accès WebMedia.
*/
val sessionId: String,

/**
* Adresse IP (ou téléphone si connu) de
* l'utilisateur connecté
*/
val remoteAddress: String,
/**
* Adresse IP (ou téléphone si connu) de l'utilisateur connecté.
*/
val remoteAddress: String,

/**
* Type de la connexion.
*/
val socketType: SocketType,
/**
* Type de la connexion.
*/
val socketType: SocketType,

/**
* Trois caractères correspondant au type de Minitel, si connu. Sinon « ??? ».
*
* Ce champ n'est pas forcément initialisé dès la connexion.
*/
val minitelVersion: String,
/**
* Trois caractères correspondant au type de Minitel, si connu. Sinon `???`.
*
* Ce champ n'est pas forcément initialisé dès la connexion.
*/
val minitelVersion: String,

/**
* Tableau contenant la saisie de l'utilisateur.
*
* S'il s'agit d'une saisie de plusieurs lignes, chaque ligne est un élément du tableau.
* S'il n'y a qu'une seule ligne, la saisie est à l'indice « 0 » du tableau.
*/
val userInput: List<String>,
/**
* Tableau contenant la saisie de l'utilisateur.
*
* S'il s'agit d'une saisie de plusieurs lignes, chaque ligne est un élément du tableau.
* S'il n'y a qu'une seule ligne, la saisie est à l'indice `0` du tableau.
*/
val userInput: List<String>,

/**
* Données libres précédemment envoyées par le service.
*
* Sert à sauvegarder le contexte de l'utilisateur tout au long de sa visite du service.
*/
val state: T,
/**
* Données libres précédemment envoyées par le service.
*
* Sert à sauvegarder le contexte de l'utilisateur tout au long de sa visite du service.
*/
val state: T,

/**
* Touche de fonction ou évènement ayant initié cette requête.
*/
val function: Function
)
/**
* Touche de fonction ou évènement ayant initié cette requête.
*/
val function: Function,

/**
* Tableau associatif contenant les éventuels paramètres indiqués dans l'URL.
*/
val urlParams: List<String>? = null,
) {
public enum class SocketType {
WebSocket,
WebSocketSSL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,12 @@ public data class ServiceResponse<State : Any>(
/**
* Position de la colonne (1-40) de la zone de saisie.
*/
val x: Int,
val col: Int,

/**
* Position de la ligne (1-25) de la zone de saisie.
*/
val y: Int,
val line: Int,

/**
* Longueur de la zone de saisie (1-40).
Expand All @@ -84,7 +84,7 @@ public data class ServiceResponse<State : Any>(
* Si non vide, quel que soit le caractère tapé par l'utilisateur,
* ce caractère s'affichera (pour la saisie de mot de passe par exemple).
*/
val char: String,
val substituteChar: String = "",

/**
* Caractère pour affichage du champ de saisie (` ` ou `.` généralement).
Expand All @@ -94,7 +94,7 @@ public data class ServiceResponse<State : Any>(
/**
* Valeur de pré-remplissage du champ de saisie.
*/
val prefill: String,
val prefill: String = "",

/**
* Si `true`, le curseur sera visible, sinon `false`.
Expand All @@ -120,16 +120,22 @@ public data class ServiceResponse<State : Any>(
val submitWith: Set<FunctionKey> = setOf(FunctionKey.Envoi),
) : Command

/**
* Demande à la passerelle de gérer la saisie par l'utilisateur d’une zone
* de saisie de plusieurs lignes, de longueur définie.
*
* Généralement utilisée pour la saisie d’un message.
*/
public data class InputMessage(
/**
* Position de la colonne (1-40) de la zone de saisie.
*/
val x: Int,
val col: Int,

/**
* Position de la ligne (1-25) de la zone de saisie.
*/
val y: Int,
val line: Int,

/**
* Longueur de la zone de saisie (1-40).
Expand Down Expand Up @@ -180,12 +186,12 @@ public data class ServiceResponse<State : Any>(
/**
* Tableau des positions de la colonne (1-40) des zones de saisie.
*/
val x: List<Int>,
val cols: List<Int>,

/**
* Tableau des positions de la ligne (1-25) des zones de saisie.
*/
val y: List<Int>,
val lines: List<Int>,

/**
* Tableau des longueurs des zones de saisie (1-40).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ fun Application.helloWorld() {
state = HelloWorldState.TextFormatPage,
command =
ServiceResponse.Command.InputForm(
x = listOf(1),
y = listOf(19),
cols = listOf(1),
lines = listOf(19),
length = listOf(30),
),
content =
Expand Down
2 changes: 1 addition & 1 deletion videotex/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ plugins {
}

group = "fr.outadoc.minipavi"
version = "0.0.1"
version = "0.0.2"

kotlin {
explicitApi()
Expand Down

0 comments on commit 913aa0b

Please sign in to comment.