manager-service/ManagerService/DTOs/ApplicationInstanceDTO.cs
Thomas Fransolet 4e17c572ba Nom d'app, drapeau QR et liens stores par application
ApplicationInstance porte désormais AppName (traductions, jsonb),
IsQRCodeEnabled (défaut true) et les liens App Store / Play Store.
Une ligne existe par (instance, type d'app) : chaque réglage vaut
donc séparément pour le mobile et pour le web.

Les liens stores ne sont modifiables que par un SuperAdmin — c'est
Unov qui publie les apps —, contrôlé côté API et pas seulement masqué
dans l'UI.

La liste anonyme des apps expose le slug web et le nom de l'instance :
la page /download de visitapp-web n'a que l'instanceId d'un QR imprimé.

Réserve les slugs download, demo et api : un segment statique de
visitapp-web l'emporte sur [slug], l'instance serait inaccessible.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 11:42:07 +02:00

54 lines
1.4 KiB
C#

using Manager.DTOs;
using ManagerService.Data;
using System.Collections.Generic;
namespace ManagerService.DTOs
{
public class ApplicationInstanceDTO
{
public string id { get; set; }
public string instanceId { get; set; }
public AppType appType { get; set; }
public List<AppConfigurationLink> configurations { get; set; }
public string mainImageId { get; set; }
public string mainImageUrl { get; set; }
public string loaderImageId { get; set; }
public string loaderImageUrl { get; set; }
public string primaryColor { get; set; }
public string secondaryColor { get; set; }
public List<string> languages { get; set; }
public string sectionEventId { get; set; }
public SectionEventDTO? sectionEventDTO { get; set; }
public bool isAssistant { get; set; }
public bool hasStats { get; set; }
/// <summary>Slug web de l'Instance. Lecture seule, rempli par le contrôleur.</summary>
public string? webSlug { get; set; }
/// <summary>Nom de l'Instance. Lecture seule, rempli par le contrôleur.</summary>
public string? instanceName { get; set; }
public bool isQRCodeEnabled { get; set; } = true;
public List<TranslationDTO>? appName { get; set; }
public string? appStoreUrl { get; set; }
public string? playStoreUrl { get; set; }
}
}