local matrix = import "lib/matrix.libsonnet";
local irc = import "lib/appservice-irc.libsonnet";
local telegram = import "lib/appservice-telegram.libsonnet";

matrix {
    local app = self,
    local cfg = app.cfg,
    cfg+:: {
        namespace: "matrix-0x3c",
        webDomain: "matrix.0x3c.pl",
        serverName: "0x3c.pl",

        images+: {
            # We are using patched version for 0x3c now, to not break other configs
            casProxy: "registry.k0.hswaw.net/informatic/oauth2-cas-proxy:0.1.5",
        },

        cas: {
            enable: true,
            oauth2: {
                clientID: "YCWg1Qor9YstKn_yAHB_NT3GFAGqbnDFzIwyI_fCUWI",
                clientSecret: (std.split(importstr "secrets/plain/cas-proxy-0x3c-oauth2-secret", "\n"))[0],
                scope: "read:accounts",
                authorizeURL: "https://0x3c.pl/oauth/authorize",
                tokenURL: "https://0x3c.pl/oauth/token",
                userinfoURL: "https://0x3c.pl/api/v1/accounts/verify_credentials",
            },
        },
    },

    riotConfig+:: {
        "brand": "Element - %s" % [cfg.serverName],
        "branding": {
            "welcomeBackgroundUrl": "https://media.0x3c.pl/file/0x3c-mastodon/0x3c-pixelsort.png"
        },
    },

    appservices: {
        "telegram-prod": telegram.AppServiceTelegram("prod") {
            cfg+: {
                image: cfg.images.appserviceTelegram,
                storageClassName: cfg.storageClassName,
                metadata: app.metadata("appservice-telegram-prod"),

                config+: {
                    homeserver+: {
                        address: "https://%s" % [cfg.webDomain],
                        domain: cfg.serverName,
                    },
                    appservice+: {
                        id: "telegram",
                        bot_avatar: "https://media.0x3c.pl/file/0x3c-mastodon/posejbot2.png",
                    },
                    telegram+: {
                        # not7cd: it may be convinient to use same bot credentials for both appservices
                        api_id: (std.split(importstr "secrets/plain/appservice-telegram-0x3c-api-id", "\n"))[0],
                        api_hash: (std.split(importstr "secrets/plain/appservice-telegram-0x3c-api-hash", "\n"))[0],
                        bot_token: (std.split(importstr "secrets/plain/appservice-telegram-0x3c-token", "\n"))[0],
                    },
                    bridge+: {
                        permissions+: {
                            "0x3c.pl": "puppeting",
                            "@not7cd:0x3c.pl": "admin", // propabbly
                            "@q3k:0x3c.pl": "admin",
                        },
                    },
                },
            },
        },
    },
}
