forked from NextGraph/nextgraph-rs
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.6 KiB
53 lines
1.6 KiB
use time::{Month,Date};
|
|
use std::collections::HashMap;
|
|
use lazy_static::lazy_static;
|
|
|
|
pub struct BSPDetail<'a> {
|
|
pub domain: &'a str,
|
|
// ISO-2 code
|
|
pub country: &'a str,
|
|
// email address of sys admin
|
|
pub sysadmin: &'a str,
|
|
// owned or rented
|
|
pub owned: bool,
|
|
pub since: Date,
|
|
pub has_free: bool,
|
|
pub has_paid: bool,
|
|
pub official: bool,
|
|
pub description: &'a str,
|
|
}
|
|
|
|
lazy_static! {
|
|
pub static ref BSP_DETAILS: HashMap<&'static str, BSPDetail<'static>> = {
|
|
let mut d = HashMap::new();
|
|
|
|
d.insert("https://nextgraph.eu", BSPDetail {
|
|
domain: "nextgraph.eu",
|
|
country: "de",
|
|
sysadmin: "team@nextgraph.org",
|
|
owned: false,
|
|
since: Date::from_calendar_date(2024, Month::September,2).unwrap(),
|
|
has_free: true,
|
|
has_paid: false,
|
|
official: true,
|
|
description: "First official Broker Service Provider from NextGraph.org. Based in Europe."
|
|
});
|
|
|
|
assert!(d.insert("https://nextgraph.one", BSPDetail {
|
|
domain: "nextgraph.one",
|
|
country: "de",
|
|
sysadmin: "team@nextgraph.org",
|
|
owned: false,
|
|
since: Date::from_calendar_date(2025, Month::April,20).unwrap(),
|
|
has_free: true,
|
|
has_paid: false,
|
|
official: true,
|
|
description: "Second official Broker Service Provider from NextGraph.org. Based in Europe, but that could change."
|
|
}).is_none());
|
|
|
|
d
|
|
};
|
|
pub static ref BSP_ORIGINS: Vec<&'static str> = {
|
|
BSP_DETAILS.keys().cloned().collect()
|
|
};
|
|
} |