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