{"id":15020855,"url":"https://github.com/nailyjs/nest-apple-app-store","last_synced_at":"2025-07-24T00:38:12.151Z","repository":{"id":219338432,"uuid":"748728856","full_name":"nailyjs/nest-apple-app-store","owner":"nailyjs","description":"🍎 Apple App Store Node.js Server SDK for Nest.js  Nest.js版苹果 App Store Node.js服务端SDK","archived":false,"fork":false,"pushed_at":"2024-01-26T19:17:10.000Z","size":386,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"v1","last_synced_at":"2025-06-30T18:52:34.277Z","etag":null,"topics":["app-store","app-store-server-api","apple","nest","nest-module","nestjs","nestjs-backend","nestjs-module"],"latest_commit_sha":null,"homepage":"https://github.com/nailyjs/nest-apple-app-store","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nailyjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-26T16:30:25.000Z","updated_at":"2024-08-19T06:25:18.000Z","dependencies_parsed_at":"2024-01-26T20:53:09.204Z","dependency_job_id":null,"html_url":"https://github.com/nailyjs/nest-apple-app-store","commit_stats":null,"previous_names":["nailyjs/nest-apple-app-store"],"tags_count":0,"template":false,"template_full_name":"zero-template/monorepo","purl":"pkg:github/nailyjs/nest-apple-app-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailyjs%2Fnest-apple-app-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailyjs%2Fnest-apple-app-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailyjs%2Fnest-apple-app-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailyjs%2Fnest-apple-app-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nailyjs","download_url":"https://codeload.github.com/nailyjs/nest-apple-app-store/tar.gz/refs/heads/v1","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nailyjs%2Fnest-apple-app-store/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266774802,"owners_count":23982247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app-store","app-store-server-api","apple","nest","nest-module","nestjs","nestjs-backend","nestjs-module"],"created_at":"2024-09-24T19:55:46.184Z","updated_at":"2025-07-24T00:38:12.133Z","avatar_url":"https://github.com/nailyjs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apple App Store Server SDK for Nest.js 🍎\n\n[中文](./README_CN.md) | English\n\n## Introduction 📖\n\nThis is a Nest.js SDK for Apple App Store Server API. It is based on [apple-app-store-api](https://github.com/apple/app-store-server-library-node).\n\nIt is a Nest.js module that can be easily integrated into Nest.js projects.\n\n## Install 📦\n\n`npm`、`yarn`、`pnpm` are all supported. Recommend `pnpm`.\n\n```bash\npnpm add @nailyjs.nest.modules/app-store @apple/app-store-server-library\n```\n\n## Usage 📚\n\n### Basic Usage 💼\n\n```typescript\nimport { Module } from \"@nestjs/common\";\nimport { AppleAppStoreModule } from \"@nailyjs.nest.modules/app-store\";\n\n@Module({\n  imports: [\n    AppleAppStoreModule.register({\n      // If true, the module can be used across all modules.\n      global: true,\n      clients: {\n        provide: APP_STORE_SERVER_API_CLIENT,\n        signingKey: \"\",\n        issuerId: \"\",\n        bundleId: \"\",\n        keyId: \"\",\n        environment: Environment.SANDBOX,\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nIn your service, you can directly inject the `AppStoreServerAPIClient` instance.\n\n```typescript\nimport { Injectable } from \"@nestjs/common\";\nimport { AppStoreServerAPIClient } from \"@apple/app-store-server-library\";\n\n@Injectable()\nexport class AppStoreService {\n  constructor(private readonly appStoreServerAPIClient: AppStoreServerAPIClient) {}\n\n  // ...\n}\n```\n\n\u003e `AppStoreServerAPIClient` is imported from official package `@apple/app-store-server-library`.\n\n### Async Usage 🚀\n\n```typescript\nimport { Module } from \"@nestjs/common\";\nimport { AppleAppStoreModule } from \"@nailyjs.nest.modules/app-store\";\nimport { Environment } from \"@apple/app-store-server-library\";\n\n@Module({\n  imports: [\n    AppleAppStoreModule.registerAsync({\n      // If true, the module can be used across all modules.\n      global: true,\n      clients: {\n        inject: [],\n        useFactory: () =\u003e {\n          return {\n            signingKey: \"\",\n            issuerId: \"\",\n            bundleId: \"\",\n            keyId: \"\",\n            environment: Environment.SANDBOX,\n          };\n        },\n      },\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Multiple Clients 🔗\n\nAlso can use multiple async clients. The following example shows how to use multiple general clients.\n\n```typescript\nimport { Module } from \"@nestjs/common\";\nimport { AppleAppStoreModule } from \"@nailyjs.nest.modules/app-store\";\nimport { Environment } from \"@apple/app-store-server-library\";\n\nexport const APP_STORE_SERVER_API_CLIENT_ONE = Symbol(\"APP_STORE_SERVER_API_CLIENT_ONE\");\nexport const APP_STORE_SERVER_API_CLIENT_TWO = Symbol(\"APP_STORE_SERVER_API_CLIENT_TWO\");\n\n@Module({\n  imports: [\n    AppleAppStoreModule.register({\n      // If true, the module can be used across all modules.\n      global: true,\n      clients: [\n        {\n          provide: APP_STORE_SERVER_API_CLIENT_ONE,\n          signingKey: \"\",\n          issuerId: \"\",\n          bundleId: \"\",\n          keyId: \"\",\n          environment: Environment.SANDBOX,\n        },\n        {\n          provide: APP_STORE_SERVER_API_CLIENT_TWO,\n          signingKey: \"\",\n          issuerId: \"\",\n          bundleId: \"\",\n          keyId: \"\",\n          environment: Environment.PRODUCTION,\n        },\n      ],\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\nIn your service, you can inject the exported `APP_STORE_SERVER_API_CLIENT_ONE` or `APP_STORE_SERVER_API_CLIENT_TWO` symbol.\n\n```typescript\nimport { Injectable } from \"@nestjs/common\";\nimport { AppStoreServerAPIClient } from \"@apple/app-store-server-library\";\nimport { APP_STORE_SERVER_API_CLIENT_ONE } from \"./app.module\";\n\n@Injectable()\nexport class AppStoreService {\n  constructor(\n    @Inject(APP_STORE_SERVER_API_CLIENT_ONE)\n    private readonly appStoreServerAPIClientOne: AppStoreServerAPIClient,\n    @Inject(APP_STORE_SERVER_API_CLIENT_TWO)\n    private readonly appStoreServerAPIClientTwo: AppStoreServerAPIClient,\n  ) {}\n\n  // ...\n}\n```\n\n## Author 👨‍💻\n\n### Zero\n\n- [GitHub](https://github.com/groupguanfang)\n- [QQ](1203970284)\n\n## Donate ☕️\n\nIf you find this project useful, you can buy author a glass of coffee 🥰\n\n![wechat](./screenshots/wechat.jpg)\n![alipay](./screenshots/alipay.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnailyjs%2Fnest-apple-app-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnailyjs%2Fnest-apple-app-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnailyjs%2Fnest-apple-app-store/lists"}