{"version":3,"mappings":"geAkBK,IAAAA,OACHA,EAAA,QAAU,UACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,aAAe,eAJZA,OAAA,IAYL,MAAMC,EAAS,CAAC,CAAC,MAAAC,EAAO,UAAAC,EAAW,MAAAC,EAAO,SAAAC,KACjCC,EAAQ,QAAAC,EAAA,IACb,OACE,wBACF,OAED,KAAMC,GACEC,EACL,CACE,IAAUD,EAAO,0CAA0C,EAC3D,OAAU,OACV,SAAU,OACV,KAAU,CACR,MAAAN,EACA,UAAAC,EACA,MAAAC,EACA,SAAAC,CAAA,CAEJ,EACA,CACE,qBAAsB,CAAC,CAAC,iBAAAK,KAClBA,IAAqB,IAChBC,EAA2B,WAG7BA,EAA2B,cACpC,CAEJ,CACD,EACA,KAAK,KACI,CAAC,YAAa,SAAuB,EAC9C,EACA,MAAOC,GAAoB,CAC1B,GAAIA,aAA2B,MACvB,MAAAA,EAGF,MAAE,SAAAC,GAAaD,EACrB,OAAQC,EAAS,OAAQ,CACvB,IAAK,KACK,OAAC,YAAa,UAAwB,EAEhD,IAAK,KACK,OAAC,YAAa,cAA4B,EAEpD,QACU,OAAC,YAAa,SAAuB,EACjD,CACD","names":["ResultTypeEnums","create","email","full_name","image","id_token","Promise","__vitePreload","Routes","q_ajax_3","http_status_code","AJAX_ERROR_HANDLER_ACTIONS","reason_or_error","response"],"ignoreList":[],"sources":["../../../app/assets/javascripts/app/resources/users/create_with_google/index.ts"],"sourcesContent":["\n/* eslint-disable no-unused-vars */\nimport Promise from \"plugins/bluebird/index\"\n/* eslint-enable no-unused-vars */\nimport {\n q_ajax_3,\n ERROR_HANDLER_ACTIONS as AJAX_ERROR_HANDLER_ACTIONS,\n} from \"app/utils/q_ajax/q_ajax_3\"\n\n\ninterface Input {\n email: string,\n full_name: string,\n image: string,\n id_token: string,\n}\n\n/* eslint-disable no-unused-vars */\nenum ResultTypeEnums {\n SUCCESS = \"SUCCESS\",\n INVALID = \"INVALID\",\n CONFLICT = \"CONFLICT\",\n UNAUTHORIZED = \"UNAUTHORIZED\",\n}\n/* eslint-enable no-unused-vars */\n\ninterface PromiseResolvePayload {\n result_type: ResultTypeEnums,\n}\n\nconst create = ({email, full_name, image, id_token}: Input): Promise<PromiseResolvePayload> => {\n return Promise.resolve(\n import(\n \"plugins/js-routes\"\n )\n )\n .then((Routes) => {\n return q_ajax_3(\n {\n url: Routes.create_with_google_api_web_app_users_path(),\n method: \"POST\",\n dataType: \"json\",\n data: {\n email: email,\n full_name: full_name,\n image: image,\n id_token: id_token,\n },\n },\n {\n custom_error_handler: ({http_status_code}) => {\n if (http_status_code === 409) {\n return AJAX_ERROR_HANDLER_ACTIONS.STOP_RETRY\n }\n\n return AJAX_ERROR_HANDLER_ACTIONS.CONTINUE_RETRY\n },\n },\n )\n })\n .then(() => {\n return ({result_type: ResultTypeEnums.SUCCESS})\n })\n .catch((reason_or_error) => {\n if (reason_or_error instanceof Error) {\n throw reason_or_error\n }\n\n const { response } = reason_or_error\n switch (response.status) {\n case 409: {\n return ({result_type: ResultTypeEnums.CONFLICT})\n }\n case 401: {\n return ({result_type: ResultTypeEnums.UNAUTHORIZED})\n }\n default:\n return ({result_type: ResultTypeEnums.INVALID})\n }\n })\n}\n\nexport {\n create as default,\n create,\n ResultTypeEnums,\n}\n"],"file":"assets/index-D6lxhAOs.js"}