@webiny/sdk 6.1.0 → 6.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ import type { WebinyConfig } from "./types.js";
2
+ import type { HttpError, GraphQLError, NetworkError } from "./errors.js";
3
+ import type { Result } from "./Result.js";
4
+ import type { Language } from "./methods/languages/listLanguages.js";
5
+ export declare class LanguagesSdk {
6
+ private config;
7
+ private fetchFn;
8
+ constructor(config: WebinyConfig);
9
+ listLanguages(): Promise<Result<Language[], HttpError | GraphQLError | NetworkError>>;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { listLanguages as listLanguagesFn } from "./methods/languages/listLanguages.js";
2
+ export class LanguagesSdk {
3
+ constructor(config) {
4
+ this.config = config;
5
+ this.fetchFn = config.fetch || fetch;
6
+ }
7
+ async listLanguages() {
8
+ return listLanguagesFn(this.config, this.fetchFn);
9
+ }
10
+ }
11
+
12
+ //# sourceMappingURL=LanguagesSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["listLanguages","listLanguagesFn","LanguagesSdk","constructor","config","fetchFn","fetch"],"sources":["LanguagesSdk.ts"],"sourcesContent":["import type { WebinyConfig } from \"./types.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"./errors.js\";\nimport type { Result } from \"./Result.js\";\nimport type { Language } from \"./methods/languages/listLanguages.js\";\nimport { listLanguages as listLanguagesFn } from \"./methods/languages/listLanguages.js\";\n\nexport class LanguagesSdk {\n private config: WebinyConfig;\n private fetchFn: typeof fetch;\n\n constructor(config: WebinyConfig) {\n this.config = config;\n this.fetchFn = config.fetch || fetch;\n }\n\n async listLanguages(): Promise<Result<Language[], HttpError | GraphQLError | NetworkError>> {\n return listLanguagesFn(this.config, this.fetchFn);\n }\n}\n"],"mappings":"AAIA,SAASA,aAAa,IAAIC,eAAe;AAEzC,OAAO,MAAMC,YAAY,CAAC;EAItBC,WAAWA,CAACC,MAAoB,EAAE;IAC9B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACE,KAAK,IAAIA,KAAK;EACxC;EAEA,MAAMN,aAAaA,CAAA,EAAyE;IACxF,OAAOC,eAAe,CAAC,IAAI,CAACG,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;EACrD;AACJ","ignoreList":[]}
package/Webiny.d.ts CHANGED
@@ -2,10 +2,12 @@ import type { WebinyConfig } from "./types.js";
2
2
  import { CmsSdk } from "./CmsSdk.js";
3
3
  import { TenantManagerSdk } from "./TenantManagerSdk.js";
4
4
  import { FileManagerSdk } from "./FileManagerSdk.js";
5
+ import { LanguagesSdk } from "./LanguagesSdk.js";
5
6
  export declare class Webiny {
6
7
  readonly cms: CmsSdk;
7
8
  readonly tenantManager: TenantManagerSdk;
8
9
  readonly fileManager: FileManagerSdk;
10
+ readonly languages: LanguagesSdk;
9
11
  constructor(config: WebinyConfig);
10
12
  }
11
13
  export { Webiny as Sdk };
package/Webiny.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { CmsSdk } from "./CmsSdk.js";
2
2
  import { TenantManagerSdk } from "./TenantManagerSdk.js";
3
3
  import { FileManagerSdk } from "./FileManagerSdk.js";
4
+ import { LanguagesSdk } from "./LanguagesSdk.js";
4
5
  export class Webiny {
5
6
  constructor(config) {
6
7
  this.cms = new CmsSdk({
@@ -15,6 +16,10 @@ export class Webiny {
15
16
  ...config,
16
17
  tenant: config.tenant || "root"
17
18
  });
19
+ this.languages = new LanguagesSdk({
20
+ ...config,
21
+ tenant: config.tenant || "root"
22
+ });
18
23
  }
19
24
  }
20
25
 
package/Webiny.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["CmsSdk","TenantManagerSdk","FileManagerSdk","Webiny","constructor","config","cms","tenant","tenantManager","fileManager","Sdk"],"sources":["Webiny.ts"],"sourcesContent":["import type { WebinyConfig } from \"./types.js\";\nimport { CmsSdk } from \"./CmsSdk.js\";\nimport { TenantManagerSdk } from \"./TenantManagerSdk.js\";\nimport { FileManagerSdk } from \"./FileManagerSdk.js\";\n\nexport class Webiny {\n public readonly cms: CmsSdk;\n public readonly tenantManager: TenantManagerSdk;\n public readonly fileManager: FileManagerSdk;\n\n constructor(config: WebinyConfig) {\n this.cms = new CmsSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.tenantManager = new TenantManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.fileManager = new FileManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n }\n}\n\n// Backward compatibility exports.\nexport { Webiny as Sdk };\nexport type { WebinyConfig as SdkConfig };\n"],"mappings":"AACA,SAASA,MAAM;AACf,SAASC,gBAAgB;AACzB,SAASC,cAAc;AAEvB,OAAO,MAAMC,MAAM,CAAC;EAKhBC,WAAWA,CAACC,MAAoB,EAAE;IAC9B,IAAI,CAACC,GAAG,GAAG,IAAIN,MAAM,CAAC;MAClB,GAAGK,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;IACF,IAAI,CAACC,aAAa,GAAG,IAAIP,gBAAgB,CAAC;MACtC,GAAGI,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;IACF,IAAI,CAACE,WAAW,GAAG,IAAIP,cAAc,CAAC;MAClC,GAAGG,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;EACN;AACJ;;AAEA;AACA,SAASJ,MAAM,IAAIO,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["CmsSdk","TenantManagerSdk","FileManagerSdk","LanguagesSdk","Webiny","constructor","config","cms","tenant","tenantManager","fileManager","languages","Sdk"],"sources":["Webiny.ts"],"sourcesContent":["import type { WebinyConfig } from \"./types.js\";\nimport { CmsSdk } from \"./CmsSdk.js\";\nimport { TenantManagerSdk } from \"./TenantManagerSdk.js\";\nimport { FileManagerSdk } from \"./FileManagerSdk.js\";\nimport { LanguagesSdk } from \"./LanguagesSdk.js\";\n\nexport class Webiny {\n public readonly cms: CmsSdk;\n public readonly tenantManager: TenantManagerSdk;\n public readonly fileManager: FileManagerSdk;\n public readonly languages: LanguagesSdk;\n\n constructor(config: WebinyConfig) {\n this.cms = new CmsSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.tenantManager = new TenantManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.fileManager = new FileManagerSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n this.languages = new LanguagesSdk({\n ...config,\n tenant: config.tenant || \"root\"\n });\n }\n}\n\n// Backward compatibility exports.\nexport { Webiny as Sdk };\nexport type { WebinyConfig as SdkConfig };\n"],"mappings":"AACA,SAASA,MAAM;AACf,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,OAAO,MAAMC,MAAM,CAAC;EAMhBC,WAAWA,CAACC,MAAoB,EAAE;IAC9B,IAAI,CAACC,GAAG,GAAG,IAAIP,MAAM,CAAC;MAClB,GAAGM,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;IACF,IAAI,CAACC,aAAa,GAAG,IAAIR,gBAAgB,CAAC;MACtC,GAAGK,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;IACF,IAAI,CAACE,WAAW,GAAG,IAAIR,cAAc,CAAC;MAClC,GAAGI,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;IACF,IAAI,CAACG,SAAS,GAAG,IAAIR,YAAY,CAAC;MAC9B,GAAGG,MAAM;MACTE,MAAM,EAAEF,MAAM,CAACE,MAAM,IAAI;IAC7B,CAAC,CAAC;EACN;AACJ;;AAEA;AACA,SAASJ,MAAM,IAAIQ,GAAG","ignoreList":[]}
package/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./Webiny.js";
2
2
  export * from "./CmsSdk.js";
