{ "version": 3, "sources": ["src/app/services/authentication.service.ts"], "sourcesContent": ["import { Injectable, inject } from '@angular/core';\r\nimport { Apollo } from 'apollo-angular';\r\nimport { BehaviorSubject, map, tap } from 'rxjs';\r\n\r\nimport { gql } from '../../__generated__/gql';\r\nimport { UpdateMeInput } from '../../__generated__/graphql';\r\nimport { InferItemType } from '../utils/cast';\r\nimport { extractErrors } from '../utils/errors';\r\n\r\nexport type Auth = InferItemType>;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthenticationService {\r\n readonly autoRefresh$ = new BehaviorSubject(undefined);\r\n private readonly apollo = inject(Apollo);\r\n\r\n private _user: Auth;\r\n\r\n getMe() {\r\n return this.apollo\r\n .query({\r\n query: gql(`\r\n query Me {\r\n me {\r\n id\r\n roles\r\n firstName\r\n lastName\r\n email\r\n avatar {\r\n id\r\n uri\r\n }\r\n defaultViews {\r\n columnOrdersView {\r\n name\r\n order\r\n }\r\n columnsView {\r\n color\r\n isHidden\r\n name\r\n }\r\n createdAt\r\n createdBy\r\n data\r\n id\r\n isDefault\r\n isPublic\r\n name\r\n type\r\n }\r\n }\r\n }\r\n `),\r\n variables: {},\r\n fetchPolicy: 'no-cache',\r\n })\r\n .pipe(map(({ data }) => data.me));\r\n }\r\n\r\n updateMe(input: UpdateMeInput) {\r\n return this.apollo\r\n .mutate({\r\n mutation: gql(`\r\n mutation UpdateMe($input: UpdateMeInput!) {\r\n updateMe(input: $input) {\r\n user {\r\n id\r\n }\r\n }\r\n }\r\n `),\r\n variables: { input },\r\n })\r\n .pipe(\r\n map(({ data }) => data!.updateMe.user!),\r\n extractErrors(),\r\n tap(() => this.autoRefresh$.next()),\r\n );\r\n }\r\n\r\n get currentUser() {\r\n return this._user;\r\n }\r\n\r\n set currentUser(user: Auth) {\r\n this._user = user;\r\n }\r\n}\r\n"], "mappings": "oIAAAA,IAcA,IAAaC,GAAqB,IAAA,CAA5B,IAAOA,EAAP,MAAOA,CAAqB,CAHlCC,aAAA,CAIW,KAAAC,aAAe,IAAIC,EAAsBC,MAAS,EAC1C,KAAAC,OAASC,EAAOC,CAAM,EAIvCC,OAAK,CACH,OAAO,KAAKH,OACTI,MAAM,CACLA,MAAOC,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAiCV,EACDC,UAAW,CAAA,EACXC,YAAa,WACd,EACAC,KAAKC,EAAI,CAAC,CAAEC,KAAAA,CAAI,IAAOA,EAAKC,EAAE,CAAC,CACpC,CAEAC,SAASC,EAAoB,CAC3B,OAAO,KAAKb,OACTc,OAAO,CACNC,SAAUV,EAAI;;;;;;;;OAQf,EACCC,UAAW,CAAEO,MAAAA,CAAK,EACnB,EACAL,KACCC,EAAI,CAAC,CAAEC,KAAAA,CAAI,IAAOA,EAAME,SAASI,IAAK,EACtCC,EAAa,EACbC,EAAI,IAAM,KAAKrB,aAAasB,KAAI,CAAE,CAAC,CAEzC,CAEA,IAAIC,aAAW,CACb,OAAO,KAAKC,KACd,CAEA,IAAID,YAAYJ,EAAU,CACxB,KAAKK,MAAQL,CACf,yCA5EWrB,EAAqB,wBAArBA,EAAqB2B,QAArB3B,EAAqB4B,UAAAC,WAFpB,MAAM,CAAA,EAEd,IAAO7B,EAAP8B,SAAO9B,CAAqB,GAAA", "names": ["init_define_NGX_ENV", "AuthenticationService", "constructor", "autoRefresh$", "BehaviorSubject", "undefined", "apollo", "inject", "Apollo", "getMe", "query", "gql", "variables", "fetchPolicy", "pipe", "map", "data", "me", "updateMe", "input", "mutate", "mutation", "user", "extractErrors", "tap", "next", "currentUser", "_user", "factory", "\u0275fac", "providedIn", "_AuthenticationService"] }