2020-12-17 11:26:25 +01:00
|
|
|
import { InstancePrivacyType, InstanceTermsType, RoutingType } from "./enums";
|
2020-11-27 19:27:44 +01:00
|
|
|
import type { IProvider } from "./resource";
|
2019-12-20 13:04:34 +01:00
|
|
|
|
2020-10-29 10:24:39 +01:00
|
|
|
export interface IOAuthProvider {
|
|
|
|
id: string;
|
|
|
|
label: string;
|
|
|
|
}
|
|
|
|
|
2019-03-22 13:58:19 +01:00
|
|
|
export interface IConfig {
|
2019-03-21 20:23:42 +01:00
|
|
|
name: string;
|
2019-04-03 17:29:03 +02:00
|
|
|
description: string;
|
2020-06-19 19:27:10 +02:00
|
|
|
longDescription: string;
|
|
|
|
contact: string;
|
2020-10-21 17:49:18 +02:00
|
|
|
slogan: string;
|
2019-03-22 10:53:38 +01:00
|
|
|
|
2019-03-21 20:23:42 +01:00
|
|
|
registrationsOpen: boolean;
|
2020-09-29 09:53:48 +02:00
|
|
|
registrationsAllowlist: boolean;
|
2019-11-21 16:07:43 +01:00
|
|
|
demoMode: boolean;
|
2019-11-08 19:37:14 +01:00
|
|
|
countryCode: string;
|
2020-10-20 10:36:43 +02:00
|
|
|
languages: string[];
|
2019-11-08 19:37:14 +01:00
|
|
|
location: {
|
|
|
|
latitude: number;
|
|
|
|
longitude: number;
|
2020-06-09 15:20:07 +02:00
|
|
|
// accuracyRadius: number;
|
2019-11-08 19:37:14 +01:00
|
|
|
};
|
2019-12-20 13:04:34 +01:00
|
|
|
anonymous: {
|
|
|
|
participation: {
|
|
|
|
allowed: boolean;
|
|
|
|
validation: {
|
|
|
|
email: {
|
|
|
|
enabled: boolean;
|
|
|
|
confirmationRequired: boolean;
|
2020-02-18 08:57:00 +01:00
|
|
|
};
|
2019-12-20 13:04:34 +01:00
|
|
|
captcha: {
|
|
|
|
enabled: boolean;
|
2020-02-18 08:57:00 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2019-12-20 13:04:34 +01:00
|
|
|
eventCreation: {
|
|
|
|
allowed: boolean;
|
|
|
|
validation: {
|
|
|
|
email: {
|
|
|
|
enabled: boolean;
|
|
|
|
confirmationRequired: boolean;
|
2020-02-18 08:57:00 +01:00
|
|
|
};
|
2019-12-20 13:04:34 +01:00
|
|
|
captcha: {
|
2020-02-18 08:57:00 +01:00
|
|
|
enabled: boolean;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2020-06-09 14:07:49 +02:00
|
|
|
reports: {
|
|
|
|
allowed: boolean;
|
|
|
|
};
|
2020-02-18 08:57:00 +01:00
|
|
|
actorId: string;
|
2019-12-20 13:04:34 +01:00
|
|
|
};
|
2019-11-20 13:49:57 +01:00
|
|
|
maps: {
|
|
|
|
tiles: {
|
|
|
|
endpoint: string;
|
2020-02-18 08:57:00 +01:00
|
|
|
attribution: string | null;
|
|
|
|
};
|
2020-12-17 11:26:25 +01:00
|
|
|
routing: {
|
|
|
|
type: RoutingType;
|
|
|
|
};
|
2019-11-20 13:49:57 +01:00
|
|
|
};
|
|
|
|
geocoding: {
|
|
|
|
provider: string;
|
|
|
|
autocomplete: boolean;
|
|
|
|
};
|
2019-12-20 13:04:34 +01:00
|
|
|
terms: {
|
|
|
|
bodyHtml: string;
|
|
|
|
type: InstanceTermsType;
|
|
|
|
url: string;
|
|
|
|
};
|
2020-06-19 19:27:10 +02:00
|
|
|
privacy: {
|
|
|
|
bodyHtml: string;
|
|
|
|
type: InstancePrivacyType;
|
|
|
|
url: string;
|
|
|
|
};
|
2020-06-15 11:01:49 +02:00
|
|
|
rules: string;
|
2020-02-18 08:57:00 +01:00
|
|
|
resourceProviders: IProvider[];
|
|
|
|
timezones: string[];
|
2020-06-08 16:47:57 +02:00
|
|
|
features: {
|
2020-09-02 15:08:47 +02:00
|
|
|
eventCreation: boolean;
|
2020-06-08 16:47:57 +02:00
|
|
|
groups: boolean;
|
2021-05-18 16:33:32 +02:00
|
|
|
koenaConnect: boolean;
|
2020-06-08 16:47:57 +02:00
|
|
|
};
|
2020-06-19 19:27:10 +02:00
|
|
|
federating: boolean;
|
|
|
|
version: string;
|
2020-06-27 19:12:45 +02:00
|
|
|
auth: {
|
|
|
|
ldap: boolean;
|
|
|
|
oauthProviders: IOAuthProvider[];
|
|
|
|
};
|
2021-04-12 10:13:11 +02:00
|
|
|
uploadLimits: {
|
|
|
|
default: number;
|
|
|
|
avatar: number;
|
|
|
|
banner: number;
|
|
|
|
};
|
2021-04-19 12:40:51 +02:00
|
|
|
instanceFeeds: {
|
|
|
|
enabled: boolean;
|
|
|
|
};
|
2021-05-06 18:39:59 +02:00
|
|
|
webPush: {
|
|
|
|
enabled: boolean;
|
|
|
|
publicKey: string;
|
|
|
|
};
|
2020-06-27 19:12:45 +02:00
|
|
|
}
|