3
3
  export * from "./TenantManagerSdk.js";
4
4
  export * from "./FileManagerSdk.js";
5
+ export * from "./LanguagesSdk.js";
5
6
  export * from "./types.js";
6
7
  export { Result } from "./Result.js";
7
8
  export { HttpError, GraphQLError, NetworkError } from "./errors.js";
@@ -30,3 +31,4 @@ export type { GetPresignedPostPayloadParams } from "./methods/fileManager/getPre
30
31
  export type { GetPresignedPostPayloadsParams } from "./methods/fileManager/getPresignedPostPayloads.js";
31
32
  export type { CreateMultiPartUploadParams, MultiPartUploadResponse } from "./methods/fileManager/createMultiPartUpload.js";
32
33
  export type { CompleteMultiPartUploadParams } from "./methods/fileManager/completeMultiPartUpload.js";
34
+ export type { Language } from "./methods/languages/listLanguages.js";
package/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./Webiny.js";
2
2
  export * from "./CmsSdk.js";
3
3
  export * from "./TenantManagerSdk.js";
4
4
  export * from "./FileManagerSdk.js";
5
+ export * from "./LanguagesSdk.js";
5
6
  export * from "./types.js";
6
7
  export { Result } from "./Result.js";
7
8
  export { HttpError, GraphQLError, NetworkError } from "./errors.js";
