{"version":3,"file":"z3.cjs","sources":["../../../../src/resources/classes/z3.ts"],"sourcesContent":["// AUTOGENERATED -- DO NOT EDIT\n\nimport {\n  OystehrClientRequest,\n  Z3CreateBucketParams,\n  Z3CreateBucketResponse,\n  Z3DeleteBucketParams,\n  Z3DeleteObjectParams,\n  Z3GetPresignedUrlParams,\n  Z3GetPresignedUrlResponse,\n  Z3ListBucketsResponse,\n  Z3ListObjectsParams,\n  Z3ListObjectsResponse,\n} from '../..';\nimport { SDKResource } from '../../client/client';\nimport { OystehrConfig } from '../../config';\nimport * as ext from './z3-ext';\n\nexport class Z3 extends SDKResource {\n  constructor(config: OystehrConfig) {\n    super(config);\n  }\n  #baseUrlThunk(): string {\n    return this.config.services?.['projectApiUrl'] ?? 'https://project-api.zapehr.com/v1';\n  }\n  /**\n   * Uploads a file to the bucket and key. Files should be Blobs.\n   * @param params upload file params\n   */\n  uploadFile = ext.uploadFile;\n  /**\n   * Downloads an object matching the bucket and key. File content is returned as an ArrayBuffer.\n   * @param params download file params\n   */\n  downloadFile = ext.downloadFile;\n  /**\n   * This helper performs a `getPresignedUrl` request for Z3 URLs of the forms\n   * `https://projects-api.oystehr.com/v1/z3/<bucket>/<key>` or `z3://<bucket>/<key>`\n   * instead of the standard SDK `Z3GetPresignedUrlParams`.\n   * @param params url and action\n   */\n  getPresignedUrlForZ3Url = ext.getPresignedUrlForZ3Url;\n  /**\n   * List all Z3 Buckets. [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:ListBuckets`\n   * Access Policy Resource: `Z3:BucketName`\n   */\n  listBuckets(request?: OystehrClientRequest): Promise<Z3ListBucketsResponse> {\n    return this.request('/z3', 'get', this.#baseUrlThunk.bind(this))(request);\n  }\n  /**\n   * Create a Z3 Bucket with the provided name. [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:CreateBucket`\n   * Access Policy Resource: `Z3:*`\n   */\n  createBucket(params: Z3CreateBucketParams, request?: OystehrClientRequest): Promise<Z3CreateBucketResponse> {\n    return this.request('/z3/{bucketName}', 'put', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Delete the Z3 Bucket with the provided name. [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:DeleteBucket`\n   * Access Policy Resource: `Z3:BucketName`\n   */\n  deleteBucket(params: Z3DeleteBucketParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/z3/{bucketName}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * List all Z3 Objects at the provided path in the Bucket with the provided name [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:ListObjects`\n   * Access Policy Resource: `Z3:BucketName:ObjectPath`\n   */\n  listObjects(params: Z3ListObjectsParams, request?: OystehrClientRequest): Promise<Z3ListObjectsResponse> {\n    return this.request('/z3/{bucketName}/{objectPath+}', 'get', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Get a link for downloading or uploading a Z3 Object to the provided path in the Bucket with the provided name. [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:PutObject` or `Z3:GetObject`\n   * Access Policy Resource: `Z3:BucketName:ObjectPath`\n   */\n  getPresignedUrl(params: Z3GetPresignedUrlParams, request?: OystehrClientRequest): Promise<Z3GetPresignedUrlResponse> {\n    return this.request('/z3/{bucketName}/{objectPath+}', 'post', this.#baseUrlThunk.bind(this))(params, request);\n  }\n  /**\n   * Delete the Z3 Object at the provided path in the Bucket with the provided name. [Z3](https://docs.oystehr.com/oystehr/services/z3/) is Oystehr's built-in and fully integrated solution for file storage.\n   *\n   * Access Policy Action: `Z3:DeleteObject`\n   * Access Policy Resource: `Z3:BucketName:ObjectPath`\n   */\n  deleteObject(params: Z3DeleteObjectParams, request?: OystehrClientRequest): Promise<void> {\n    return this.request('/z3/{bucketName}/{objectPath+}', 'delete', this.#baseUrlThunk.bind(this))(params, request);\n  }\n}\n"],"names":["SDKResource","ext.uploadFile","ext.downloadFile","ext.getPresignedUrlForZ3Url"],"mappings":";;;;;AAAA;AAkBM,MAAO,EAAG,SAAQA,kBAAW,CAAA;AACjC,IAAA,WAAA,CAAY,MAAqB,EAAA;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;KACf;IACD,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,IAAI,mCAAmC,CAAC;KACvF;AACD;;;AAGG;AACH,IAAA,UAAU,GAAGC,gBAAc,CAAC;AAC5B;;;AAGG;AACH,IAAA,YAAY,GAAGC,kBAAgB,CAAC;AAChC;;;;;AAKG;AACH,IAAA,uBAAuB,GAAGC,6BAA2B,CAAC;AACtD;;;;;AAKG;AACH,IAAA,WAAW,CAAC,OAA8B,EAAA;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC3E;AACD;;;;;AAKG;IACH,YAAY,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChG;AACD;;;;;AAKG;IACH,YAAY,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnG;AACD;;;;;AAKG;IACH,WAAW,CAAC,MAA2B,EAAE,OAA8B,EAAA;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9G;AACD;;;;;AAKG;IACH,eAAe,CAAC,MAA+B,EAAE,OAA8B,EAAA;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/G;AACD;;;;;AAKG;IACH,YAAY,CAAC,MAA4B,EAAE,OAA8B,EAAA;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjH;AACF;;;;"}