type Query {
    ping: String
    apiKeys(filter: [ApiKeyFilter], sort: [ApiKeySort], skip: Int, take: Int): ApiKeyResult

    permissions(filter: [PermissionFilter], sort: [PermissionSort], skip: Int, take: Int): PermissionResult
    roles(filter: [RoleFilter], sort: [RoleSort], skip: Int, take: Int): RoleResult

    users(filter: [UserFilter], sort: [UserSort], skip: Int, take: Int): UserResult
    user: User
    userHasPermission(permission: String!): Boolean
    userHasAnyPermission(permissions: [String]!): Boolean
    notExistingUsersFromKeycloak: [KeycloakUser]

    domains(filter: [DomainFilter], sort: [DomainSort], skip: Int, take: Int): DomainResult

    assignedUserSpaces: UserSpaceResult
    userSpaces(filter: [UserSpaceFilter], sort: [UserSpaceSort], skip: Int, take: Int): UserSpaceResult
    groups(filter: [GroupFilter], sort: [GroupSort], skip: Int, take: Int): GroupResult
    shortUrls(filter: [ShortUrlFilter], sort: [ShortUrlSort], skip: Int, take: Int): ShortUrlResult

    settings(key: String): [Setting]
    userSettings(key: String): [Setting]
    featureFlags(key: String): [FeatureFlag]
}