@phase.dev/phase-node
v3.2.0
Published
Node.js SDK for Phase
Readme
Node.js SDK for Phase
SDK to integrate Phase in server-side applications running Node.js
Install
npm i @phase.dev/phase-node or yarn add @phase.dev/phase-node
Import
const Phase = require("@phase.dev/phase-node");Initialize
Initialize the SDK with your PAT or service account token:
const token = 'pss_service...'
const phase = new Phase(token)Usage
Get Secrets
Get all secrets in an environment:
const getOptions: GetSecretOptions = {
appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
envName: "Development",
};
const secrets = await phase.get(getOptions);Get a specific key:
import { GetSecretOptions } from "@phase.dev/phase-node";
const getOptions: GetSecretOptions = {
appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
envName: "Development",
key: "foo"
};
const secrets = await phase.get(getOptions);Create Secrets
Create one or more secrets in a specified application and environment:
import { CreateSecretOptions } from "@phase.dev/phase-node";
const createOptions: CreateSecretOptions = {
appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
envName: "Development",
secrets: [
{
key: "API_KEY",
value: "your-api-key",
comment: 'test key for dev'
},
{
key: "DB_PASSWORD",
value: "your-db-password",
path: "/database",
}
]
};
await phase.create(createOptions);Update Secrets
Update existing secrets in a specified application and environment:
import { UpdateSecretOptions } from "@phase.dev/phase-node";
const updateOptions: UpdateSecretOptions = {
appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
envName: "Development",
secrets: [
{
id: "28f5d66e-b006-4d34-8e32-88e1d3478299",
value: 'newvalue'
},
],
};
await phase.update(updateOptions);Delete Secrets
Delete one or more secrets from a specified application and environment:
import { DeleteSecretOptions } from "@phase.dev/phase-node";
const secretsToDelete = secrets.map((secret) => secret.id);
const deleteOptions: DeleteSecretOptions = {
appId: "3b7443aa-3a7c-4791-849a-42aafc9cbe66",
envName: "Development",
secretIds: secretsToDelete,
};
await phase.delete(deleteOptions);Development
Please see CONTRIBUTING.md for more information on how to contribute.
