{"version":3,"file":"xxmachina-components-services-forms-query.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/services/forms/query/query.service.ts","../../../../../packages/@xxmachina/components/src/lib/services/forms/query/xxmachina-components-services-forms-query.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryValidators } from '@xxmachina/components/validators/query';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class QueryFormService {\n  protected fb = inject(FormBuilder);\n\n  build() {\n    return this.fb.group({\n      id: [''],\n      title: [''],\n      type: ['graphql'],\n      graphql: this.fb.group({\n        endpoint: [''],\n        query: [''],\n        variablesJson: [JSON.stringify({}, null, 2)],\n        headersJson: [JSON.stringify({\n          'content-type': 'application/json',\n        }, null, 2)],\n        transformerTs: [null],\n        transformer: [null],\n      }, {\n        asyncValidators: QueryValidators.graphql(),\n      }),\n    });\n  }\n\n  static parseGraphql(formValue: Partial<{\n    endpoint: string;\n    query: string;\n    variablesJson: string;\n    headersJson: string;\n    transformerTs: string | null;\n    transformer: (data: any) => any | null;\n  }>): Query['graphql'] {\n    return {\n      endpoint: formValue?.endpoint ?? '',\n      query: formValue?.query ?? '',\n      variablesJson: formValue?.variablesJson ?? '',\n      variables: QueryHelper.tryParseJson(formValue?.variablesJson || '{}'),\n      headersJson: formValue?.headersJson ?? '',\n      headers: QueryHelper.tryParseJson(formValue?.headersJson || '{}'),\n      transformerTs: formValue?.transformerTs ?? '',\n      transformer: formValue?.transformer,\n    } as Query['graphql'];\n  }\n\n  static parse(formValue: Partial<{\n    id: string,\n    title: string,\n    type: string,\n    graphql: Partial<{\n      endpoint: string;\n      query: string;\n      variablesJson: string;\n      headersJson: string;\n      transformerTs: string | null;\n      transformer: (data: any) => any | null;\n    }>,\n  }>): Query {\n    console.debug('[QueryFormService] parse:', formValue);\n    return {\n      id: formValue?.id ?? '',\n      projectId: '',\n      type: formValue?.type as any ?? 'graphql',\n      title: formValue?.title ?? '',\n      graphql: QueryFormService.parseGraphql(formValue?.graphql ?? {}),\n      summary: '',\n      createdAt: null,\n      updatedAt: null,\n    } as unknown as Query;\n  }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,gBAAgB,CAAA;AACjB,IAAA,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAElC,KAAK,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,EAAE,EAAE,CAAC,EAAE,CAAC;YACR,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,IAAI,EAAE,CAAC,SAAS,CAAC;AACjB,YAAA,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,KAAK,EAAE,CAAC,EAAE,CAAC;AACX,gBAAA,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,gBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3B,wBAAA,cAAc,EAAE,kBAAkB;AACnC,qBAAA,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACZ,aAAa,EAAE,CAAC,IAAI,CAAC;gBACrB,WAAW,EAAE,CAAC,IAAI,CAAC;aACpB,EAAE;AACD,gBAAA,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE;aAC3C,CAAC;AACH,SAAA,CAAC;IACJ;IAEA,OAAO,YAAY,CAAC,SAOlB,EAAA;QACA,OAAO;AACL,YAAA,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE;AACnC,YAAA,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;AAC7B,YAAA,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,EAAE;YAC7C,SAAS,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC;AACrE,YAAA,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;YACzC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,CAAC;AACjE,YAAA,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,EAAE;YAC7C,WAAW,EAAE,SAAS,EAAE,WAAW;SAChB;IACvB;IAEA,OAAO,KAAK,CAAC,SAYX,EAAA;AACA,QAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,SAAS,CAAC;QACrD,OAAO;AACL,YAAA,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE;AACvB,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,IAAI,EAAE,SAAS,EAAE,IAAW,IAAI,SAAS;AACzC,YAAA,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;YAC7B,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC;AAChE,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI;SACI;IACvB;uGAnEW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;;;"}