{"id":19042444,"url":"https://github.com/serverless/platform-sdk","last_synced_at":"2025-04-23T22:28:11.611Z","repository":{"id":57140117,"uuid":"135588069","full_name":"serverless/platform-sdk","owner":"serverless","description":"Serverless Platform SDK","archived":false,"fork":false,"pushed_at":"2020-09-17T12:32:32.000Z","size":562,"stargazers_count":17,"open_issues_count":5,"forks_count":6,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-10-04T15:47:19.579Z","etag":null,"topics":["faas","serverless","serverless-applications"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/serverless.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-31T13:33:37.000Z","updated_at":"2023-09-08T17:41:11.000Z","dependencies_parsed_at":"2022-09-05T00:20:45.426Z","dependency_job_id":null,"html_url":"https://github.com/serverless/platform-sdk","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fplatform-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fplatform-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fplatform-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serverless%2Fplatform-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serverless","download_url":"https://codeload.github.com/serverless/platform-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223625090,"owners_count":17175341,"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","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":["faas","serverless","serverless-applications"],"created_at":"2024-11-08T22:37:36.097Z","updated_at":"2024-11-08T22:37:36.783Z","avatar_url":"https://github.com/serverless.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Platform SDK (deprecated)\n\n_*Note*: This package is deprecated in favor of [@serverless/platform-client](https://www.npmjs.com/package/@serverless/platform-client). It accepts only bug fixes_\n\nFunctional SDK for the Serverless Platfrom.\n\n## Project Status\n\n[![Build Status](https://travis-ci.com/serverless/platform-sdk.svg)](https://travis-ci.com/serverless/platform-sdk)\n[![license](https://img.shields.io/npm/l/@serverless/platform-sdk.svg)](https://www.npmjs.com/package/@serverless/platform-sdk)\n[![coverage](https://img.shields.io/codecov/c/github/serverless/platform-sdk.svg)](https://codecov.io/gh/serverless/platform-sdk)\n[![Known Vulnerabilities](https://snyk.io/test/github/serverless/platform-sdk/badge.svg)](https://snyk.io/test/github/serverless/platform-sdk)\n\n## Contents\n\n- [Installation](#installation)\n- [Functions](#functions)\n  - [login](#login)\n  - [refreshToken](#refreshtoken)\n  - [createAccessKey](#createaccesskey)\n  - [archiveService](#archiveservice)\n  - [getServiceUrl](#getserviceurl)\n  - [listTenants](#listtenants)\n  - [createDeployment](#createdeployment)\n  - [updateDeployment](#updatedeployment)\n  - [getApp](#getapp)\n  - [createApp](#createapp)\n\n## installation\n\n```\nnpm i -s @serverless/platform-sdk\n```\n\n## Functions\n\n### `login`\n\nOpens a browser for the user to login, along with a running server awaiting auth data once the user logs in.\n\n**Parameters**\n\nNone\n\n**Returns**\n\nPromise resolving to the following object:\n\n- `username` - `string` - dashboard username\n- `accessToken` - `string` - Auth0 access token\n- `idToken` - `string` - Auth0 idToken\n- `refreshToken` - `string` - Auth0 refreshToken\n- `expiresAt` - `string` - epoch time at which the idToken expires\n\n**Example**\n\n```js\nconst { login } = require('@serverless/platform-sdk')\n\nconst { username, accessToken, idToken, expiresAt } = await login()\n```\n\n---\n\n### `refreshToken`\n\nRefreshes Auth0 idToken\n\n**Parameters**\n\nrefresh token string\n\n**Returns**\n\nPromise resolving to the following object:\n\n- `id_token` - `string` - new Auth0 id token\n- `access_token` - `string` - new Auth0 access token\n- `expires_in` - `string` - number of seconds until token expiration\n\n**Example**\n\n```js\nconst { refreshToken } = require('@serverless/platform-sdk')\n\nconst { id_token, access_token, expires_in } = await refreshToken('some-refresh-token')\n```\n\n---\n\n### `createAccessKey`\n\nCreates a platform access key for the authenticated user.\n\n**Parameters**\n\nObject\n\n- `username` - `string` - dashboard username\n- `tenant` - `string` - dashboard tenant\n- `idToken` - `string` - Auth0 idToken\n- `title` - `string` - title of the access key\n\n**Returns**\n\nPromise resolving to an `accessKey` string, that is the access key.\n\n**Example**\n\n```js\nconst { createAccessKey } = require('@serverless/platform-sdk')\n\nconst data = {\n  username: 'eahefnawy',\n  tenant: 'eahefnawy',\n  idToken: 'abc',\n  title: 'Framework'\n}\n\nconst accessKey = await createAccessKey(data)\n```\n\n---\n\n### `archiveService`\n\nArchives a service in the platform.\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant\n- `accessKey` - `string` - dashboard access key\n- `app` - `string` - service app\n- `name` - `string` - service name\n- `provider` - `string` - provider name\n- `region` - `string` - region name\n\n**Returns**\n\nNone\n\n**Example**\n\n```js\nconst { archiveService } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  accessKey: 'abc',\n  app: 'my-app',\n  name: 'my-service',\n  provider: 'aws',\n  region: 'us-east-1'\n}\n\nawait archiveService(data)\n```\n\n---\n\n### `getServiceUrl`\n\nConstructs a service url based on passed-in data.\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant\n- `app` - `string` - service app\n- `name` - `string` - service name\n\n**Returns**\n\nThe service url string.\n\n**Example**\n\n```js\nconst { getServiceUrl } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  app: 'my-app',\n  name: 'my-service'\n}\n\nconst serviceUrl = getServiceUrl(data)\n```\n\n---\n\n### `listTenants`\n\nLists the tenants for a given username\n\n**Parameters**\n\nObject\n\n- `username` - `string` - dashboard username\n- `idToken` - `string` - auth0 user id token\n\n**Returns**\n\nArray of objects, each represents a single tenant data model.\n\n**Example**\n\n```js\nconst { listTenants } = require('@serverless/platform-sdk')\n\nconst data = {\n  username: 'eahefnawy',\n  idToken: 'abc'\n}\n\nconst tenants = await listTenants(data)\n```\n\n---\n\n### `createDeploymnet`\n\nCreates a platform deployment\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant name\n- `app` - `string` - app name\n- `serviceName` - `string` - service name\n- `accessKey` - `string` - dashboard access key\n- `files` - `object` - files which should be stored in the Platforms deployment record\n\n**Returns**\n\nObject - Deployment model\n\n**Example**\n\n```js\nconst { createDeployment } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  app: 'my-app',\n  serviceName: 'my-service',\n  accessKey: 'abc',\n  files: {\n    'serverless-state.json': {\n      //...snip...\n    }\n  }\n}\n\nconst { id } = await createDeployment(data)\n```\n\n---\n\n### `updateDeployment`\n\nUpdates a platform deployment\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant name\n- `app` - `string` - app name\n- `serviceName` - `string` - service name\n- `deploymentId` - `string` - id of the previously created deployment\n- `status` - `string` - status of the deployment to update\n- `accessKey` - `string` - dashboard access key\n- `computedData` - `object` - computed data the Platform needs to generate the state items\n\n**Returns**\n\nObject - Deployment model\n\n**Example**\n\n```js\nconst { updateDeployment } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  app: 'my-app',\n  serviceName: 'my-service',\n  deploymentId: 'abc',\n  status: 'failed',\n  accessKey: 'abc',\n  computedData: {\n    // ...snip...\n  }\n}\n\nconst { id } = await updateDeployment(data)\n```\n\n---\n\n### `getApp`\n\nGets a platform app\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant name\n- `app` - `string` - app name\n- `token` - `string` - Auth0 id token\n\n**Returns**\n\nObject - App model\n\n**Example**\n\n```js\nconst { getApp } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  app: 'my-app',\n  token: 'abc'\n}\n\nconst app = await getApp(data)\n```\n\n---\n\n### `createApp`\n\nCreates a platform app\n\n**Parameters**\n\nObject\n\n- `tenant` - `string` - dashboard tenant name\n- `app` - `string` - app name\n- `token` - `string` - Auth0 id token\n\n**Returns**\n\nObject - App model\n\n**Example**\n\n```js\nconst { createApp } = require('@serverless/platform-sdk')\n\nconst data = {\n  tenant: 'eahefnawy',\n  app: 'my-app',\n  token: 'abc'\n}\n\nconst app = await createApp(data)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless%2Fplatform-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserverless%2Fplatform-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserverless%2Fplatform-sdk/lists"}