API 참조

Packages

설치된 앱 나열, APK 메타데이터 보기, 태그 관리를 수행합니다.

타입 정의

bash
type Package {
  id: ID!                    # package name e.g. "com.example.app"
  name: String!              # display name
  type: String!              # "user" | "system"
  version: String!           # "versionName (versionCode)"
  path: String!              # APK path
  size: Int!                 # bytes
  certs: [PackageCert!]!
  installedAt: String!       # ISO 8601
  updatedAt: String!
  tags: [Tag!]!
}

type PackageCert {
  issuer: String!
  subject: String!
  serialNumber: String!
  validFrom: String!
  validTo: String!
}

type PackageStatus {
  id: ID!                 # package name
  installed: Boolean!
  updatedAt: String       # ISO 8601, null when not installed
}

type PackageInstallPending {
  packageName: String!
  updatedAt: String!
  isNew: Boolean!
}

작업

query

packages

설치된 패키지를 검색합니다. 모두 나열하려면 쿼리를 비워 두십시오.

bash
query GetPackages($offset: Int!, $limit: Int!, $query: String!, $sortBy: FileSortBy!) {
  packages(offset: $offset, limit: $limit, query: $query, sortBy: $sortBy) {
    id name type version path size
    certs { issuer subject serialNumber validFrom validTo }
    installedAt updatedAt
    tags { id name }
  }
}
query

packageStatuses

패키지 이름 목록의 설치 상태와 updatedAt 타임스탬프를 조회합니다.

bash
query GetPackageStatuses($ids: [ID!]!) {
  packageStatuses(ids: $ids) { id installed updatedAt }
}
query

packageCount

쿼리와 일치하는 패키지 수를 셉니다.

bash
query GetPackageCount($query: String!) {
  packageCount(query: $query)
}
mutation

installPackage

절대 파일 경로로 APK를 설치 (또는 업데이트)합니다. 패키지 이름, 마지막 업데이트 시간, 패키지가 새로 설치되었는지 여부를 반환합니다.

bash
mutation InstallPackage($path: String!) {
  installPackage(path: $path) { packageName updatedAt isNew }
}
mutation

uninstallPackages

각 패키지 ID에 대해 시스템 제거 프롬프트를 시작합니다. 사용자가 기기에서 확인해야 합니다.

bash
mutation UninstallPackages($ids: [ID!]!) {
  uninstallPackages(ids: $ids)
}