import {AuthenticationExtension, Extension, HttpMethod, IServiceCall, ISession, SessionRequirement} from "@chaosinsight/portalclient" import type {IPortalResponse} from "../index" export default class SecureCookie extends AuthenticationExtension { public readonly authenticationType = "SecureCookie" protected readonly extensionName = "SecureCookie" public createGet(): IServiceCall> { return this.call("Create", null, HttpMethod.Get, SessionRequirement.authenticated) } public loginPost(guid: string, passwordGuid: string): IServiceCall> { return this.setAuthenticatedOnSuccess(this.call("Login", {guid, passwordGuid}, HttpMethod.Post, SessionRequirement.basic)) } } export interface ISecureCookie { Guid: string PasswordGuid: string } Extension.add(SecureCookie, "secureCookie") declare module "@chaosinsight/portalclient" { // tslint:disable-next-line interface ExtensionHandler { secureCookie: SecureCookie } }