@forestadmin/forestadmin-client 1.37.1 → 1.37.2

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.
@@ -0,0 +1,12 @@
1
+ import type { ActivityLogResponse, CreateActivityLogParams, UpdateActivityLogStatusParams } from '../types';
2
+ export type ActivityLogsOptions = {
3
+ forestServerUrl: string;
4
+ headers?: Record<string, string>;
5
+ };
6
+ export default class ActivityLogsService {
7
+ private options;
8
+ constructor(options: ActivityLogsOptions);
9
+ createActivityLog(params: CreateActivityLogParams): Promise<ActivityLogResponse>;
10
+ updateActivityLogStatus(params: UpdateActivityLogStatusParams): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,68 @@
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
+ const server_1 = __importDefault(require("../utils/server"));
7
+ class ActivityLogsService {
8
+ constructor(options) {
9
+ this.options = options;
10
+ }
11
+ async createActivityLog(params) {
12
+ const { forestServerToken, renderingId, action, type, collectionName, recordId, recordIds, label, } = params;
13
+ const { data: activityLog } = await server_1.default.queryWithBearerToken({
14
+ forestServerUrl: this.options.forestServerUrl,
15
+ method: 'post',
16
+ path: '/api/activity-logs-requests',
17
+ bearerToken: forestServerToken,
18
+ headers: this.options.headers,
19
+ body: {
20
+ data: {
21
+ id: 1,
22
+ type: 'activity-logs-requests',
23
+ attributes: {
24
+ type,
25
+ action,
26
+ label,
27
+ status: 'pending',
28
+ // Ensure all record IDs are converted to strings
29
+ records: (recordIds || (recordId ? [recordId] : [])).map(String),
30
+ },
31
+ relationships: {
32
+ rendering: {
33
+ data: {
34
+ id: renderingId,
35
+ type: 'renderings',
36
+ },
37
+ },
38
+ collection: {
39
+ data: collectionName
40
+ ? {
41
+ id: collectionName,
42
+ type: 'collections',
43
+ }
44
+ : null,
45
+ },
46
+ },
47
+ },
48
+ },
49
+ });
50
+ return activityLog;
51
+ }
52
+ async updateActivityLogStatus(params) {
53
+ const { forestServerToken, activityLog, status, errorMessage } = params;
54
+ await server_1.default.queryWithBearerToken({
55
+ forestServerUrl: this.options.forestServerUrl,
56
+ method: 'patch',
57
+ path: `/api/activity-logs-requests/${activityLog.attributes.index}/${activityLog.id}/status`,
58
+ bearerToken: forestServerToken,
59
+ headers: this.options.headers,
60
+ body: {
61
+ status,
62
+ ...(errorMessage && { errorMessage }),
63
+ },
64
+ });
65
+ }
66
+ }
67
+ exports.default = ActivityLogsService;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWN0aXZpdHktbG9ncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQU1BLDZEQUEwQztBQU8xQyxNQUFxQixtQkFBbUI7SUFDdEMsWUFBb0IsT0FBNEI7UUFBNUIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7SUFBRyxDQUFDO0lBRXBELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUErQjtRQUNyRCxNQUFNLEVBQ0osaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLGNBQWMsRUFDZCxRQUFRLEVBQ1IsU0FBUyxFQUNULEtBQUssR0FDTixHQUFHLE1BQU0sQ0FBQztRQUVYLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxnQkFBVyxDQUFDLG9CQUFvQixDQUVqRTtZQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsNkJBQTZCO1lBQ25DLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUM3QixJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFO29CQUNKLEVBQUUsRUFBRSxDQUFDO29CQUNMLElBQUksRUFBRSx3QkFBd0I7b0JBQzlCLFVBQVUsRUFBRTt3QkFDVixJQUFJO3dCQUNKLE1BQU07d0JBQ04sS0FBSzt3QkFDTCxNQUFNLEVBQUUsU0FBUzt3QkFDakIsaURBQWlEO3dCQUNqRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztxQkFDakU7b0JBQ0QsYUFBYSxFQUFFO3dCQUNiLFNBQVMsRUFBRTs0QkFDVCxJQUFJLEVBQUU7Z0NBQ0osRUFBRSxFQUFFLFdBQVc7Z0NBQ2YsSUFBSSxFQUFFLFlBQVk7NkJBQ25CO3lCQUNGO3dCQUNELFVBQVUsRUFBRTs0QkFDVixJQUFJLEVBQUUsY0FBYztnQ0FDbEIsQ0FBQyxDQUFDO29DQUNFLEVBQUUsRUFBRSxjQUFjO29DQUNsQixJQUFJLEVBQUUsYUFBYTtpQ0FDcEI7Z0NBQ0gsQ0FBQyxDQUFDLElBQUk7eUJBQ1Q7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBcUM7UUFDakUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXhFLE1BQU0sZ0JBQVcsQ0FBQyxvQkFBb0IsQ0FBQztZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQzdDLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLCtCQUErQixXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsRUFBRSxTQUFTO1lBQzVGLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTztZQUM3QixJQUFJLEVBQUU7Z0JBQ0osTUFBTTtnQkFDTixHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7YUFDdEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF6RUQsc0NBeUVDIn0=
@@ -7,4 +7,6 @@ export declare class AuthenticationError extends Error {
7
7
  }
8
8
  export declare class ForbiddenError extends Error {
9
9
  }
10
+ export declare class NotFoundError extends Error {
11
+ }
10
12
  //# sourceMappingURL=errors.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForbiddenError = exports.AuthenticationError = void 0;
3
+ exports.NotFoundError = exports.ForbiddenError = exports.AuthenticationError = void 0;
4
4
  class AuthenticationError extends Error {
5
5
  constructor(e) {
6
6
  super(e.message);
@@ -14,4 +14,7 @@ exports.AuthenticationError = AuthenticationError;
14
14
  class ForbiddenError extends Error {
15
15
  }
16
16
  exports.ForbiddenError = ForbiddenError;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsbUJBQW9CLFNBQVEsS0FBSztJQUs1QyxZQUFZLENBQWlCO1FBQzNCLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBYkQsa0RBYUM7QUFFRCxNQUFhLGNBQWUsU0FBUSxLQUFLO0NBQUc7QUFBNUMsd0NBQTRDIn0=
17
+ class NotFoundError extends Error {
18
+ }
19
+ exports.NotFoundError = NotFoundError;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsbUJBQW9CLFNBQVEsS0FBSztJQUs1QyxZQUFZLENBQWlCO1FBQzNCLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBYkQsa0RBYUM7QUFFRCxNQUFhLGNBQWUsU0FBUSxLQUFLO0NBQUc7QUFBNUMsd0NBQTRDO0FBRTVDLE1BQWEsYUFBYyxTQUFRLEtBQUs7Q0FBRztBQUEzQyxzQ0FBMkMifQ==
@@ -27,7 +27,6 @@ class AuthService {
27
27
  async getUserInfo(renderingId, accessToken) {
28
28
  const url = `/liana/v2/renderings/${renderingId}/authorization`;
29
29
  const headers = { 'forest-token': accessToken };
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
30
  const response = await server_1.default.query(this.options, 'get', url, headers);
32
31
  return {
33
32
  id: Number(response.data.id),
@@ -80,4 +79,4 @@ class AuthService {
80
79
  }
81
80
  }
82
81
  exports.default = AuthService;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLGlEQUErQztBQUUvQyxxQ0FBK0M7QUFDL0MsNkRBQTBDO0FBRTFDLE1BQXFCLFdBQVc7SUFHOUIsWUFBb0IsT0FBNkM7UUFBN0MsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7SUFBRyxDQUFDO0lBRXJFOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxJQUFJO1FBQ2YsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCx3RUFBd0U7WUFDeEUsbUVBQW1FO1lBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNqQixNQUFNLEVBQ04scUZBQXFGLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDakcsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFtQixFQUFFLFdBQW1CO1FBQy9ELE1BQU0sR0FBRyxHQUFHLHdCQUF3QixXQUFXLGdCQUFnQixDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRWhELDhEQUE4RDtRQUM5RCxNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFXLENBQUMsS0FBSyxDQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVqRixPQUFPO1lBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUNyQyxTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVTtZQUM5QyxR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
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLGlEQUErQztBQUUvQyxxQ0FBK0M7QUFDL0MsNkRBQTBDO0FBaUIxQyxNQUFxQixXQUFXO0lBRzlCLFlBQW9CLE9BQTZDO1FBQTdDLFlBQU8sR0FBUCxPQUFPLENBQXNDO0lBQUcsQ0FBQztJQUVyRTs7O09BR0c7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsd0VBQXdFO1lBQ3hFLG1FQUFtRTtZQUNuRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDakIsTUFBTSxFQUNOLHFGQUFxRixDQUFDLENBQUMsT0FBTyxFQUFFLENBQ2pHLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBbUIsRUFBRSxXQUFtQjtRQUMvRCxNQUFNLEdBQUcsR0FBRyx3QkFBd0IsV0FBVyxnQkFBZ0IsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVoRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFXLENBQUMsS0FBSyxDQUFtQixJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUYsT0FBTztZQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDckMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7WUFDOUMsUUFBUSxFQUFFLFFB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
@@ -2,6 +2,7 @@ import type { RefreshEventsHandlerService } from './events-subscription/types';
2
2
  import type { McpServerConfigService } from './mcp-server-config';
3
3
  import type { ModelCustomizationService } from './model-customizations/types';
4
4
  import type { ForestAdminAuthServiceInterface, ForestAdminClientOptions, ForestAdminClientOptionsWithDefaults, ForestAdminServerInterface } from './types';
5
+ import ActivityLogsService from './activity-logs';
5
6
  import ChartHandler from './charts/chart-handler';
6
7
  import EventsSubscriptionService from './events-subscription';
7
8
  import IpWhiteListService from './ip-whitelist';
@@ -13,6 +14,7 @@ export default function buildApplicationServices(forestAdminServerInterface: For
13
14
  optionsWithDefaults: ForestAdminClientOptionsWithDefaults;
14
15
  renderingPermission: RenderingPermissionService;
15
16
  schema: SchemaService;
17
+ activityLogs: ActivityLogsService;
16
18
  contextVariables: ContextVariablesInstantiator;
17
19
  ipWhitelist: IpWhiteListService;
18
20
  permission: PermissionService;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = buildApplicationServices;
7
+ const activity_logs_1 = __importDefault(require("./activity-logs"));
7
8
  const chart_handler_1 = __importDefault(require("./charts/chart-handler"));
8
9
  const events_subscription_1 = __importDefault(require("./events-subscription"));
9
10
  const native_refresh_events_handler_service_1 = __importDefault(require("./events-subscription/native-refresh-events-handler-service"));
@@ -43,9 +44,10 @@ function buildApplicationServices(forestAdminServerInterface, options) {
43
44
  chartHandler: new chart_handler_1.default(contextVariables),
44
45
  ipWhitelist: new ip_whitelist_1.default(optionsWithDefaults),
45
46
  schema: new schema_1.default(optionsWithDefaults),
47
+ activityLogs: new activity_logs_1.default(optionsWithDefaults),
46
48
  auth: forestAdminServerInterface.makeAuthService(optionsWithDefaults),
47
49
  modelCustomizationService: new model_customization_from_api_1.default(forestAdminServerInterface, optionsWithDefaults),
48
50
  mcpServerConfigService: new mcp_server_config_1.default(forestAdminServerInterface, optionsWithDefaults),
49
51
  };
50
52
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF3QkEsMkNBMEVDO0FBeEZELDJFQUFrRDtBQUNsRCxnRkFBOEQ7QUFDOUQsd0lBQTRHO0FBQzVHLGtFQUFnRDtBQUNoRCw0RUFBZ0U7QUFDaEUsdUhBQW1HO0FBQ25HLHdGQUFzRTtBQUN0RSxnR0FBb0U7QUFDcEUsOEZBQTRFO0FBQzVFLG9GQUFrRTtBQUNsRSxzREFBcUM7QUFDckMsNEdBQWtGO0FBQ2xGLDRFQUFtRDtBQUVuRCxTQUF3Qix3QkFBd0IsQ0FDOUMsMEJBQXNELEVBQ3RELE9BQWlDO0lBZWpDLE1BQU0sbUJBQW1CLEdBQUc7UUFDMUIsZUFBZSxFQUFFLDZCQUE2QjtRQUM5QyxpQ0FBaUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtRQUMxQyxNQUFNLEVBQUUsd0JBQWE7UUFDckIsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixZQUFZLEVBQUUsSUFBSTtRQUNsQixHQUFHLE9BQU87S0FDWCxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSx5QkFBcUIsQ0FDL0MsbUJBQW1CLEVBQ25CLDBCQUEwQixDQUMzQixDQUFDO0lBRUYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDhCQUEwQixDQUN4RCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDBCQUEwQixDQUMzQixDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDJCQUF1QixDQUNsRCxtQkFBbUIsRUFDbkIsMEJBQTBCLENBQzNCLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksd0NBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUUvRSxNQUFNLFVBQVUsR0FBRyxJQUFJLCtCQUFpQixDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFFaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSwrQ0FBaUMsQ0FDekQsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixtQkFBbUIsQ0FDcEIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSw2QkFBeUIsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU3RixPQUFPO1FBQ0wsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsWUFBWSxFQUFFLElBQUksdUJBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxXQUFXLEVBQUUsSUFBSSxzQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztRQUN4RCxNQUFNLEVBQUUsSUFBSSxnQkFBYSxDQUFDLG1CQUFtQixDQUFDO1FBQzlDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUM7UUFDckUseUJBQXlCLEVBQUUsSUFBSSxzQ0FBZ0MsQ0FDN0QsMEJBQTBCLEVBQzFCLG1CQUFtQixDQUNwQjtRQUNELHNCQUFzQixFQUFFLElBQUksMkJBQTZCLENBQ3ZELDBCQUEwQixFQUMxQixtQkFBbUIsQ0FDcEI7S0FDRixDQUFDO0FBQ0osQ0FBQyJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF5QkEsMkNBNEVDO0FBM0ZELG9FQUFrRDtBQUNsRCwyRUFBa0Q7QUFDbEQsZ0ZBQThEO0FBQzlELHdJQUE0RztBQUM1RyxrRUFBZ0Q7QUFDaEQsNEVBQWdFO0FBQ2hFLHVIQUFtRztBQUNuRyx3RkFBc0U7QUFDdEUsZ0dBQW9FO0FBQ3BFLDhGQUE0RTtBQUM1RSxvRkFBa0U7QUFDbEUsc0RBQXFDO0FBQ3JDLDRHQUFrRjtBQUNsRiw0RUFBbUQ7QUFFbkQsU0FBd0Isd0JBQXdCLENBQzlDLDBCQUFzRCxFQUN0RCxPQUFpQztJQWdCakMsTUFBTSxtQkFBbUIsR0FBRztRQUMxQixlQUFlLEVBQUUsNkJBQTZCO1FBQzlDLGlDQUFpQyxFQUFFLEVBQUUsR0FBRyxFQUFFO1FBQzFDLE1BQU0sRUFBRSx3QkFBYTtRQUNyQixtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsT0FBTztLQUNYLENBQUM7SUFFRixNQUFNLGVBQWUsR0FBRyxJQUFJLHlCQUFxQixDQUMvQyxtQkFBbUIsRUFDbkIsMEJBQTBCLENBQzNCLENBQUM7SUFFRixNQUFNLG1CQUFtQixHQUFHLElBQUksOEJBQTBCLENBQ3hELG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsMEJBQTBCLENBQzNCLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksMkJBQXVCLENBQ2xELG1CQUFtQixFQUNuQiwwQkFBMEIsQ0FDM0IsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx3Q0FBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRS9FLE1BQU0sVUFBVSxHQUFHLElBQUksK0JBQWlCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUVoRixNQUFNLGFBQWEsR0FBRyxJQUFJLCtDQUFpQyxDQUN6RCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLG1CQUFtQixDQUNwQixDQUFDO0lBRUYsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLDZCQUF5QixDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRTdGLE9BQU87UUFDTCxtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixZQUFZLEVBQUUsSUFBSSx1QkFBWSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hELFdBQVcsRUFBRSxJQUFJLHNCQUFrQixDQUFDLG1CQUFtQixDQUFDO1FBQ3hELE1BQU0sRUFBRSxJQUFJLGdCQUFhLENBQUMsbUJBQW1CLENBQUM7UUFDOUMsWUFBWSxFQUFFLElBQUksdUJBQW1CLENBQUMsbUJBQW1CLENBQUM7UUFDMUQsSUFBSSxFQUFFLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztRQUNyRSx5QkFBeUIsRUFBRSxJQUFJLHNDQUFnQyxDQUM3RCwwQkFBMEIsRUFDMUIsbUJBQW1CLENBQ3BCO1FBQ0Qsc0JBQXNCLEVBQUUsSUFBSSwyQkFBNkIsQ0FDdkQsMEJBQTBCLEVBQzFCLG1CQUFtQixDQUNwQjtLQUNGLENBQUM7QUFDSixDQUFDIn0=
@@ -1,3 +1,4 @@
1
+ import type ActivityLogsService from './activity-logs';
1
2
  import type ChartHandler from './charts/chart-handler';
2
3
  import type { BaseEventsSubscriptionService, RefreshEventsHandlerService } from './events-subscription/types';
3
4
  import type IpWhiteListService from './ip-whitelist';
@@ -17,13 +18,14 @@ export default class ForestAdminClientWithCache implements ForestAdminClient {
17
18
  readonly contextVariablesInstantiator: ContextVariablesInstantiator;
18
19
  readonly chartHandler: ChartHandler;
19
20
  protected readonly ipWhitelistService: IpWhiteListService;
20
- protected readonly schemaService: SchemaService;
21
+ readonly schemaService: SchemaService;
22
+ readonly activityLogsService: ActivityLogsService;
21
23
  readonly authService: ForestAdminAuthServiceInterface;
22
24
  readonly modelCustomizationService: ModelCustomizationService;
23
25
  readonly mcpServerConfigService: McpServerConfigService;
24
26
  protected readonly eventsSubscription: BaseEventsSubscriptionService;
25
27
  protected readonly eventsHandler: RefreshEventsHandlerService;
26
- constructor(options: ForestAdminClientOptionsWithDefaults, permissionService: PermissionService, renderingPermissionService: RenderingPermissionService, contextVariablesInstantiator: ContextVariablesInstantiator, chartHandler: ChartHandler, ipWhitelistService: IpWhiteListService, schemaService: SchemaService, authService: ForestAdminAuthServiceInterface, modelCustomizationService: ModelCustomizationService, mcpServerConfigService: McpServerConfigService, eventsSubscription: BaseEventsSubscriptionService, eventsHandler: RefreshEventsHandlerService);
28
+ constructor(options: ForestAdminClientOptionsWithDefaults, permissionService: PermissionService, renderingPermissionService: RenderingPermissionService, contextVariablesInstantiator: ContextVariablesInstantiator, chartHandler: ChartHandler, ipWhitelistService: IpWhiteListService, schemaService: SchemaService, activityLogsService: ActivityLogsService, authService: ForestAdminAuthServiceInterface, modelCustomizationService: ModelCustomizationService, mcpServerConfigService: McpServerConfigService, eventsSubscription: BaseEventsSubscriptionService, eventsHandler: RefreshEventsHandlerService);
27
29
  verifySignedActionParameters<TSignedParameters>(signedParameters: string): TSignedParameters;
28
30
  getIpWhitelistConfiguration(): Promise<IpWhitelistConfiguration>;
29
31
  postSchema(schema: ForestSchema): Promise<boolean>;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const verify_approval_1 = __importDefault(require("./permissions/verify-approval"));
7
7
  class ForestAdminClientWithCache {
8
- constructor(options, permissionService, renderingPermissionService, contextVariablesInstantiator, chartHandler, ipWhitelistService, schemaService, authService, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler) {
8
+ constructor(options, permissionService, renderingPermissionService, contextVariablesInstantiator, chartHandler, ipWhitelistService, schemaService, activityLogsService, authService, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler) {
9
9
  this.options = options;
10
10
  this.permissionService = permissionService;
11
11
  this.renderingPermissionService = renderingPermissionService;
@@ -13,6 +13,7 @@ class ForestAdminClientWithCache {
13
13
  this.chartHandler = chartHandler;
14
14
  this.ipWhitelistService = ipWhitelistService;
15
15
  this.schemaService = schemaService;
16
+ this.activityLogsService = activityLogsService;
16
17
  this.authService = authService;
17
18
  this.modelCustomizationService = modelCustomizationService;
18
19
  this.mcpServerConfigService = mcpServerConfigService;
@@ -52,4 +53,4 @@ class ForestAdminClientWithCache {
52
53
  }
53
54
  }
54
55
  exports.default = ForestAdminClientWithCache;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXFCQSxvRkFBcUU7QUFFckUsTUFBcUIsMEJBQTBCO0lBQzdDLFlBQ3FCLE9BQTZDLEVBQ2hELGlCQUFvQyxFQUNqQywwQkFBc0QsRUFDekQsNEJBQTBELEVBQzFELFlBQTBCLEVBQ3ZCLGtCQUFzQyxFQUN0QyxhQUE0QixFQUMvQixXQUE0QyxFQUM1Qyx5QkFBb0QsRUFDcEQsc0JBQThDLEVBQzNDLGtCQUFpRCxFQUNqRCxhQUEwQztRQVgxQyxZQUFPLEdBQVAsT0FBTyxDQUFzQztRQUNoRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2pDLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDekQsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtRQUMxRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQy9CLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztRQUM1Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDM0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUErQjtRQUNqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7SUFDNUQsQ0FBQztJQUVKLDRCQUE0QixDQUFvQixnQkFBd0I7UUFDdEUsT0FBTyxJQUFBLHlCQUF3QixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQW9CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQTRCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQW1DO1FBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0Y7QUE3REQsNkNBNkRDIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWFkbWluLWNsaWVudC13aXRoLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZvcmVzdC1hZG1pbi1jbGllbnQtd2l0aC1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXNCQSxvRkFBcUU7QUFFckUsTUFBcUIsMEJBQTBCO0lBQzdDLFlBQ3FCLE9BQTZDLEVBQ2hELGlCQUFvQyxFQUNqQywwQkFBc0QsRUFDekQsNEJBQTBELEVBQzFELFlBQTBCLEVBQ3ZCLGtCQUFzQyxFQUN6QyxhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsV0FBNEMsRUFDNUMseUJBQW9ELEVBQ3BELHNCQUE4QyxFQUMzQyxrQkFBaUQsRUFDakQsYUFBMEM7UUFaMUMsWUFBTyxHQUFQLE9BQU8sQ0FBc0M7UUFDaEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNqQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3pELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDMUQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztRQUM1Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDM0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUErQjtRQUNqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7SUFDNUQsQ0FBQztJQUVKLDRCQUE0QixDQUFvQixnQkFBd0I7UUFDdEUsT0FBTyxJQUFBLHlCQUF3QixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQW9CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFDcEIsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEdBS2Y7UUFDQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7WUFDOUMsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFdBQTRCO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyx1QkFBdUI7UUFDbEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE9BQW1DO1FBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0Y7QUE5REQsNkNBOERDIn0=
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@ export { default as JTWUnableToVerifyError } from './permissions/errors/jwt-unab
4
4
  export { default as ChainedSQLQueryError } from './permissions/errors/chained-sql-query-error';
5
5
  export { default as EmptySQLQueryError } from './permissions/errors/empty-sql-query-error';
6
6
  export { default as NonSelectSQLQueryError } from './permissions/errors/non-select-sql-query-error';
7
- export { ForestAdminClientOptions, Logger, LoggerLevel, ForestAdminClient, ChartHandlerInterface, ContextVariablesInstantiatorInterface, RawTree, RawTreeWithSources, ForestAdminServerInterface, } from './types';
7
+ export { ForestAdminClientOptions, Logger, LoggerLevel, ForestAdminClient, ChartHandlerInterface, ContextVariablesInstantiatorInterface, RawTree, RawTreeWithSources, ForestAdminServerInterface, ForestSchemaField, ForestSchemaAction, ForestSchemaCollection, ActivityLogResponse, ActivityLogAction, ActivityLogType, CreateActivityLogParams, UpdateActivityLogStatusParams, ActivityLogsServiceInterface, SchemaServiceInterface, } from './types';
8
8
  export { IpWhitelistConfiguration } from './ip-whitelist/types';
9
9
  export { CollectionActionEvent, EnvironmentPermissionsV4, RenderingPermissionV4, UserPermissionV4, } from './permissions/types';
10
10
  export { UserInfo } from './auth/types';
@@ -19,6 +19,7 @@ export { default as ForestAdminClientWithCache } from './forest-admin-client-wit
19
19
  export { default as buildApplicationServices } from './build-application-services';
20
20
  export { HttpOptions } from './permissions/forest-http-api';
21
21
  export { default as ForestHttpApi } from './permissions/forest-http-api';
22
- export { default as SchemaService } from './schema';
22
+ export { default as SchemaService, SchemaServiceOptions } from './schema';
23
+ export { default as ActivityLogsService, ActivityLogsOptions } from './activity-logs';
23
24
  export * from './auth/errors';
24
25
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.SchemaService = exports.ForestHttpApi = exports.buildApplicationServices = exports.ForestAdminClientWithCache = exports.ChartHandler = exports.ContextVariables = exports.ContextVariablesInjector = exports.CollectionActionEvent = exports.NonSelectSQLQueryError = exports.EmptySQLQueryError = exports.ChainedSQLQueryError = exports.JTWUnableToVerifyError = exports.JTWTokenExpiredError = void 0;
20
+ exports.ActivityLogsService = exports.SchemaService = exports.ForestHttpApi = exports.buildApplicationServices = exports.ForestAdminClientWithCache = exports.ChartHandler = exports.ContextVariables = exports.ContextVariablesInjector = exports.CollectionActionEvent = exports.NonSelectSQLQueryError = exports.EmptySQLQueryError = exports.ChainedSQLQueryError = exports.JTWUnableToVerifyError = exports.JTWTokenExpiredError = void 0;
21
21
  exports.default = createForestAdminClient;
22
22
  const build_application_services_1 = __importDefault(require("./build-application-services"));
23
23
  const forest_admin_client_with_cache_1 = __importDefault(require("./forest-admin-client-with-cache"));
@@ -36,8 +36,8 @@ Object.defineProperty(exports, "NonSelectSQLQueryError", { enumerable: true, get
36
36
  var types_1 = require("./permissions/types");
37
37
  Object.defineProperty(exports, "CollectionActionEvent", { enumerable: true, get: function () { return types_1.CollectionActionEvent; } });
38
38
  function createForestAdminClient(options) {
39
- const { optionsWithDefaults, permission, renderingPermission, contextVariables, chartHandler, ipWhitelist, schema, auth, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler, } = (0, build_application_services_1.default)(new forest_http_api_1.default(), options);
40
- return new forest_admin_client_with_cache_1.default(optionsWithDefaults, permission, renderingPermission, contextVariables, chartHandler, ipWhitelist, schema, auth, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler);
39
+ const { optionsWithDefaults, permission, renderingPermission, contextVariables, chartHandler, ipWhitelist, schema, activityLogs, auth, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler, } = (0, build_application_services_1.default)(new forest_http_api_1.default(), options);
40
+ return new forest_admin_client_with_cache_1.default(optionsWithDefaults, permission, renderingPermission, contextVariables, chartHandler, ipWhitelist, schema, activityLogs, auth, modelCustomizationService, mcpServerConfigService, eventsSubscription, eventsHandler);
41
41
  }
42
42
  __exportStar(require("./charts/types"), exports);
43
43
  __exportStar(require("./schema/types"), exports);
@@ -57,5 +57,7 @@ Object.defineProperty(exports, "ForestHttpApi", { enumerable: true, get: functio
57
57
  // export is necessary for the agent-generator package
58
58
  var schema_1 = require("./schema");
59
59
  Object.defineProperty(exports, "SchemaService", { enumerable: true, get: function () { return __importDefault(schema_1).default; } });
60
+ var activity_logs_1 = require("./activity-logs");
61
+ Object.defineProperty(exports, "ActivityLogsService", { enumerable: true, get: function () { return __importDefault(activity_logs_1).default; } });
60
62
  __exportStar(require("./auth/errors"), exports);
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ0EsMENBZ0NDO0FBL0RELDhGQUFvRTtBQUNwRSxzR0FBMEU7QUFDMUUsb0ZBQTBEO0FBRTFELHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBQzFDLHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLG9GQUEyRjtBQUFsRiw0SUFBQSxPQUFPLE9BQXNCO0FBQ3RDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBYzFDLHVEQUF1RDtBQUN2RCw2Q0FLNkI7QUFKM0IsOEdBQUEscUJBQXFCLE9BQUE7QUFPdkIsU0FBd0IsdUJBQXVCLENBQzdDLE9BQWlDO0lBRWpDLE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGFBQWEsR0FDZCxHQUFHLElBQUEsb0NBQXdCLEVBQUMsSUFBSSx5QkFBYSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0QsT0FBTyxJQUFJLHdDQUEwQixDQUNuQyxtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sSUFBSSxFQUNKLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVELGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0RBQTZDO0FBRTdDLGlGQUF5RjtBQUFoRix1SkFBQSxPQUFPLE9BQTRCO0FBQzVDLCtEQUF3RTtBQUEvRCxzSUFBQSxPQUFPLE9BQW9CO0FBQ3BDLHdEQUFpRTtBQUF4RCw4SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLG1GQUF5RjtBQUFoRiw2SkFBQSxPQUFPLE9BQThCO0FBQzlDLDJFQUFtRjtBQUExRSx1SkFBQSxPQUFPLE9BQTRCO0FBRTVDLGlFQUF5RTtBQUFoRSxpSUFBQSxPQUFPLE9BQWlCO0FBQ2pDLHNEQUFzRDtBQUN0RCxtQ0FBb0Q7QUFBM0Msd0hBQUEsT0FBTyxPQUFpQjtBQUVqQyxnREFBOEIifQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2Q0EsMENBa0NDO0FBN0VELDhGQUFvRTtBQUNwRSxzR0FBMEU7QUFDMUUsb0ZBQTBEO0FBRTFELHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBQzFDLHdGQUErRjtBQUF0RixnSkFBQSxPQUFPLE9BQXdCO0FBQ3hDLG9GQUEyRjtBQUFsRiw0SUFBQSxPQUFPLE9BQXNCO0FBQ3RDLDhGQUFvRztBQUEzRixxSkFBQSxPQUFPLE9BQTBCO0FBMEIxQyx1REFBdUQ7QUFDdkQsNkNBSzZCO0FBSjNCLDhHQUFBLHFCQUFxQixPQUFBO0FBT3ZCLFNBQXdCLHVCQUF1QixDQUM3QyxPQUFpQztJQUVqQyxNQUFNLEVBQ0osbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksRUFDWixJQUFJLEVBQ0oseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsYUFBYSxHQUNkLEdBQUcsSUFBQSxvQ0FBd0IsRUFBQyxJQUFJLHlCQUFhLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUksd0NBQTBCLENBQ25DLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixZQUFZLEVBQ1osSUFBSSxFQUNKLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVELGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0RBQTZDO0FBRTdDLGlGQUF5RjtBQUFoRix1SkFBQSxPQUFPLE9BQTRCO0FBQzVDLCtEQUF3RTtBQUEvRCxzSUFBQSxPQUFPLE9BQW9CO0FBQ3BDLHdEQUFpRTtBQUF4RCw4SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLG1GQUF5RjtBQUFoRiw2SkFBQSxPQUFPLE9BQThCO0FBQzlDLDJFQUFtRjtBQUExRSx1SkFBQSxPQUFPLE9BQTRCO0FBRTVDLGlFQUF5RTtBQUFoRSxpSUFBQSxPQUFPLE9BQWlCO0FBQ2pDLHNEQUFzRDtBQUN0RCxtQ0FBMEU7QUFBakUsd0hBQUEsT0FBTyxPQUFpQjtBQUNqQyxpREFBc0Y7QUFBN0UscUlBQUEsT0FBTyxPQUF1QjtBQUV2QyxnREFBOEIifQ==
@@ -1,14 +1,21 @@
1
1
  import type { ForestSchema } from './types';
2
- import type { ForestAdminClientOptionsWithDefaults } from '../types';
2
+ import type { ForestSchemaCollection } from '../types';
3
3
  type SerializedSchema = {
4
4
  meta: {
5
5
  schemaFileHash: string;
6
6
  };
7
7
  };
8
+ export interface SchemaServiceOptions {
9
+ envSecret: string;
10
+ forestServerUrl: string;
11
+ /** Optional logger function for schema operations */
12
+ logger?: (level: 'Info' | 'Warn' | 'Error' | 'Debug', message: string) => void;
13
+ }
8
14
  export default class SchemaService {
9
15
  private options;
10
- constructor(options: ForestAdminClientOptionsWithDefaults);
16
+ constructor(options: SchemaServiceOptions);
11
17
  postSchema(schema: ForestSchema): Promise<boolean>;
18
+ getSchema(): Promise<ForestSchemaCollection[]>;
12
19
  static serialize(schema: ForestSchema): SerializedSchema;
13
20
  private static get serializer();
14
21
  private doServerWantsSchema;
@@ -19,9 +19,30 @@ class SchemaService {
19
19
  const message = shouldSend
20
20
  ? 'Schema was updated, sending new version'
21
21
  : 'Schema was not updated since last run';
22
- this.options.logger('Info', `${message} (hash: ${apimap.meta.schemaFileHash})`);
22
+ if (this.options.logger) {
23
+ this.options.logger('Info', `${message} (hash: ${apimap.meta.schemaFileHash})`);
24
+ }
23
25
  return shouldSend;
24
26
  }
27
+ async getSchema() {
28
+ const response = await server_1.default.query(this.options, 'get', '/liana/forest-schema');
29
+ const serializer = new json_api_serializer_1.default();
30
+ serializer.register('collections', {
31
+ relationships: {
32
+ fields: { type: 'fields' },
33
+ actions: { type: 'actions' },
34
+ segments: { type: 'segments' },
35
+ },
36
+ });
37
+ serializer.register('fields', {});
38
+ serializer.register('actions', {
39
+ relationships: {
40
+ fields: { type: 'fields' },
41
+ },
42
+ });
43
+ serializer.register('segments', {});
44
+ return serializer.deserialize('collections', response);
45
+ }
25
46
  static serialize(schema) {
26
47
  const data = schema.collections.map(c => ({ id: c.name, ...c }));
27
48
  const schemaFileHash = crypto_1.default.createHash('sha1').update(JSON.stringify(schema)).digest('hex');
@@ -51,4 +72,4 @@ class SchemaService {
51
72
  }
52
73
  }
53
74
  exports.default = SchemaService;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esb0RBQTRCO0FBQzVCLDhFQUFvRDtBQUVwRCw2REFBMEM7QUFJMUMsTUFBcUIsYUFBYTtJQUNoQyxZQUFvQixPQUE2QztRQUE3QyxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUFHLENBQUM7SUFFckUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFvQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxVQUFVO1lBQ3hCLENBQUMsQ0FBQyx5Q0FBeUM7WUFDM0MsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sV0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFaEYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBb0I7UUFDbkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakUsTUFBTSxjQUFjLEdBQUcsZ0JBQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUYsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFO1lBQzdELEdBQUcsTUFBTSxDQUFDLElBQUk7WUFDZCxjQUFjO1NBQ2YsQ0FBcUIsQ0FBQztJQUN6QixDQUFDO0lBRU8sTUFBTSxLQUFLLFVBQVU7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSw2QkFBaUIsRUFBRSxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ2pDLHFEQUFxRDtZQUNyRCxZQUFZLEVBQUUsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxTQUFTO1lBQy9DLGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxJQUFZO1FBQzVDLHdEQUF3RDtRQUN4RCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxnQkFBVyxDQUFDLEtBQUssQ0FDNUMsSUFBSSxDQUFDLE9BQU8sRUFDWixNQUFNLEVBQ04sMkJBQTJCLEVBQzNCLEVBQUUsRUFDRixFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDekIsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQTFERCxnQ0EwREMifQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esb0RBQTRCO0FBQzVCLDhFQUFvRDtBQUVwRCw2REFBMEM7QUFXMUMsTUFBcUIsYUFBYTtJQUNoQyxZQUFvQixPQUE2QjtRQUE3QixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUFHLENBQUM7SUFFckQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFvQjtRQUNuQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sZ0JBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9FLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxVQUFVO1lBQ3hCLENBQUMsQ0FBQyx5Q0FBeUM7WUFDM0MsQ0FBQyxDQUFDLHVDQUF1QyxDQUFDO1FBRTVDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFPLFdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLFFBQVEsR0FBRyxNQUFNLGdCQUFXLENBQUMsS0FBSyxDQUdyQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxzQkFBc0Is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
package/dist/types.d.ts CHANGED
@@ -42,6 +42,8 @@ export interface ForestAdminClient {
42
42
  readonly modelCustomizationService: ModelCustomizationService;
43
43
  readonly mcpServerConfigService: McpServerConfigService;
44
44
  readonly authService: ForestAdminAuthServiceInterface;
45
+ readonly schemaService: SchemaServiceInterface;
46
+ readonly activityLogsService: ActivityLogsServiceInterface;
45
47
  verifySignedActionParameters<TSignedParameters>(signedParameters: string): TSignedParameters;
46
48
  getIpWhitelistConfiguration(): Promise<IpWhitelistConfiguration>;
47
49
  postSchema(schema: ForestSchema): Promise<boolean>;
@@ -140,6 +142,95 @@ export interface ContextVariablesInstantiatorInterface {
140
142
  userId: string | number;
141
143
  }): Promise<ContextVariables>;
142
144
  }
145
+ /**
146
+ * Schema field definition from Forest Admin.
147
+ */
148
+ export interface ForestSchemaField {
149
+ field: string;
150
+ type: string;
151
+ isFilterable?: boolean;
152
+ isSortable?: boolean;
153
+ enum: string[] | null;
154
+ inverseOf?: string | null;
155
+ reference: string | null;
156
+ isReadOnly: boolean;
157
+ isRequired: boolean;
158
+ integration?: string | null;
159
+ validations?: unknown[];
160
+ defaultValue?: unknown;
161
+ isPrimaryKey: boolean;
162
+ relationship?: 'HasMany' | 'BelongsToMany' | 'BelongsTo' | 'HasOne' | null;
163
+ }
164
+ /**
165
+ * Schema action definition from Forest Admin.
166
+ */
167
+ export interface ForestSchemaAction {
168
+ id: string;
169
+ name: string;
170
+ type: 'single' | 'bulk' | 'global';
171
+ endpoint: string;
172
+ description?: string;
173
+ submitButtonLabel?: string;
174
+ download: boolean;
175
+ fields: {
176
+ field: string;
177
+ }[];
178
+ hooks: {
179
+ load: boolean;
180
+ change: unknown[];
181
+ };
182
+ }
183
+ /**
184
+ * Schema collection definition from Forest Admin.
185
+ */
186
+ export interface ForestSchemaCollection {
187
+ name: string;
188
+ fields: ForestSchemaField[];
189
+ actions?: ForestSchemaAction[];
190
+ }
191
+ /**
192
+ * Activity log response from the Forest Admin server.
193
+ */
194
+ export interface ActivityLogResponse {
195
+ id: string;
196
+ attributes: {
197
+ index: string;
198
+ };
199
+ }
200
+ /**
201
+ * Valid activity log actions.
202
+ */
203
+ export type ActivityLogAction = 'index' | 'search' | 'filter' | 'action' | 'create' | 'update' | 'delete' | 'listRelatedData' | 'describeCollection';
204
+ export type ActivityLogType = 'read' | 'write';
205
+ export interface CreateActivityLogParams {
206
+ forestServerToken: string;
207
+ renderingId: string;
208
+ action: ActivityLogAction;
209
+ type: ActivityLogType;
210
+ collectionName?: string;
211
+ recordId?: string | number;
212
+ recordIds?: string[] | number[];
213
+ label?: string;
214
+ }
215
+ export interface UpdateActivityLogStatusParams {
216
+ forestServerToken: string;
217
+ activityLog: ActivityLogResponse;
218
+ status: 'completed' | 'failed';
219
+ errorMessage?: string;
220
+ }
221
+ /**
222
+ * Service interface for activity logs operations (MCP-related).
223
+ */
224
+ export interface ActivityLogsServiceInterface {
225
+ createActivityLog: (params: CreateActivityLogParams) => Promise<ActivityLogResponse>;
226
+ updateActivityLogStatus: (params: UpdateActivityLogStatusParams) => Promise<void>;
227
+ }
228
+ /**
229
+ * Service interface for schema operations (extended for MCP).
230
+ */
231
+ export interface SchemaServiceInterface {
232
+ getSchema: () => Promise<ForestSchemaCollection[]>;
233
+ }
143
234
  export interface ForestAdminServerInterface {
144
235
  getEnvironmentPermissions: (...args: any[]) => Promise<EnvironmentPermissionsV4>;
145
236
  getUsers: (...args: any[]) => Promise<UserPermissionV4[]>;
@@ -1,8 +1,21 @@
1
1
  import type { ForestAdminClientOptionsWithDefaults } from '../types';
2
2
  type HttpOptions = Pick<ForestAdminClientOptionsWithDefaults, 'envSecret' | 'forestServerUrl'>;
3
+ type QueryWithBearerTokenOptions = {
4
+ forestServerUrl: string;
5
+ method: 'get' | 'post' | 'put' | 'delete' | 'patch';
6
+ path: string;
7
+ bearerToken: string;
8
+ headers?: Record<string, string>;
9
+ body?: string | object;
10
+ maxTimeAllowed?: number;
11
+ };
3
12
  export default class ServerUtils {
4
13
  /** Query Forest-Admin server */
5
14
  static query<T = unknown>(options: HttpOptions, method: 'get' | 'post' | 'put' | 'delete', path: string, headers?: Record<string, string>, body?: string | object, maxTimeAllowed?: number): Promise<T>;
15
+ /** Query Forest-Admin server with Bearer token authentication */
16
+ static queryWithBearerToken<T = unknown>(options: QueryWithBearerTokenOptions): Promise<T>;
17
+ /** Internal method to query with arbitrary headers */
18
+ private static queryWithHeaders;
6
19
  private static handleResponseError;
7
20
  }
8
21
  export {};
@@ -8,11 +8,19 @@ const __1 = require("..");
8
8
  class ServerUtils {
9
9
  /** Query Forest-Admin server */
10
10
  static async query(options, method, path, headers = {}, body, maxTimeAllowed = 10000) {
11
+ return this.queryWithHeaders(options, method, path, { 'forest-secret-key': options.envSecret, ...headers }, body, maxTimeAllowed);
12
+ }
13
+ /** Query Forest-Admin server with Bearer token authentication */
14
+ static async queryWithBearerToken(options) {
15
+ const { forestServerUrl, method, path, bearerToken, headers = {}, body, maxTimeAllowed, } = options;
16
+ return this.queryWithHeaders({ forestServerUrl }, method, path, { Authorization: `Bearer ${bearerToken}`, ...headers }, body, maxTimeAllowed);
17
+ }
18
+ /** Internal method to query with arbitrary headers */
19
+ static async queryWithHeaders(options, method, path, headers, body, maxTimeAllowed = 10000) {
11
20
  let url;
12
21
  try {
13
22
  url = new URL(path, options.forestServerUrl).toString();
14
23
  const request = superagent_1.default[method](url).timeout(maxTimeAllowed);
15
- request.set('forest-secret-key', options.envSecret);
16
24
  if (headers)
17
25
  request.set(headers);
18
26
  const response = await request.send(body);
@@ -22,6 +30,7 @@ class ServerUtils {
22
30
  if (error.timeout) {
23
31
  throw new Error(`The request to Forest Admin server has timed out while trying to reach ${url} at ${new Date().toISOString()}. Message: ${error.message}`);
24
32
  }
33
+ // handleResponseError always throws, but TypeScript doesn't know that
25
34
  this.handleResponseError(error);
26
35
  }
27
36
  }
@@ -42,9 +51,8 @@ class ServerUtils {
42
51
  throw new __1.ForbiddenError(message);
43
52
  }
44
53
  if (status === 404) {
45
- throw new Error('Forest Admin server failed to find the' +
46
- ' project related to the envSecret you configured.' +
47
- ' Can you check that you copied it properly in the Forest initialization?');
54
+ // Use server message if available, otherwise provide generic message
55
+ throw new __1.NotFoundError(message || 'The requested resource was not found on Forest Admin server.');
48
56
  }
49
57
  if (status === 503) {
50
58
  throw new Error('Forest is in maintenance for a few minutes. We are upgrading your experience in ' +
@@ -60,4 +68,4 @@ class ServerUtils {
60
68
  }
61
69
  }
62
70
  exports.default = ServerUtils;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDREQUFvQztBQUVwQywwQkFBb0M7QUFJcEMsTUFBcUIsV0FBVztJQUM5QixnQ0FBZ0M7SUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQ2hCLE9BQW9CLEVBQ3BCLE1BQXlDLEVBQ3pDLElBQVksRUFDWixVQUFrQyxFQUFFLEVBQ3BDLElBQXNCLEVBQ3RCLGNBQWMsR0FBRyxLQUFLO1FBRXRCLElBQUksR0FBRyxDQUFDO1FBRVIsSUFBSSxDQUFDO1lBQ0gsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEQsTUFBTSxPQUFPLEdBQUcsb0JBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFaEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEQsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTFDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQixNQUFNLElBQUksS0FBSyxDQUNiLDBFQUEwRSxHQUFHLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsY0FDMUcsS0FBSyxDQUFDLE9BQ1IsRUFBRSxDQUNILENBQUM7WUFDSixDQUFDO1lBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQVE7UUFDekMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBEO2dCQUN4RCxzREFBc0Q7Z0JBQ3RELG1CQUFtQixDQUFDLENBQUMsT0FBTyxFQUFFLENBQ2pDLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSyxDQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFJLENBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztZQUN0RCxNQUFNLE9BQU8sR0FBSSxDQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO1lBRTFFLDhDQUE4QztZQUM5QyxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUVELElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixNQUFNLElBQUksa0JBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBRUQsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0NBQXdDO29CQUN0QyxtREFBbUQ7b0JBQ25ELDBFQUEwRSxDQUM3RSxDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLGtGQUFrRjtvQkFDaEYsOERBQThELENBQ2pFLENBQUM7WUFDSixDQUFDO1lBRUQscUVBQXFFO1lBQ3JFLElBQUksT0FBTztnQkFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXRDLE1BQU0sSUFBSSxLQUFLLENBQ2IseUVBQXlFO2dCQUN2RSxvRUFBb0UsQ0FDdkUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7Q0FDRjtBQW5GRCw4QkFtRkMifQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDREQUFvQztBQUVwQywwQkFBbUQ7QUFnQm5ELE1BQXFCLFdBQVc7SUFDOUIsZ0NBQWdDO0lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUNoQixPQUFvQixFQUNwQixNQUF5QyxFQUN6QyxJQUFZLEVBQ1osVUFBa0MsRUFBRSxFQUNwQyxJQUFzQixFQUN0QixjQUFjLEdBQUcsS0FBSztRQUV0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUIsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLEVBQ0osRUFBRSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQ3RELElBQUksRUFDSixjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBYyxPQUFvQztRQUNqRixNQUFNLEVBQ0osZUFBZSxFQUNmLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYLE9BQU8sR0FBRyxFQUFFLEVBQ1osSUFBSSxFQUNKLGNBQWMsR0FDZixHQUFHLE9BQU8sQ0FBQztRQUVaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUMxQixFQUFFLGVBQWUsRUFBRSxFQUNuQixNQUFNLEVBQ04sSUFBSSxFQUNKLEVBQUUsYUFBYSxFQUFFLFVBQVUsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFDdEQsSUFBSSxFQUNKLGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELHNEQUFzRDtJQUM5QyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNuQyxPQUEwQixFQUMxQixNQUFtRCxFQUNuRCxJQUFZLEVBQ1osT0FBK0IsRUFDL0IsSUFBc0IsRUFDdEIsY0FBYyxHQUFHLEtBQUs7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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/forestadmin-client",
3
- "version": "1.37.1",
3
+ "version": "1.37.2",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {