Skip to content

Commit 13b9a2e

Browse files
Th3R3p0makserik
andauthored
Adding UiEditable param to createService (#529)
* feat(@twilio-labs/serverless-api): adding UiEditable param to createService * Create changeset * Update changeset --------- Co-authored-by: makserik <[email protected]>
1 parent 255da3b commit 13b9a2e

File tree

6 files changed

+25
-11
lines changed

6 files changed

+25
-11
lines changed

Diff for: .changeset/spicy-buckets-count.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@twilio-labs/serverless-api": minor
3+
"@twilio-labs/plugin-serverless": minor
4+
---
5+
6+
Adding UiEditable param to createService

Diff for: packages/plugin-serverless/src/utils.js

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ function createExternalCliOptions(flags, twilioClient) {
8080
const pluginInfo = {
8181
version: pkgJson.version,
8282
name: pkgJson.name,
83+
uiEditable: pkgJson.uiEditable,
8384
};
8485

8586
if (

Diff for: packages/serverless-api/src/api/services.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,24 @@ const log = debug('twilio-serverless-api:services');
1414
* @export
1515
* @param {string} serviceName the unique name for the service
1616
* @param {TwilioServerlessApiClient} client API client
17+
* @param {boolean} uiEditable Whether the Service's properties and subresources can be edited via the UI. The default value is false.
1718
* @returns {Promise<string>}
1819
*/
1920
export async function createService(
2021
serviceName: string,
21-
client: TwilioServerlessApiClient
22+
client: TwilioServerlessApiClient,
23+
uiEditable: boolean = false
2224
): Promise<string> {
2325
try {
2426
const resp = await client.request('post', 'Services', {
2527
form: {
2628
UniqueName: serviceName,
2729
FriendlyName: serviceName,
2830
IncludeCredentials: true,
31+
UiEditable: uiEditable,
2932
},
3033
});
31-
const service = (resp.body as unknown) as ServiceResource;
34+
const service = resp.body as unknown as ServiceResource;
3235

3336
return service.sid;
3437
} catch (err) {
@@ -82,7 +85,7 @@ export async function getService(
8285
): Promise<ServiceResource> {
8386
try {
8487
const resp = await client.request('get', `Services/${sid}`);
85-
return (resp.body as unknown) as ServiceResource;
88+
return resp.body as unknown as ServiceResource;
8689
} catch (err) {
8790
log('%O', new ClientApiError(err));
8891
throw err;

Diff for: packages/serverless-api/src/client.ts

+7-8
Original file line numberDiff line numberDiff line change
@@ -507,13 +507,8 @@ export class TwilioServerlessApiClient extends events.EventEmitter {
507507
*/
508508
async activateBuild(activateConfig: ActivateConfig): Promise<ActivateResult> {
509509
try {
510-
let {
511-
buildSid,
512-
targetEnvironment,
513-
serviceSid,
514-
sourceEnvironment,
515-
env,
516-
} = activateConfig;
510+
let { buildSid, targetEnvironment, serviceSid, sourceEnvironment, env } =
511+
activateConfig;
517512

518513
if (!buildSid && !sourceEnvironment) {
519514
const error = new Error(
@@ -630,7 +625,11 @@ export class TwilioServerlessApiClient extends events.EventEmitter {
630625
message: 'Creating Service',
631626
});
632627
try {
633-
serviceSid = await createService(config.serviceName, this);
628+
serviceSid = await createService(
629+
config.serviceName,
630+
this,
631+
config.uiEditable
632+
);
634633
} catch (err) {
635634
const alternativeServiceSid = await findServiceSid(
636635
config.serviceName,

Diff for: packages/serverless-api/src/types/deploy.ts

+4
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ type DeployProjectConfigBase = {
4747
* Version of Node.js to deploy with in Twilio Runtime. Can be "node18"
4848
*/
4949
runtime?: string;
50+
/**
51+
* Whether the Service's properties and subresources can be edited via the UI. The default value is false.
52+
*/
53+
uiEditable?: boolean;
5054
};
5155

5256
/**

Diff for: packages/serverless-api/src/types/serverless-api.ts

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ export interface ServiceResource extends UpdateableResourceBase {
4848
unique_name: string;
4949
include_credentials: boolean;
5050
friendly_name: string;
51+
ui_editable?: boolean;
5152
}
5253

5354
export interface ServiceList extends BaseList<'services'> {

0 commit comments

Comments
 (0)