Skip to content

Update Index settings to follow changes in the Index configuration #18

@josecelano

Description

@josecelano

Relates to: torrust/torrust-index#591

The Index configuration has been changed (breaking changes). The new settings object:

{
  "data": {
    "logging": {
      "log_level": "info"
    },
    "website": {
      "name": "Torrust"
    },
    "tracker": {
      "api_url": "http://localhost:1212/",
      "mode": "public",
      "token": "***",
      "token_valid_seconds": 7257600,
      "url": "udp://localhost:6969"
    },
    "net": {
      "base_url": null,
      "bind_address": "0.0.0.0:3001",
      "tsl": null
    },
    "auth": {
      "email_on_signup": "optional",
      "secret_key": "***",
      "password_constraints": {
        "max_password_length": 64,
        "min_password_length": 6
      }
    },
    "database": {
      "connect_url": "sqlite://data.db?mode=rwc"
    },
    "mail": {
      "email_verification_enabled": false,
      "from": "[email protected]",
      "reply_to": "[email protected]",
      "smtp": {
        "port": 25,
        "server": "",
        "credentials": {
          "password": "***",
          "username": ""
        }
      }
    },
    "image_cache": {
      "capacity": 128000000,
      "entry_size_limit": 4000000,
      "max_request_timeout_ms": 1000,
      "user_quota_bytes": 64000000,
      "user_quota_period_seconds": 3600
    },
    "api": {
      "default_torrent_page_size": 10,
      "max_torrent_page_size": 30
    },
    "tracker_statistics_importer": {
      "port": 3002,
      "torrent_info_update_interval": 3600
    }
  }
}

For example:

Tracker:

pub enum TrackerMode {
    /// Will track every new info hash and serve every peer.
    #[serde(rename = "public")]
    Public,

    /// Will only track whitelisted info hashes.
    #[serde(rename = "listed")]
    Listed,

    /// Will only serve authenticated peers
    #[serde(rename = "private")]
    Private,

    /// Will only track whitelisted info hashes and serve authenticated peers
    #[serde(rename = "private_listed")]
    PrivateListed,
}

Index:

pub enum TrackerMode {
    /// Will track every new info hash and serve every peer.
    #[serde(rename = "public")]
    Public,

    /// Will only track whitelisted info hashes.
    #[serde(rename = "listed")]
    Listed,

    /// Will only serve authenticated peers
    #[serde(rename = "private")]
    Private,

    /// Will only track whitelisted info hashes and serve authenticated peers
    #[serde(rename = "private_listed")]
    PrivateListed,
}

This repo:

export enum TrackerMode {
    Public,
    Private,
    Whitelisted,
    PrivateWhitelisted
}

It should be:

export enum TrackerMode {
    Public,
    Listed,
    Private,
    PrivateListed
}

And we should add a serialization/deserialization from lowercase strings: public, listed, private, private_listed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions