@friggframework/api-module-pipedrive 1.0.1-v1-alpha.5 → 2.1.0-canary.56.2dc58f9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +10 -3
- package/README.md +3 -2
- package/defaultConfig.json +9 -7
- package/dist/api.d.ts +59 -0
- package/dist/api.js +160 -0
- package/dist/definition.d.ts +4 -0
- package/dist/definition.js +79 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +9 -0
- package/package.json +31 -21
- package/.eslintrc.json +0 -3
- package/CHANGELOG.md +0 -171
- package/api.js +0 -117
- package/index.js +0 -13
- package/jest-setup.js +0 -2
- package/jest-teardown.js +0 -2
- package/jest.config.js +0 -20
- package/manager.js +0 -193
- package/manager.test.js +0 -26
- package/mocks/activities/createActivity.js +0 -172
- package/mocks/activities/deleteActivity.js +0 -3
- package/mocks/activities/listActivities.js +0 -1538
- package/mocks/activities/updateActivity.js +0 -172
- package/mocks/apiMock.js +0 -28
- package/mocks/deals/listDeals.js +0 -236
- package/models/credential.js +0 -21
- package/models/entity.js +0 -9
- package/test/Api.test.js +0 -157
- package/test/Manager.test.js +0 -138
package/LICENSE.md
CHANGED
|
@@ -2,8 +2,15 @@ MIT License
|
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2022 Left Hook Inc.
|
|
4
4
|
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
6
|
+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
7
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
9
|
|
|
7
|
-
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or
|
|
10
|
+
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or
|
|
11
|
+
substantial portions of the Software.
|
|
8
12
|
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
14
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
15
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
16
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# pipedrive
|
|
2
|
-
|
|
3
|
-
This is the API Module for pipedrive that allows the [Frigg](https://friggframework.org) code to talk to the pipedrive
|
|
2
|
+
|
|
3
|
+
This is the API Module for pipedrive that allows the [Frigg](https://friggframework.org) code to talk to the pipedrive
|
|
4
|
+
API.
|
|
4
5
|
|
|
5
6
|
Read more on the [Frigg documentation site](https://docs.friggframework.org/api-modules/list/pipedrive
|
package/defaultConfig.json
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
2
|
+
"name": "pipedrive",
|
|
3
|
+
"label": "PipeDrive CRM",
|
|
4
|
+
"productUrl": "https://pipedrive.com",
|
|
5
|
+
"apiDocs": "https://developer.pipedrive.com",
|
|
6
|
+
"logoUrl": "https://friggframework.org/assets/img/pipedrive-icon.png",
|
|
7
|
+
"categories": [
|
|
8
|
+
"Sales"
|
|
9
|
+
],
|
|
10
|
+
"description": "Pipedrive"
|
|
9
11
|
}
|
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { OAuth2Requester } from '@friggframework/core';
|
|
2
|
+
import { OAuth2RequesterOptions, ActivityParams, ListActivitiesParams, ListDealsParams, ListPersonsParams, GetPersonParams, PipedriveResponse, PipedriveUser, PipedriveTokenResponse } from './types';
|
|
3
|
+
export declare class Api extends OAuth2Requester {
|
|
4
|
+
companyDomain: string | null;
|
|
5
|
+
URLs: {
|
|
6
|
+
activities: string;
|
|
7
|
+
activityFields: string;
|
|
8
|
+
activityById: (activityId: string | number) => string;
|
|
9
|
+
getUser: string;
|
|
10
|
+
users: string;
|
|
11
|
+
deals: string;
|
|
12
|
+
persons: string;
|
|
13
|
+
personById: (personId: string | number) => string;
|
|
14
|
+
};
|
|
15
|
+
constructor(params: OAuth2RequesterOptions);
|
|
16
|
+
/**
|
|
17
|
+
* Sets OAuth tokens and captures the Pipedrive company domain
|
|
18
|
+
* @param params - Token response from OAuth provider
|
|
19
|
+
* @param params.api_domain - The Pipedrive company-specific API domain (e.g., 'https://company.pipedrive.com')
|
|
20
|
+
* @returns Token response
|
|
21
|
+
*/
|
|
22
|
+
setTokens(params: PipedriveTokenResponse): Promise<PipedriveTokenResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the company domain and updates the base URL for API requests
|
|
25
|
+
* @param companyDomain - The Pipedrive company domain (e.g., 'https://company.pipedrive.com' or 'company.pipedrive.com')
|
|
26
|
+
*/
|
|
27
|
+
setCompanyDomain(companyDomain: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* List deals with v2 API support
|
|
30
|
+
* @param params - Query parameters for filtering and pagination
|
|
31
|
+
* @returns Response with deal data array and pagination cursor
|
|
32
|
+
*/
|
|
33
|
+
listDeals(params?: ListDealsParams): Promise<PipedriveResponse>;
|
|
34
|
+
listActivityFields(): Promise<PipedriveResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* List activities with v2 API support
|
|
37
|
+
* @param params - Query parameters for filtering and pagination
|
|
38
|
+
* @returns Response with activity data array and pagination cursor
|
|
39
|
+
*/
|
|
40
|
+
listActivities(params?: ListActivitiesParams): Promise<PipedriveResponse>;
|
|
41
|
+
deleteActivity(activityId: string | number): Promise<PipedriveResponse>;
|
|
42
|
+
updateActivity(activityId: string | number, task: Partial<ActivityParams>): Promise<PipedriveResponse>;
|
|
43
|
+
createActivity(params: ActivityParams): Promise<PipedriveResponse>;
|
|
44
|
+
getUser(): Promise<PipedriveUser>;
|
|
45
|
+
listUsers(): Promise<PipedriveResponse>;
|
|
46
|
+
/**
|
|
47
|
+
* List persons with v2 API support
|
|
48
|
+
* @param params - Query parameters for filtering and pagination
|
|
49
|
+
* @returns Response with person data array and pagination cursor
|
|
50
|
+
*/
|
|
51
|
+
listPersons(params?: ListPersonsParams): Promise<PipedriveResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Get a single person by ID
|
|
54
|
+
* @param personId - The ID of the person to retrieve
|
|
55
|
+
* @param params - Query parameters for additional fields
|
|
56
|
+
* @returns Response with person data
|
|
57
|
+
*/
|
|
58
|
+
getPerson(personId: string | number, params?: GetPersonParams): Promise<PipedriveResponse>;
|
|
59
|
+
}
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Api = void 0;
|
|
4
|
+
const core_1 = require("@friggframework/core");
|
|
5
|
+
class Api extends core_1.OAuth2Requester {
|
|
6
|
+
constructor(params) {
|
|
7
|
+
super(params);
|
|
8
|
+
this.companyDomain = (0, core_1.get)(params, 'companyDomain', null);
|
|
9
|
+
if (this.companyDomain) {
|
|
10
|
+
this.baseUrl = `${this.companyDomain}/api`;
|
|
11
|
+
}
|
|
12
|
+
this.URLs = {
|
|
13
|
+
activities: '/v2/activities',
|
|
14
|
+
activityFields: '/v1/activityFields',
|
|
15
|
+
activityById: (activityId) => `/v2/activities/${activityId}`,
|
|
16
|
+
getUser: '/v1/users/me',
|
|
17
|
+
users: '/v1/users',
|
|
18
|
+
deals: '/v2/deals',
|
|
19
|
+
persons: '/v2/persons',
|
|
20
|
+
personById: (personId) => `/v2/persons/${personId}`,
|
|
21
|
+
};
|
|
22
|
+
this.authorizationUri = encodeURI(`https://oauth.pipedrive.com/oauth/authorize?client_id=${this.client_id}&redirect_uri=${this.redirect_uri}&response_type=code&scope=${this.scope}`);
|
|
23
|
+
this.tokenUri = 'https://oauth.pipedrive.com/oauth/token';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Sets OAuth tokens and captures the Pipedrive company domain
|
|
27
|
+
* @param params - Token response from OAuth provider
|
|
28
|
+
* @param params.api_domain - The Pipedrive company-specific API domain (e.g., 'https://company.pipedrive.com')
|
|
29
|
+
* @returns Token response
|
|
30
|
+
*/
|
|
31
|
+
async setTokens(params) {
|
|
32
|
+
if (params.api_domain) {
|
|
33
|
+
await this.setCompanyDomain(params.api_domain);
|
|
34
|
+
}
|
|
35
|
+
else if (!this.companyDomain) {
|
|
36
|
+
throw new Error('Pipedrive api_domain not provided in token response');
|
|
37
|
+
}
|
|
38
|
+
return super.setTokens(params);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets the company domain and updates the base URL for API requests
|
|
42
|
+
* @param companyDomain - The Pipedrive company domain (e.g., 'https://company.pipedrive.com' or 'company.pipedrive.com')
|
|
43
|
+
*/
|
|
44
|
+
async setCompanyDomain(companyDomain) {
|
|
45
|
+
if (!companyDomain) {
|
|
46
|
+
throw new Error('Company domain is required for Pipedrive API');
|
|
47
|
+
}
|
|
48
|
+
const formattedDomain = companyDomain.startsWith('http')
|
|
49
|
+
? companyDomain
|
|
50
|
+
: `https://${companyDomain}`;
|
|
51
|
+
this.companyDomain = formattedDomain;
|
|
52
|
+
this.baseUrl = `${this.companyDomain}/api`;
|
|
53
|
+
}
|
|
54
|
+
// ************************** Deals **********************************
|
|
55
|
+
/**
|
|
56
|
+
* List deals with v2 API support
|
|
57
|
+
* @param params - Query parameters for filtering and pagination
|
|
58
|
+
* @returns Response with deal data array and pagination cursor
|
|
59
|
+
*/
|
|
60
|
+
async listDeals(params) {
|
|
61
|
+
const options = {
|
|
62
|
+
url: this.baseUrl + this.URLs.deals,
|
|
63
|
+
};
|
|
64
|
+
if (params && Object.keys(params).length > 0) {
|
|
65
|
+
options.query = params;
|
|
66
|
+
}
|
|
67
|
+
return this._get(options);
|
|
68
|
+
}
|
|
69
|
+
// ************************** Activities **********************************
|
|
70
|
+
async listActivityFields() {
|
|
71
|
+
const options = {
|
|
72
|
+
url: this.baseUrl + this.URLs.activityFields,
|
|
73
|
+
};
|
|
74
|
+
return this._get(options);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* List activities with v2 API support
|
|
78
|
+
* @param params - Query parameters for filtering and pagination
|
|
79
|
+
* @returns Response with activity data array and pagination cursor
|
|
80
|
+
*/
|
|
81
|
+
async listActivities(params) {
|
|
82
|
+
const options = {
|
|
83
|
+
url: this.baseUrl + this.URLs.activities,
|
|
84
|
+
};
|
|
85
|
+
if (params && Object.keys(params).length > 0) {
|
|
86
|
+
options.query = params;
|
|
87
|
+
}
|
|
88
|
+
return this._get(options);
|
|
89
|
+
}
|
|
90
|
+
async deleteActivity(activityId) {
|
|
91
|
+
const options = {
|
|
92
|
+
url: this.baseUrl + this.URLs.activityById(activityId),
|
|
93
|
+
};
|
|
94
|
+
return this._delete(options);
|
|
95
|
+
}
|
|
96
|
+
async updateActivity(activityId, task) {
|
|
97
|
+
const options = {
|
|
98
|
+
url: this.baseUrl + this.URLs.activityById(activityId),
|
|
99
|
+
body: task,
|
|
100
|
+
};
|
|
101
|
+
return this._patch(options);
|
|
102
|
+
}
|
|
103
|
+
async createActivity(params) {
|
|
104
|
+
const dealId = (0, core_1.get)(params, 'dealId', null);
|
|
105
|
+
const subject = (0, core_1.get)(params, 'subject');
|
|
106
|
+
const type = (0, core_1.get)(params, 'type');
|
|
107
|
+
const options = {
|
|
108
|
+
url: this.baseUrl + this.URLs.activities,
|
|
109
|
+
body: { ...params },
|
|
110
|
+
headers: {
|
|
111
|
+
'Content-Type': 'application/json',
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
return this._post(options);
|
|
115
|
+
}
|
|
116
|
+
// ************************** Users **********************************
|
|
117
|
+
async getUser() {
|
|
118
|
+
const options = {
|
|
119
|
+
url: this.baseUrl + this.URLs.getUser,
|
|
120
|
+
};
|
|
121
|
+
return this._get(options);
|
|
122
|
+
}
|
|
123
|
+
async listUsers() {
|
|
124
|
+
const options = {
|
|
125
|
+
url: this.baseUrl + this.URLs.users,
|
|
126
|
+
};
|
|
127
|
+
return this._get(options);
|
|
128
|
+
}
|
|
129
|
+
// ************************** Persons **********************************
|
|
130
|
+
/**
|
|
131
|
+
* List persons with v2 API support
|
|
132
|
+
* @param params - Query parameters for filtering and pagination
|
|
133
|
+
* @returns Response with person data array and pagination cursor
|
|
134
|
+
*/
|
|
135
|
+
async listPersons(params) {
|
|
136
|
+
const options = {
|
|
137
|
+
url: this.baseUrl + this.URLs.persons,
|
|
138
|
+
};
|
|
139
|
+
if (params && Object.keys(params).length > 0) {
|
|
140
|
+
options.query = params;
|
|
141
|
+
}
|
|
142
|
+
return this._get(options);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Get a single person by ID
|
|
146
|
+
* @param personId - The ID of the person to retrieve
|
|
147
|
+
* @param params - Query parameters for additional fields
|
|
148
|
+
* @returns Response with person data
|
|
149
|
+
*/
|
|
150
|
+
async getPerson(personId, params) {
|
|
151
|
+
const options = {
|
|
152
|
+
url: this.baseUrl + this.URLs.personById(personId),
|
|
153
|
+
};
|
|
154
|
+
if (params && Object.keys(params).length > 0) {
|
|
155
|
+
options.query = params;
|
|
156
|
+
}
|
|
157
|
+
return this._get(options);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.Api = Api;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Definition = void 0;
|
|
7
|
+
require("dotenv/config");
|
|
8
|
+
const api_1 = require("./api");
|
|
9
|
+
const core_1 = require("@friggframework/core");
|
|
10
|
+
const defaultConfig_json_1 = __importDefault(require("../defaultConfig.json"));
|
|
11
|
+
const Definition = {
|
|
12
|
+
API: api_1.Api,
|
|
13
|
+
getName: () => defaultConfig_json_1.default.name,
|
|
14
|
+
moduleName: defaultConfig_json_1.default.name,
|
|
15
|
+
modelName: 'Pipedrive',
|
|
16
|
+
requiredAuthMethods: {
|
|
17
|
+
getToken: async (api, params) => {
|
|
18
|
+
const code = (0, core_1.get)(params.data, 'code', '');
|
|
19
|
+
if (!code) {
|
|
20
|
+
throw new Error('Authorization code is required');
|
|
21
|
+
}
|
|
22
|
+
return api.getTokenFromCode(code);
|
|
23
|
+
},
|
|
24
|
+
getEntityDetails: async (api, callbackParams, tokenResponse, userId) => {
|
|
25
|
+
try {
|
|
26
|
+
const userProfile = await api.getUser();
|
|
27
|
+
if (!userProfile || !userProfile.data) {
|
|
28
|
+
throw new Error(`Pipedrive /v1/users/me failed to return valid user info. Response: ${JSON.stringify(userProfile)}`);
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
identifiers: {
|
|
32
|
+
externalId: String(userProfile.data.company_id),
|
|
33
|
+
user: userId
|
|
34
|
+
},
|
|
35
|
+
details: {
|
|
36
|
+
name: userProfile.data.company_name || 'Unknown Company'
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
throw new Error(`Failed to get Pipedrive entity details: ${error.message}`);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
apiPropertiesToPersist: {
|
|
45
|
+
credential: [
|
|
46
|
+
'access_token',
|
|
47
|
+
'refresh_token',
|
|
48
|
+
'companyDomain'
|
|
49
|
+
],
|
|
50
|
+
entity: [],
|
|
51
|
+
},
|
|
52
|
+
getCredentialDetails: async (api, userId) => {
|
|
53
|
+
try {
|
|
54
|
+
const userProfile = await api.getUser();
|
|
55
|
+
if (!userProfile || !userProfile.data) {
|
|
56
|
+
throw new Error(`Pipedrive /v1/users/me failed to return valid user info. Response: ${JSON.stringify(userProfile)}`);
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
identifiers: {
|
|
60
|
+
externalId: String(userProfile.data.id),
|
|
61
|
+
user: userId
|
|
62
|
+
},
|
|
63
|
+
details: {}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
throw new Error(`Failed to get Pipedrive credential details: ${error.message}`);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
testAuthRequest: async (api) => api.getUser(),
|
|
71
|
+
},
|
|
72
|
+
env: {
|
|
73
|
+
client_id: process.env.PIPEDRIVE_CLIENT_ID,
|
|
74
|
+
client_secret: process.env.PIPEDRIVE_CLIENT_SECRET,
|
|
75
|
+
scope: process.env.PIPEDRIVE_SCOPE,
|
|
76
|
+
redirect_uri: `${process.env.REDIRECT_URI}/pipedrive`,
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
exports.Definition = Definition;
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PipedriveAPI = exports.Definition = exports.Api = void 0;
|
|
4
|
+
const api_1 = require("./api");
|
|
5
|
+
Object.defineProperty(exports, "Api", { enumerable: true, get: function () { return api_1.Api; } });
|
|
6
|
+
Object.defineProperty(exports, "PipedriveAPI", { enumerable: true, get: function () { return api_1.Api; } });
|
|
7
|
+
const definition_1 = require("./definition");
|
|
8
|
+
Object.defineProperty(exports, "Definition", { enumerable: true, get: function () { return definition_1.Definition; } });
|
|
9
|
+
exports.default = definition_1.Definition;
|
package/package.json
CHANGED
|
@@ -1,23 +1,33 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
2
|
+
"name": "@friggframework/api-module-pipedrive",
|
|
3
|
+
"version": "2.1.0-canary.56.2dc58f9.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc -p tsconfig.json",
|
|
9
|
+
"prepare": "npm run build",
|
|
10
|
+
"test": "vitest run",
|
|
11
|
+
"test:watch": "vitest",
|
|
12
|
+
"lint": "eslint ."
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist/**/*",
|
|
16
|
+
"defaultConfig.json",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE.md"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@friggframework/core": "^2.0.0",
|
|
22
|
+
"dotenv": "^16.0.0"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/node": "^20.8.0",
|
|
26
|
+
"typescript": "^5.4.0",
|
|
27
|
+
"vitest": "^1.0.0"
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"gitHead": "2dc58f950aad42005d2a4d536615fff6420f6a1d"
|
|
23
33
|
}
|
package/.eslintrc.json
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
# v0.9.0 (Wed Sep 06 2023)
|
|
2
|
-
|
|
3
|
-
#### 🐛 Bug Fix
|
|
4
|
-
|
|
5
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
6
|
-
|
|
7
|
-
#### Authors: 1
|
|
8
|
-
|
|
9
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# v0.8.26 (Thu Jun 08 2023)
|
|
14
|
-
|
|
15
|
-
#### 🐛 Bug Fix
|
|
16
|
-
|
|
17
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
18
|
-
|
|
19
|
-
#### Authors: 1
|
|
20
|
-
|
|
21
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# v0.8.25 (Thu May 25 2023)
|
|
26
|
-
|
|
27
|
-
#### 🐛 Bug Fix
|
|
28
|
-
|
|
29
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
30
|
-
|
|
31
|
-
#### Authors: 1
|
|
32
|
-
|
|
33
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
# v0.8.24 (Tue Apr 04 2023)
|
|
38
|
-
|
|
39
|
-
#### 🐛 Bug Fix
|
|
40
|
-
|
|
41
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
42
|
-
|
|
43
|
-
#### Authors: 1
|
|
44
|
-
|
|
45
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
# v0.8.23 (Tue Feb 21 2023)
|
|
50
|
-
|
|
51
|
-
#### 🐛 Bug Fix
|
|
52
|
-
|
|
53
|
-
- Merge branch 'main' into hubspot-updates ([@seanspeaks](https://github.com/seanspeaks))
|
|
54
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
55
|
-
|
|
56
|
-
#### Authors: 1
|
|
57
|
-
|
|
58
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
# v0.8.21 (Tue Jan 31 2023)
|
|
63
|
-
|
|
64
|
-
#### 🐛 Bug Fix
|
|
65
|
-
|
|
66
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
67
|
-
|
|
68
|
-
#### Authors: 1
|
|
69
|
-
|
|
70
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
# v0.8.19 (Wed Jan 11 2023)
|
|
75
|
-
|
|
76
|
-
#### 🐛 Bug Fix
|
|
77
|
-
|
|
78
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
79
|
-
|
|
80
|
-
#### Authors: 1
|
|
81
|
-
|
|
82
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
# v0.8.18 (Tue Jan 10 2023)
|
|
87
|
-
|
|
88
|
-
:tada: This release contains work from a new contributor! :tada:
|
|
89
|
-
|
|
90
|
-
Thank you, Jonathan O'Donnell ([@joncodo](https://github.com/joncodo)), for all your work!
|
|
91
|
-
|
|
92
|
-
#### 🐛 Bug Fix
|
|
93
|
-
|
|
94
|
-
- Merge branch 'main' of github.com:friggframework/frigg into doc-updates ([@joncodo](https://github.com/joncodo))
|
|
95
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
96
|
-
|
|
97
|
-
#### Authors: 2
|
|
98
|
-
|
|
99
|
-
- Jonathan O'Donnell ([@joncodo](https://github.com/joncodo))
|
|
100
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
# v0.8.17 (Mon Jan 09 2023)
|
|
105
|
-
|
|
106
|
-
#### 🐛 Bug Fix
|
|
107
|
-
|
|
108
|
-
- Merge remote-tracking branch 'origin/main' into gitbook-updates [#48](https://github.com/friggframework/frigg/pull/48) ([@seanspeaks](https://github.com/seanspeaks))
|
|
109
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
110
|
-
- A lot of changes all rolled into one [#21](https://github.com/friggframework/frigg/pull/21) ([@seanspeaks](https://github.com/seanspeaks))
|
|
111
|
-
- Updated API modules with support for sls offline, and made sure optional chaining with discriminators was in place ([@seanspeaks](https://github.com/seanspeaks))
|
|
112
|
-
- Fixing dependencies across all API Modules ([@seanspeaks](https://github.com/seanspeaks))
|
|
113
|
-
- More import issues (Exports are named objects, imports needed to object destructure) ([@seanspeaks](https://github.com/seanspeaks))
|
|
114
|
-
- Updates to API Modules for proper export/imports ([@seanspeaks](https://github.com/seanspeaks))
|
|
115
|
-
- Merge remote-tracking branch 'origin/main' into simplify-mongoose-models ([@seanspeaks](https://github.com/seanspeaks))
|
|
116
|
-
- Update all api modules to use module-plugin models ([@seanspeaks](https://github.com/seanspeaks))
|
|
117
|
-
- Add READMEs for all packages and api-modules [#20](https://github.com/friggframework/frigg/pull/20) ([@seanspeaks](https://github.com/seanspeaks))
|
|
118
|
-
- Add READMEs for all packages and api-modules ([@seanspeaks](https://github.com/seanspeaks))
|
|
119
|
-
|
|
120
|
-
#### ⚠️ Pushed to `main`
|
|
121
|
-
|
|
122
|
-
- Merge branch 'main' into gitbook-updates ([@seanspeaks](https://github.com/seanspeaks))
|
|
123
|
-
- Finish initial formatting and publishing of all modules ([@seanspeaks](https://github.com/seanspeaks))
|
|
124
|
-
|
|
125
|
-
#### Authors: 1
|
|
126
|
-
|
|
127
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
# v0.8.14 (Tue Dec 06 2022)
|
|
132
|
-
|
|
133
|
-
#### 🐛 Bug Fix
|
|
134
|
-
|
|
135
|
-
- fix modules to @friggframework [#74](https://github.com/friggframework/frigg/pull/74) ([@sheehantoufiq](https://github.com/sheehantoufiq))
|
|
136
|
-
- Bump independent versions \[skip ci\] ([@seanspeaks](https://github.com/seanspeaks))
|
|
137
|
-
|
|
138
|
-
#### Authors: 2
|
|
139
|
-
|
|
140
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
141
|
-
- Sheehan Toufiq Khan ([@sheehantoufiq](https://github.com/sheehantoufiq))
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
# v0.8.11 (Mon Sep 19 2022)
|
|
146
|
-
|
|
147
|
-
#### 🐛 Bug Fix
|
|
148
|
-
|
|
149
|
-
- Test environment setup for all modules [#49](https://github.com/friggframework/frigg/pull/49) ([@seanspeaks](https://github.com/seanspeaks))
|
|
150
|
-
- Test environment setup for all modules ([@seanspeaks](https://github.com/seanspeaks))
|
|
151
|
-
- Merge remote-tracking branch 'origin/main' into gitbook-updates [#48](https://github.com/friggframework/frigg/pull/48) ([@seanspeaks](https://github.com/seanspeaks))
|
|
152
|
-
|
|
153
|
-
#### Authors: 1
|
|
154
|
-
|
|
155
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
# v0.8.10 (Thu Sep 01 2022)
|
|
160
|
-
|
|
161
|
-
#### 🐛 Bug Fix
|
|
162
|
-
|
|
163
|
-
- version bumped to address tag issue [#43](https://github.com/friggframework/frigg/pull/43) ([@seanspeaks](https://github.com/seanspeaks))
|
|
164
|
-
- version bumped ([@seanspeaks](https://github.com/seanspeaks))
|
|
165
|
-
- Publish ([@seanspeaks](https://github.com/seanspeaks))
|
|
166
|
-
- Add nx and licenses [#37](https://github.com/friggframework/frigg/pull/37) ([@seanspeaks](https://github.com/seanspeaks))
|
|
167
|
-
- MIT to all packages ([@seanspeaks](https://github.com/seanspeaks))
|
|
168
|
-
|
|
169
|
-
#### Authors: 1
|
|
170
|
-
|
|
171
|
-
- Sean Matthews ([@seanspeaks](https://github.com/seanspeaks))
|