import { User } from "../../types"; function login( fetch: any, loginUrl: string, tenantId: string, userData: { tenantUserId: string; nickname?: string; iconUrl?: string; phone?: string; } ): Promise { console.log("login with ", userData); return fetch(loginUrl, { method: "POST", credentials: "include", headers: { Accept: "application/json", "Content-Type": "application/json", "Brecap-Tenant-Id": tenantId, }, body: JSON.stringify({ username: userData?.tenantUserId, password: "anonymous_login", nickname: userData?.nickname, iconUrl: userData?.iconUrl, phone: userData?.phone, }), }) .then((response: any) => { if (response.status !== 200) { throw new Error("authentication failed: " + response.statusText); } return response.json(); }) .then((authInfo: any) => { console.log("auth info ", authInfo); if (authInfo.error) { throw new Error(authInfo.error); } return authInfo; }); } export default function (context: any) { return login( context.FETCH_FN, context.SERVER_URL + "/login", context.TENANT_ID, context.user ); }