2023-01-27 03:22:44 -08:00
|
|
|
import type { ICredentialType, INodeProperties } from 'n8n-workflow';
|
2019-06-23 03:35:23 -07:00
|
|
|
|
|
|
|
export class GoogleApi implements ICredentialType {
|
|
|
|
name = 'googleApi';
|
2022-12-02 12:54:28 -08:00
|
|
|
|
2019-06-23 03:35:23 -07:00
|
|
|
displayName = 'Google API';
|
2022-12-02 12:54:28 -08:00
|
|
|
|
2022-10-20 08:52:03 -07:00
|
|
|
documentationUrl = 'google/service-account';
|
2022-12-02 12:54:28 -08:00
|
|
|
|
2021-09-11 01:15:36 -07:00
|
|
|
icon = 'file:Google.svg';
|
2022-12-02 12:54:28 -08:00
|
|
|
|
2021-06-12 09:39:55 -07:00
|
|
|
properties: INodeProperties[] = [
|
2019-06-23 03:35:23 -07:00
|
|
|
{
|
2021-01-10 11:49:47 -08:00
|
|
|
displayName: 'Service Account Email',
|
2019-06-23 03:35:23 -07:00
|
|
|
name: 'email',
|
2021-06-12 09:39:55 -07:00
|
|
|
type: 'string',
|
2022-06-20 07:54:01 -07:00
|
|
|
placeholder: 'name@email.com',
|
2019-06-23 03:35:23 -07:00
|
|
|
default: '',
|
2022-04-13 23:32:27 -07:00
|
|
|
description: 'The Google Service account similar to user-808@project.iam.gserviceaccount.com',
|
2021-09-11 01:15:36 -07:00
|
|
|
required: true,
|
2019-06-23 03:35:23 -07:00
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Private Key',
|
|
|
|
name: 'privateKey',
|
2021-06-12 09:39:55 -07:00
|
|
|
type: 'string',
|
2019-06-23 03:35:23 -07:00
|
|
|
default: '',
|
2022-07-24 08:36:17 -07:00
|
|
|
placeholder:
|
|
|
|
'-----BEGIN PRIVATE KEY-----\nXIYEvQIBADANBg<...>0IhA7TMoGYPQc=\n-----END PRIVATE KEY-----\n',
|
|
|
|
description:
|
|
|
|
'Enter the private key located in the JSON file downloaded from Google Cloud Console',
|
2021-09-11 01:15:36 -07:00
|
|
|
required: true,
|
2023-03-30 05:53:19 -07:00
|
|
|
typeOptions: {
|
|
|
|
password: true,
|
|
|
|
},
|
2019-06-23 03:35:23 -07:00
|
|
|
},
|
2021-01-10 11:49:47 -08:00
|
|
|
{
|
2021-12-24 07:12:18 -08:00
|
|
|
displayName: 'Impersonate a User',
|
2021-01-10 11:49:47 -08:00
|
|
|
name: 'inpersonate',
|
2021-06-12 09:39:55 -07:00
|
|
|
type: 'boolean',
|
2021-01-10 11:49:47 -08:00
|
|
|
default: false,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
displayName: 'Email',
|
|
|
|
name: 'delegatedEmail',
|
2021-06-12 09:39:55 -07:00
|
|
|
type: 'string',
|
2021-01-10 11:49:47 -08:00
|
|
|
default: '',
|
|
|
|
displayOptions: {
|
|
|
|
show: {
|
2022-07-24 08:36:17 -07:00
|
|
|
inpersonate: [true],
|
2021-01-10 11:49:47 -08:00
|
|
|
},
|
|
|
|
},
|
2022-07-24 08:36:17 -07:00
|
|
|
description:
|
|
|
|
'The email address of the user for which the application is requesting delegated access',
|
2021-01-10 11:49:47 -08:00
|
|
|
},
|
2019-06-23 03:35:23 -07:00
|
|
|
];
|
|
|
|
}
|