@@ -18,4 +19,6 @@ export { HttpError, GraphQLError, NetworkError } from "./errors.js";
18
19
 
19
20
  // Export types from fileManager methods.
20
21
 
22
+ // Export Languages types.
23
+
21
24
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Result","HttpError","GraphQLError","NetworkError"],"sources":["index.ts"],"sourcesContent":["export * from \"./Webiny.js\";\nexport * from \"./CmsSdk.js\";\nexport * from \"./TenantManagerSdk.js\";\nexport * from \"./FileManagerSdk.js\";\nexport * from \"./types.js\";\nexport { Result } from \"./Result.js\";\nexport { HttpError, GraphQLError, NetworkError } from \"./errors.js\";\n\n// Export shared CMS types.\nexport type {\n CmsEntryValues,\n CmsEntryStatus,\n CmsIdentity,\n IEntryState,\n CmsEntryData\n} from \"./methods/cms/cmsTypes.js\";\n\n// Export types from methods.\nexport type { CreateCmsEntryData, CreateEntryParams } from \"./methods/cms/createEntry.js\";\n\nexport type {\n UpdateCmsEntryData,\n UpdateEntryRevisionParams\n} from \"./methods/cms/updateEntryRevision.js\";\n\nexport type { GetEntryParams, GetEntryWhere } from \"./methods/cms/getEntry.js\";\n\nexport type { ListEntriesParams, ListEntriesResult } from \"./methods/cms/listEntries.js\";\n\nexport type { DeleteEntryRevisionParams } from \"./methods/cms/deleteEntryRevision.js\";\n\nexport type { PublishEntryRevisionParams } from \"./methods/cms/publishEntryRevision.js\";\n\nexport type { UnpublishEntryRevisionParams } from \"./methods/cms/unpublishEntryRevision.js\";\n\n// Export TenantManager types.\nexport type { CreateTenantInput } from \"./methods/tenantManager/tenantManagerTypes.js\";\n\n// Export types from tenantManager methods.\nexport type { CreateTenantParams } from \"./methods/tenantManager/createTenant.js\";\n\nexport type { InstallTenantParams } from \"./methods/tenantManager/installTenant.js\";\n\nexport type { DisableTenantParams } from \"./methods/tenantManager/disableTenant.js\";\n\nexport type { EnableTenantParams } from \"./methods/tenantManager/enableTenant.js\";\n\n// Export FileManager types.\nexport type {\n FmIdentity,\n FmLocation,\n FmFile,\n FmTag,\n FmListMeta,\n FmLocationInput,\n FmLocationWhereInput,\n FmFileListWhereInput,\n FmFileListSorter,\n FmTagsListWhereInput,\n UploadProgress,\n PresignedPostPayload,\n PresignedPostPayloadResponse,\n BatchUploadStrategy\n} from \"./methods/fileManager/fileManagerTypes.js\";\n\n// Export types from fileManager methods.\nexport type { GetFileParams } from \"./methods/fileManager/getFile.js\";\n\nexport type { ListFilesParams, ListFilesResult } from \"./methods/fileManager/listFiles.js\";\n\nexport type { CreateFileData, CreateFileParams } from \"./methods/fileManager/createFile.js\";\n\nexport type { CreateFilesParams, CreateFilesResult } from \"./methods/fileManager/createFiles.js\";\n\nexport type { UpdateFileData, UpdateFileParams } from \"./methods/fileManager/updateFile.js\";\n\nexport type { DeleteFileParams } from \"./methods/fileManager/deleteFile.js\";\n\nexport type { ListTagsParams } from \"./methods/fileManager/listTags.js\";\n\nexport type { GetPresignedPostPayloadParams } from \"./methods/fileManager/getPresignedPostPayload.js\";\n\nexport type { GetPresignedPostPayloadsParams } from \"./methods/fileManager/getPresignedPostPayloads.js\";\n\nexport type {\n CreateMultiPartUploadParams,\n MultiPartUploadResponse\n} from \"./methods/fileManager/createMultiPartUpload.js\";\n\nexport type { CompleteMultiPartUploadParams } from \"./methods/fileManager/completeMultiPartUpload.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAM;AACf,SAASC,SAAS,EAAEC,YAAY,EAAEC,YAAY;;AAE9C;;AASA;;AAkBA;;AAGA;;AASA;;AAkBA","ignoreList":[]}
1
+ {"version":3,"names":["Result","HttpError","GraphQLError","NetworkError"],"sources":["index.ts"],"sourcesContent":["export * from \"./Webiny.js\";\nexport * from \"./CmsSdk.js\";\nexport * from \"./TenantManagerSdk.js\";\nexport * from \"./FileManagerSdk.js\";\nexport * from \"./LanguagesSdk.js\";\nexport * from \"./types.js\";\nexport { Result } from \"./Result.js\";\nexport { HttpError, GraphQLError, NetworkError } from \"./errors.js\";\n\n// Export shared CMS types.\nexport type {\n CmsEntryValues,\n CmsEntryStatus,\n CmsIdentity,\n IEntryState,\n CmsEntryData\n} from \"./methods/cms/cmsTypes.js\";\n\n// Export types from methods.\nexport type { CreateCmsEntryData, CreateEntryParams } from \"./methods/cms/createEntry.js\";\n\nexport type {\n UpdateCmsEntryData,\n UpdateEntryRevisionParams\n} from \"./methods/cms/updateEntryRevision.js\";\n\nexport type { GetEntryParams, GetEntryWhere } from \"./methods/cms/getEntry.js\";\n\nexport type { ListEntriesParams, ListEntriesResult } from \"./methods/cms/listEntries.js\";\n\nexport type { DeleteEntryRevisionParams } from \"./methods/cms/deleteEntryRevision.js\";\n\nexport type { PublishEntryRevisionParams } from \"./methods/cms/publishEntryRevision.js\";\n\nexport type { UnpublishEntryRevisionParams } from \"./methods/cms/unpublishEntryRevision.js\";\n\n// Export TenantManager types.\nexport type { CreateTenantInput } from \"./methods/tenantManager/tenantManagerTypes.js\";\n\n// Export types from tenantManager methods.\nexport type { CreateTenantParams } from \"./methods/tenantManager/createTenant.js\";\n\nexport type { InstallTenantParams } from \"./methods/tenantManager/installTenant.js\";\n\nexport type { DisableTenantParams } from \"./methods/tenantManager/disableTenant.js\";\n\nexport type { EnableTenantParams } from \"./methods/tenantManager/enableTenant.js\";\n\n// Export FileManager types.\nexport type {\n FmIdentity,\n FmLocation,\n FmFile,\n FmTag,\n FmListMeta,\n FmLocationInput,\n FmLocationWhereInput,\n FmFileListWhereInput,\n FmFileListSorter,\n FmTagsListWhereInput,\n UploadProgress,\n PresignedPostPayload,\n PresignedPostPayloadResponse,\n BatchUploadStrategy\n} from \"./methods/fileManager/fileManagerTypes.js\";\n\n// Export types from fileManager methods.\nexport type { GetFileParams } from \"./methods/fileManager/getFile.js\";\n\nexport type { ListFilesParams, ListFilesResult } from \"./methods/fileManager/listFiles.js\";\n\nexport type { CreateFileData, CreateFileParams } from \"./methods/fileManager/createFile.js\";\n\nexport type { CreateFilesParams, CreateFilesResult } from \"./methods/fileManager/createFiles.js\";\n\nexport type { UpdateFileData, UpdateFileParams } from \"./methods/fileManager/updateFile.js\";\n\nexport type { DeleteFileParams } from \"./methods/fileManager/deleteFile.js\";\n\nexport type { ListTagsParams } from \"./methods/fileManager/listTags.js\";\n\nexport type { GetPresignedPostPayloadParams } from \"./methods/fileManager/getPresignedPostPayload.js\";\n\nexport type { GetPresignedPostPayloadsParams } from \"./methods/fileManager/getPresignedPostPayloads.js\";\n\nexport type {\n CreateMultiPartUploadParams,\n MultiPartUploadResponse\n} from \"./methods/fileManager/createMultiPartUpload.js\";\n\nexport type { CompleteMultiPartUploadParams } from \"./methods/fileManager/completeMultiPartUpload.js\";\n\n// Export Languages types.\nexport type { Language } from \"./methods/languages/listLanguages.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,MAAM;AACf,SAASC,SAAS,EAAEC,YAAY,EAAEC,YAAY;;AAE9C;;AASA;;AAkBA;;AAGA;;AASA;;AAkBA;;AA0BA","ignoreList":[]}
@@ -16,13 +16,13 @@ export async function executeGraphQL(config, fetchFn, query, variables = {}) {
16
16
 
17
17
  // Only add Authorization header if token is provided and not already set in custom headers.
18
18
  if (config.token && !headers.Authorization) {
19
- headers.Authorization = `Bearer ${config.token}`;
19
+ const token = typeof config.token === "function" ? await config.token() : config.token;
20
+ headers.Authorization = `Bearer ${token}`;
20
21
  }
21
22
  response = await fetchFn(url, {
22
23
  method: "POST",
23
24
  headers,
24
- body,
25
- credentials: "include"
25
+ body
26
26
  });
27
27
  } catch (error) {
28
28
  return Result.fail(new NetworkError(error instanceof Error ? error.message : "Network request failed"));
@@ -1 +1 @@
1
- {"version":3,"names":["Result","HttpError","GraphQLError","NetworkError","executeGraphQL","config","fetchFn","query","variables","url","endpoint","response","body","JSON","stringify","headers","tenant","token","Authorization","method","credentials","error","fail","Error","message","ok","status","result","json","errors","code","data"],"sources":["executeGraphQL.ts"],"sourcesContent":["import type { WebinyConfig } from \"../types.js\";\nimport { Result } from \"../Result.js\";\nimport { HttpError, GraphQLError, NetworkError } from \"../errors.js\";\n\nexport async function executeGraphQL(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n query: string,\n variables: Record<string, unknown> = {}\n): Promise<Result<any, HttpError | GraphQLError | NetworkError>> {\n const url = `${config.endpoint}/graphql`;\n\n let response: Response;\n\n try {\n const body = JSON.stringify({ query, variables });\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n \"x-tenant\": config.tenant ?? \"root\",\n ...config.headers\n };\n\n // Only add Authorization header if token is provided and not already set in custom headers.\n if (config.token && !headers.Authorization) {\n headers.Authorization = `Bearer ${config.token}`;\n }\n\n response = await fetchFn(url, {\n method: \"POST\",\n headers,\n body,\n credentials: \"include\"\n });\n } catch (error) {\n return Result.fail(\n new NetworkError(error instanceof Error ? error.message : \"Network request failed\")\n );\n }\n\n if (!response.ok) {\n return Result.fail(\n new HttpError(response.status, `HTTP error! status: ${response.status}`)\n );\n }\n\n let result: any;\n try {\n result = await response.json();\n } catch {\n return Result.fail(new NetworkError(\"Failed to parse response JSON\"));\n }\n\n if (result.errors) {\n const error = result.errors[0];\n return Result.fail(new GraphQLError(error?.message || \"GraphQL error\", error?.code));\n }\n\n return Result.ok(result.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AACf,SAASC,SAAS,EAAEC,YAAY,EAAEC,YAAY;AAE9C,OAAO,eAAeC,cAAcA,CAChCC,MAAoB,EACpBC,OAAqB,EACrBC,KAAa,EACbC,SAAkC,GAAG,CAAC,CAAC,EACsB;EAC7D,MAAMC,GAAG,GAAG,GAAGJ,MAAM,CAACK,QAAQ,UAAU;EAExC,IAAIC,QAAkB;EAEtB,IAAI;IACA,MAAMC,IAAI,GAAGC,IAAI,CAACC,SAAS,CAAC;MAAEP,KAAK;MAAEC;IAAU,CAAC,CAAC;IAEjD,MAAMO,OAA+B,GAAG;MACpC,cAAc,EAAE,kBAAkB;MAClC,UAAU,EAAEV,MAAM,CAACW,MAAM,IAAI,MAAM;MACnC,GAAGX,MAAM,CAACU;IACd,CAAC;;IAED;IACA,IAAIV,MAAM,CAACY,KAAK,IAAI,CAACF,OAAO,CAACG,aAAa,EAAE;MACxCH,OAAO,CAACG,aAAa,GAAG,UAAUb,MAAM,CAACY,KAAK,EAAE;IACpD;IAEAN,QAAQ,GAAG,MAAML,OAAO,CAACG,GAAG,EAAE;MAC1BU,MAAM,EAAE,MAAM;MACdJ,OAAO;MACPH,IAAI;MACJQ,WAAW,EAAE;IACjB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ,OAAOrB,MAAM,CAACsB,IAAI,CACd,IAAInB,YAAY,CAACkB,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACG,OAAO,GAAG,wBAAwB,CACtF,CAAC;EACL;EAEA,IAAI,CAACb,QAAQ,CAACc,EAAE,EAAE;IACd,OAAOzB,MAAM,CAACsB,IAAI,CACd,IAAIrB,SAAS,CAACU,QAAQ,CAACe,MAAM,EAAE,uBAAuBf,QAAQ,CAACe,MAAM,EAAE,CAC3E,CAAC;EACL;EAEA,IAAIC,MAAW;EACf,IAAI;IACAA,MAAM,GAAG,MAAMhB,QAAQ,CAACiB,IAAI,CAAC,CAAC;EAClC,CAAC,CAAC,MAAM;IACJ,OAAO5B,MAAM,CAACsB,IAAI,CAAC,IAAInB,YAAY,CAAC,+BAA+B,CAAC,CAAC;EACzE;EAEA,IAAIwB,MAAM,CAACE,MAAM,EAAE;IACf,MAAMR,KAAK,GAAGM,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC;IAC9B,OAAO7B,MAAM,CAACsB,IAAI,CAAC,IAAIpB,YAAY,CAACmB,KAAK,EAAEG,OAAO,IAAI,eAAe,EAAEH,KAAK,EAAES,IAAI,CAAC,CAAC;EACxF;EAEA,OAAO9B,MAAM,CAACyB,EAAE,CAACE,MAAM,CAACI,IAAI,CAAC;AACjC","ignoreList":[]}
1
+ {"version":3,"names":["Result","HttpError","GraphQLError","NetworkError","executeGraphQL","config","fetchFn","query","variables","url","endpoint","response","body","JSON","stringify","headers","tenant","token","Authorization","method","error","fail","Error","message","ok","status","result","json","errors","code","data"],"sources":["executeGraphQL.ts"],"sourcesContent":["import type { WebinyConfig } from \"../types.js\";\nimport { Result } from \"../Result.js\";\nimport { HttpError, GraphQLError, NetworkError } from \"../errors.js\";\n\nexport async function executeGraphQL(\n config: WebinyConfig,\n fetchFn: typeof fetch,\n query: string,\n variables: Record<string, unknown> = {}\n): Promise<Result<any, HttpError | GraphQLError | NetworkError>> {\n const url = `${config.endpoint}/graphql`;\n\n let response: Response;\n\n try {\n const body = JSON.stringify({ query, variables });\n\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n \"x-tenant\": config.tenant ?? \"root\",\n ...config.headers\n };\n\n // Only add Authorization header if token is provided and not already set in custom headers.\n if (config.token && !headers.Authorization) {\n const token = typeof config.token === \"function\" ? await config.token() : config.token;\n headers.Authorization = `Bearer ${token}`;\n }\n\n response = await fetchFn(url, {\n method: \"POST\",\n headers,\n body\n });\n } catch (error) {\n return Result.fail(\n new NetworkError(error instanceof Error ? error.message : \"Network request failed\")\n );\n }\n\n if (!response.ok) {\n return Result.fail(\n new HttpError(response.status, `HTTP error! status: ${response.status}`)\n );\n }\n\n let result: any;\n try {\n result = await response.json();\n } catch {\n return Result.fail(new NetworkError(\"Failed to parse response JSON\"));\n }\n\n if (result.errors) {\n const error = result.errors[0];\n return Result.fail(new GraphQLError(error?.message || \"GraphQL error\", error?.code));\n }\n\n return Result.ok(result.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AACf,SAASC,SAAS,EAAEC,YAAY,EAAEC,YAAY;AAE9C,OAAO,eAAeC,cAAcA,CAChCC,MAAoB,EACpBC,OAAqB,EACrBC,KAAa,EACbC,SAAkC,GAAG,CAAC,CAAC,EACsB;EAC7D,MAAMC,GAAG,GAAG,GAAGJ,MAAM,CAACK,QAAQ,UAAU;EAExC,IAAIC,QAAkB;EAEtB,IAAI;IACA,MAAMC,IAAI,GAAGC,IAAI,CAACC,SAAS,CAAC;MAAEP,KAAK;MAAEC;IAAU,CAAC,CAAC;IAEjD,MAAMO,OAA+B,GAAG;MACpC,cAAc,EAAE,kBAAkB;MAClC,UAAU,EAAEV,MAAM,CAACW,MAAM,IAAI,MAAM;MACnC,GAAGX,MAAM,CAACU;IACd,CAAC;;IAED;IACA,IAAIV,MAAM,CAACY,KAAK,IAAI,CAACF,OAAO,CAACG,aAAa,EAAE;MACxC,MAAMD,KAAK,GAAG,OAAOZ,MAAM,CAACY,KAAK,KAAK,UAAU,GAAG,MAAMZ,MAAM,CAACY,KAAK,CAAC,CAAC,GAAGZ,MAAM,CAACY,KAAK;MACtFF,OAAO,CAACG,aAAa,GAAG,UAAUD,KAAK,EAAE;IAC7C;IAEAN,QAAQ,GAAG,MAAML,OAAO,CAACG,GAAG,EAAE;MAC1BU,MAAM,EAAE,MAAM;MACdJ,OAAO;MACPH;IACJ,CAAC,CAAC;EACN,CAAC,CAAC,OAAOQ,KAAK,EAAE;IACZ,OAAOpB,MAAM,CAACqB,IAAI,CACd,IAAIlB,YAAY,CAACiB,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACG,OAAO,GAAG,wBAAwB,CACtF,CAAC;EACL;EAEA,IAAI,CAACZ,QAAQ,CAACa,EAAE,EAAE;IACd,OAAOxB,MAAM,CAACqB,IAAI,CACd,IAAIpB,SAAS,CAACU,QAAQ,CAACc,MAAM,EAAE,uBAAuBd,QAAQ,CAACc,MAAM,EAAE,CAC3E,CAAC;EACL;EAEA,IAAIC,MAAW;EACf,IAAI;IACAA,MAAM,GAAG,MAAMf,QAAQ,CAACgB,IAAI,CAAC,CAAC;EAClC,CAAC,CAAC,MAAM;IACJ,OAAO3B,MAAM,CAACqB,IAAI,CAAC,IAAIlB,YAAY,CAAC,+BAA+B,CAAC,CAAC;EACzE;EAEA,IAAIuB,MAAM,CAACE,MAAM,EAAE;IACf,MAAMR,KAAK,GAAGM,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC;IAC9B,OAAO5B,MAAM,CAACqB,IAAI,CAAC,IAAInB,YAAY,CAACkB,KAAK,EAAEG,OAAO,IAAI,eAAe,EAAEH,KAAK,EAAES,IAAI,CAAC,CAAC;EACxF;EAEA,OAAO7B,MAAM,CAACwB,EAAE,CAACE,MAAM,CAACI,IAAI,CAAC;AACjC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { WebinyConfig } from "../../types.js";
2
+ import { Result } from "../../Result.js";
3
+ import type { HttpError, GraphQLError, NetworkError } from "../../errors.js";
4
+ export interface Language {
5
+ id: string;
6
+ code: string;
7
+ name: string;
8
+ direction?: "ltr" | "rtl";
9
+ isDefault?: boolean;
10
+ }
11
+ export declare function listLanguages(config: WebinyConfig, fetchFn: typeof fetch): Promise<Result<Language[], HttpError | GraphQLError | NetworkError>>;
@@ -0,0 +1,39 @@
1
+ import { Result } from "../../Result.js";
2
+ export async function listLanguages(config, fetchFn) {
3
+ const {
4
+ executeGraphQL
5
+ } = await import("../executeGraphQL.js");
6
+ const query = `
7
+ query ListLanguages {
8
+ languages {
9
+ listLanguages {
10
+ data {
11
+ id
12
+ code
13
+ name
14
+ direction
15
+ isDefault
16
+ }
17
+ error {
18
+ code
19
+ message
20
+ }
21
+ }
22
+ }
23
+ }
24
+ `;
25
+ const result = await executeGraphQL(config, fetchFn, query, {});
26
+ if (result.isFail()) {
27
+ return Result.fail(result.error);
28
+ }
29
+ const responseData = result.value;
30
+ if (responseData.languages.listLanguages.error) {
31
+ const {
32
+ GraphQLError
33
+ } = await import("../../errors.js");
34
+ return Result.fail(new GraphQLError(responseData.languages.listLanguages.error.message, responseData.languages.listLanguages.error.code));
35
+ }
36
+ return Result.ok(responseData.languages.listLanguages.data);
37
+ }
38
+
39
+ //# sourceMappingURL=listLanguages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","listLanguages","config","fetchFn","executeGraphQL","query","result","isFail","fail","error","responseData","value","languages","GraphQLError","message","code","ok","data"],"sources":["listLanguages.ts"],"sourcesContent":["import type { WebinyConfig } from \"../../types.js\";\nimport { Result } from \"../../Result.js\";\nimport type { HttpError, GraphQLError, NetworkError } from \"../../errors.js\";\n\nexport interface Language {\n id: string;\n code: string;\n name: string;\n direction?: \"ltr\" | \"rtl\";\n isDefault?: boolean;\n}\n\nexport async function listLanguages(\n config: WebinyConfig,\n fetchFn: typeof fetch\n): Promise<Result<Language[], HttpError | GraphQLError | NetworkError>> {\n const { executeGraphQL } = await import(\"../executeGraphQL.js\");\n\n const query = `\n query ListLanguages {\n languages {\n listLanguages {\n data {\n id\n code\n name\n direction\n isDefault\n }\n error {\n code\n message\n }\n }\n }\n }\n `;\n\n const result = await executeGraphQL(config, fetchFn, query, {});\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const responseData = result.value;\n\n if (responseData.languages.listLanguages.error) {\n const { GraphQLError } = await import(\"../../errors.js\");\n return Result.fail(\n new GraphQLError(\n responseData.languages.listLanguages.error.message,\n responseData.languages.listLanguages.error.code\n )\n );\n }\n\n return Result.ok(responseData.languages.listLanguages.data);\n}\n"],"mappings":"AACA,SAASA,MAAM;AAWf,OAAO,eAAeC,aAAaA,CAC/BC,MAAoB,EACpBC,OAAqB,EAC+C;EACpE,MAAM;IAAEC;EAAe,CAAC,GAAG,MAAM,MAAM,uBAAuB,CAAC;EAE/D,MAAMC,KAAK,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EAED,MAAMC,MAAM,GAAG,MAAMF,cAAc,CAACF,MAAM,EAAEC,OAAO,EAAEE,KAAK,EAAE,CAAC,CAAC,CAAC;EAE/D,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;IACjB,OAAOP,MAAM,CAACQ,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;EACpC;EAEA,MAAMC,YAAY,GAAGJ,MAAM,CAACK,KAAK;EAEjC,IAAID,YAAY,CAACE,SAAS,CAACX,aAAa,CAACQ,KAAK,EAAE;IAC5C,MAAM;MAAEI;IAAa,CAAC,GAAG,MAAM,MAAM,kBAAkB,CAAC;IACxD,OAAOb,MAAM,CAACQ,IAAI,CACd,IAAIK,YAAY,CACZH,YAAY,CAACE,SAAS,CAACX,aAAa,CAACQ,KAAK,CAACK,OAAO,EAClDJ,YAAY,CAACE,SAAS,CAACX,aAAa,CAACQ,KAAK,CAACM,IAC/C,CACJ,CAAC;EACL;EAEA,OAAOf,MAAM,CAACgB,EAAE,CAACN,YAAY,CAACE,SAAS,CAACX,aAAa,CAACgB,IAAI,CAAC;AAC/D","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/sdk",
3
- "version": "6.1.0",
3
+ "version": "6.2.0-beta.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -12,14 +12,14 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "p-map": "7.0.4",
15
- "p-retry": "7.1.1"
15
+ "p-retry": "8.0.0"
16
16
  },
17
17
  "author": "Webiny",
18
18
  "license": "MIT",
19
19
  "devDependencies": {
20
- "@webiny/build-tools": "6.1.0",
20
+ "@webiny/build-tools": "6.2.0-beta.0",
21
21
  "typescript": "5.9.3",
22
- "vitest": "4.1.2"
22
+ "vitest": "4.1.4"
23
23
  },
24
24
  "adio": {
25
25
  "ignore": {
@@ -33,5 +33,5 @@
33
33
  "access": "public",
34
34
  "directory": "dist"
35
35
  },
36
- "gitHead": "65e0ac1889b3392c99b8cac6cde508e1e831c715"
36
+ "gitHead": "3d3148358b6febbc857371930871743bec3b3939"
37
37
  }
package/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ export type TokenProvider = string | (() => string | Promise<string>);
1
2
  export interface WebinyConfig {
2
- token?: string;
3
+ token?: TokenProvider;
3
4
  endpoint: string;
4
5
  tenant?: string;
5
6
  headers?: Record<string, string>;
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface WebinyConfig {\n token?: string;\n endpoint: string;\n tenant?: string;\n headers?: Record<string, string>;\n fetch?: typeof fetch;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type TokenProvider = string | (() => string | Promise<string>);\n\nexport interface WebinyConfig {\n token?: TokenProvider;\n endpoint: string;\n tenant?: string;\n headers?: Record<string, string>;\n fetch?: typeof fetch;\n}\n"],"mappings":"","ignoreList":[]}