{"version":3,"file":"users.mjs","names":[],"sources":["../src/api/users.ts"],"sourcesContent":["import type {\n\tLoginRequestDto,\n\tPasswordUpdateRequestDto,\n\tSettingsUpdateRequestDto,\n\tUserSelfSettingsUpdateRequestDto,\n\tUsersListFilterDto,\n\tUserUpdateRequestDto,\n\tUsersList,\n\tUser,\n} from '@n8n/api-types';\nimport type { AssignableGlobalRole, Scope } from '@n8n/permissions';\nimport type {\n\tFeatureFlagPayloads,\n\tFeatureFlags,\n\tIDataObject,\n\tIPersonalizationSurveyAnswersV4,\n\tIUserSettings,\n} from 'n8n-workflow';\n\nimport type { IRestApiContext } from '../types';\nimport { makeRestApiRequest } from '../utils';\n\nexport type IPersonalizationSurveyAnswersV1 = {\n\tcodingSkill?: string | null;\n\tcompanyIndustry?: string[] | null;\n\tcompanySize?: string | null;\n\totherCompanyIndustry?: string | null;\n\totherWorkArea?: string | null;\n\tworkArea?: string[] | string | null;\n};\n\nexport type IPersonalizationSurveyAnswersV2 = {\n\tversion: 'v2';\n\tautomationGoal?: string | null;\n\tcodingSkill?: string | null;\n\tcompanyIndustryExtended?: string[] | null;\n\tcompanySize?: string | null;\n\tcompanyType?: string | null;\n\tcustomerType?: string | null;\n\tmspFocus?: string[] | null;\n\tmspFocusOther?: string | null;\n\totherAutomationGoal?: string | null;\n\totherCompanyIndustryExtended?: string[] | null;\n};\n\nexport type IPersonalizationSurveyAnswersV3 = {\n\tversion: 'v3';\n\tautomationGoal?: string | null;\n\totherAutomationGoal?: string | null;\n\tcompanyIndustryExtended?: string[] | null;\n\totherCompanyIndustryExtended?: string[] | null;\n\tcompanySize?: string | null;\n\tcompanyType?: string | null;\n\tautomationGoalSm?: string[] | null;\n\tautomationGoalSmOther?: string | null;\n\tusageModes?: string[] | null;\n\temail?: string | null;\n};\n\nexport type IPersonalizationLatestVersion = IPersonalizationSurveyAnswersV4;\n\nexport type IPersonalizationSurveyVersions =\n\t| IPersonalizationSurveyAnswersV1\n\t| IPersonalizationSurveyAnswersV2\n\t| IPersonalizationSurveyAnswersV3\n\t| IPersonalizationSurveyAnswersV4;\n\nexport interface IUserResponse extends User {\n\tglobalScopes?: Scope[];\n\tpersonalizationAnswers?: IPersonalizationSurveyVersions | null;\n\tsettings?: IUserSettings | null;\n}\n\nexport interface CurrentUserResponse extends IUserResponse {\n\tfeatureFlags?: FeatureFlags;\n\tfeatureFlagPayloads?: FeatureFlagPayloads;\n}\n\nexport interface IUser extends IUserResponse {\n\tisDefaultUser: boolean;\n\tisPendingUser: boolean;\n\tinviteAcceptUrl?: string;\n\tfullName?: string;\n\tcreatedAt?: string;\n\tmfaEnabled: boolean;\n\tmfaAuthenticated?: boolean;\n}\n\nexport async function loginCurrentUser(\n\tcontext: IRestApiContext,\n): Promise<CurrentUserResponse | null> {\n\treturn await makeRestApiRequest(context, 'GET', '/login');\n}\n\nexport async function login(\n\tcontext: IRestApiContext,\n\tparams: LoginRequestDto,\n): Promise<CurrentUserResponse> {\n\treturn await makeRestApiRequest(context, 'POST', '/login', params);\n}\n\nexport async function logout(context: IRestApiContext): Promise<void> {\n\tawait makeRestApiRequest(context, 'POST', '/logout');\n}\n\nexport async function setupOwner(\n\tcontext: IRestApiContext,\n\tparams: { firstName: string; lastName: string; email: string; password: string },\n): Promise<CurrentUserResponse> {\n\treturn await makeRestApiRequest(\n\t\tcontext,\n\t\t'POST',\n\t\t'/owner/setup',\n\t\tparams as unknown as IDataObject,\n\t);\n}\n\nexport async function validateSignupToken(\n\tcontext: IRestApiContext,\n\tparams: { token: string },\n): Promise<{ inviter: { firstName: string; lastName: string } }> {\n\treturn await makeRestApiRequest(context, 'GET', '/resolve-signup-token', params);\n}\n\nexport async function sendForgotPasswordEmail(\n\tcontext: IRestApiContext,\n\tparams: { email: string },\n): Promise<void> {\n\tawait makeRestApiRequest(context, 'POST', '/forgot-password', params);\n}\n\nexport async function validatePasswordToken(\n\tcontext: IRestApiContext,\n\tparams: { token: string },\n): Promise<void> {\n\tawait makeRestApiRequest(context, 'GET', '/resolve-password-token', params);\n}\n\nexport async function changePassword(\n\tcontext: IRestApiContext,\n\tparams: { token: string; password: string; mfaCode?: string },\n): Promise<void> {\n\tawait makeRestApiRequest(context, 'POST', '/change-password', params);\n}\n\nexport async function updateCurrentUser(\n\tcontext: IRestApiContext,\n\tparams: UserUpdateRequestDto,\n): Promise<IUserResponse> {\n\treturn await makeRestApiRequest(context, 'PATCH', '/me', params);\n}\n\nexport async function updateCurrentUserSettings(\n\tcontext: IRestApiContext,\n\tsettings: UserSelfSettingsUpdateRequestDto,\n): Promise<IUserSettings> {\n\treturn await makeRestApiRequest(context, 'PATCH', '/me/settings', settings);\n}\n\nexport async function updateOtherUserSettings(\n\tcontext: IRestApiContext,\n\tuserId: string,\n\tsettings: SettingsUpdateRequestDto,\n): Promise<IUserSettings> {\n\treturn await makeRestApiRequest(context, 'PATCH', `/users/${userId}/settings`, settings);\n}\n\nexport async function updateCurrentUserPassword(\n\tcontext: IRestApiContext,\n\tparams: PasswordUpdateRequestDto,\n): Promise<void> {\n\treturn await makeRestApiRequest(context, 'PATCH', '/me/password', params);\n}\n\nexport async function deleteUser(\n\tcontext: IRestApiContext,\n\t{ id, transferId }: { id: string; transferId?: string },\n): Promise<void> {\n\tawait makeRestApiRequest(context, 'DELETE', `/users/${id}`, transferId ? { transferId } : {});\n}\n\nexport async function getUsers(\n\tcontext: IRestApiContext,\n\tfilter?: UsersListFilterDto,\n): Promise<UsersList> {\n\treturn await makeRestApiRequest(context, 'GET', '/users', filter);\n}\n\nexport async function getInviteLink(\n\tcontext: IRestApiContext,\n\t{ id }: { id: string },\n): Promise<{ link: string }> {\n\treturn await makeRestApiRequest(context, 'GET', `/users/${id}/invite-link`);\n}\n\nexport async function generateInviteLink(\n\tcontext: IRestApiContext,\n\t{ id }: { id: string },\n): Promise<{ link: string }> {\n\treturn await makeRestApiRequest(context, 'POST', `/users/${id}/invite-link`);\n}\n\nexport async function getPasswordResetLink(\n\tcontext: IRestApiContext,\n\t{ id }: { id: string },\n): Promise<{ link: string }> {\n\treturn await makeRestApiRequest(context, 'GET', `/users/${id}/password-reset-link`);\n}\n\nexport async function submitPersonalizationSurvey(\n\tcontext: IRestApiContext,\n\tparams: IPersonalizationLatestVersion,\n): Promise<void> {\n\tawait makeRestApiRequest(context, 'POST', '/me/survey', params as unknown as IDataObject);\n}\n\nexport interface UpdateGlobalRolePayload {\n\tid: string;\n\t// Allows custom global role slugs in addition to built-in roles (assignable = any non-owner global role).\n\tnewRoleName: AssignableGlobalRole;\n}\n\nexport async function updateGlobalRole(\n\tcontext: IRestApiContext,\n\t{ id, newRoleName }: UpdateGlobalRolePayload,\n): Promise<IUserResponse> {\n\treturn await makeRestApiRequest(context, 'PATCH', `/users/${id}/role`, { newRoleName });\n}\n"],"mappings":";;;AAwFA,eAAsB,iBACrB,SACsC;AACtC,QAAO,MAAM,mBAAmB,SAAS,OAAO,SAAS;;AAG1D,eAAsB,MACrB,SACA,QAC+B;AAC/B,QAAO,MAAM,mBAAmB,SAAS,QAAQ,UAAU,OAAO;;AAGnE,eAAsB,OAAO,SAAyC;AACrE,OAAM,mBAAmB,SAAS,QAAQ,UAAU;;AAGrD,eAAsB,WACrB,SACA,QAC+B;AAC/B,QAAO,MAAM,mBACZ,SACA,QACA,gBACA,OACA;;AAGF,eAAsB,oBACrB,SACA,QACgE;AAChE,QAAO,MAAM,mBAAmB,SAAS,OAAO,yBAAyB,OAAO;;AAGjF,eAAsB,wBACrB,SACA,QACgB;AAChB,OAAM,mBAAmB,SAAS,QAAQ,oBAAoB,OAAO;;AAGtE,eAAsB,sBACrB,SACA,QACgB;AAChB,OAAM,mBAAmB,SAAS,OAAO,2BAA2B,OAAO;;AAG5E,eAAsB,eACrB,SACA,QACgB;AAChB,OAAM,mBAAmB,SAAS,QAAQ,oBAAoB,OAAO;;AAGtE,eAAsB,kBACrB,SACA,QACyB;AACzB,QAAO,MAAM,mBAAmB,SAAS,SAAS,OAAO,OAAO;;AAGjE,eAAsB,0BACrB,SACA,UACyB;AACzB,QAAO,MAAM,mBAAmB,SAAS,SAAS,gBAAgB,SAAS;;AAG5E,eAAsB,wBACrB,SACA,QACA,UACyB;AACzB,QAAO,MAAM,mBAAmB,SAAS,SAAS,UAAU,OAAO,YAAY,SAAS;;AAGzF,eAAsB,0BACrB,SACA,QACgB;AAChB,QAAO,MAAM,mBAAmB,SAAS,SAAS,gBAAgB,OAAO;;AAG1E,eAAsB,WACrB,SACA,EAAE,IAAI,cACU;AAChB,OAAM,mBAAmB,SAAS,UAAU,UAAU,MAAM,aAAa,EAAE,YAAY,GAAG,EAAE,CAAC;;AAG9F,eAAsB,SACrB,SACA,QACqB;AACrB,QAAO,MAAM,mBAAmB,SAAS,OAAO,UAAU,OAAO;;AAGlE,eAAsB,cACrB,SACA,EAAE,MAC0B;AAC5B,QAAO,MAAM,mBAAmB,SAAS,OAAO,UAAU,GAAG,cAAc;;AAG5E,eAAsB,mBACrB,SACA,EAAE,MAC0B;AAC5B,QAAO,MAAM,mBAAmB,SAAS,QAAQ,UAAU,GAAG,cAAc;;AAG7E,eAAsB,qBACrB,SACA,EAAE,MAC0B;AAC5B,QAAO,MAAM,mBAAmB,SAAS,OAAO,UAAU,GAAG,sBAAsB;;AAGpF,eAAsB,4BACrB,SACA,QACgB;AAChB,OAAM,mBAAmB,SAAS,QAAQ,cAAc,OAAiC;;AAS1F,eAAsB,iBACrB,SACA,EAAE,IAAI,eACmB;AACzB,QAAO,MAAM,mBAAmB,SAAS,SAAS,UAAU,GAAG,QAAQ,EAAE,aAAa,CAAC"}