@narrative.io/data-collaboration-sdk-ts 2.20.0 → 2.21.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.
@@ -1,6 +1,6 @@
1
1
  import { BaseApi } from "../base-api";
2
2
  import type { ApiRecords, ApiRecordsV2, PaginationOptions } from "../types";
3
- import type { AccessRule, AccessRuleV2, OwnedAccessRule, SharedAccessRule } from "./types";
3
+ import type { AccessRule, AccessRuleCollaborators, AccessRuleCollaboratorsType, AccessRuleV2, CreateAccessRuleV2Request, OwnedAccessRule, SharedAccessRule, UpdateAccessRuleV2Request } from "./types";
4
4
  /**
5
5
  * Represents the parameters used to retrieve access rules.
6
6
  * This interface extends a generic record allowing for a range of value types including arrays.
@@ -105,5 +105,28 @@ declare class AccessRulesApi extends BaseApi {
105
105
  * It returns a promise that resolves to a list of access rules that match the criteria.
106
106
  */
107
107
  getAccessableAccessRules(parameters: GetAccessRulesParameters & PaginationOptions): Promise<ApiRecordsV2<AccessRuleV2>>;
108
+ /**
109
+ * Creates a new access rule (version 2).
110
+ *
111
+ * @public
112
+ * @async
113
+ * @param {CreateAccessRuleV2Request} request - The request data for creating a new access rule.
114
+ * @returns {Promise<AccessRuleV2>} A promise that resolves to the newly created AccessRuleV2 object.
115
+ * @description This method allows for creating a new access rule in version 2, using the specified request data.
116
+ * It returns a promise that resolves to the created access rule details.
117
+ */
118
+ createAccessRuleV2(request: CreateAccessRuleV2Request): Promise<AccessRuleV2>;
119
+ /**
120
+ * Updates an existing access rule by ID (version 2).
121
+ *
122
+ * @public
123
+ * @async
124
+ * @param {number} accessRuleId - The unique identifier of the access rule to update.
125
+ * @param {UpdateAccessRuleV2Request} request - The request data containing updates for the access rule.
126
+ * @returns {Promise<AccessRuleV2>} A promise that resolves to the updated AccessRuleV2 object.
127
+ * @description This method updates an existing access rule in version 2 based on the provided access rule ID
128
+ * and request data. It returns a promise that resolves to the updated access rule details.
129
+ */
130
+ updateccessRuleV2(accessRuleId: number, request: UpdateAccessRuleV2Request): Promise<AccessRuleV2>;
108
131
  }
109
- export { AccessRulesApi, type AccessRule, type AccessRuleV2, type OwnedAccessRule, type SharedAccessRule, type GetAccessRulesParameters, };
132
+ export { AccessRulesApi, type AccessRule, type AccessRuleV2, type OwnedAccessRule, type SharedAccessRule, type GetAccessRulesParameters, type CreateAccessRuleV2Request, type UpdateAccessRuleV2Request, type AccessRuleCollaborators, type AccessRuleCollaboratorsType, };
@@ -91,5 +91,32 @@ class AccessRulesApi extends BaseApi {
91
91
  async getAccessableAccessRules(parameters) {
92
92
  return await this.get(`v2/${resourceName}`, parameters);
93
93
  }
94
+ /**
95
+ * Creates a new access rule (version 2).
96
+ *
97
+ * @public
98
+ * @async
99
+ * @param {CreateAccessRuleV2Request} request - The request data for creating a new access rule.
100
+ * @returns {Promise<AccessRuleV2>} A promise that resolves to the newly created AccessRuleV2 object.
101
+ * @description This method allows for creating a new access rule in version 2, using the specified request data.
102
+ * It returns a promise that resolves to the created access rule details.
103
+ */
104
+ async createAccessRuleV2(request) {
105
+ return await this.post(`v2/${resourceName}`, request);
106
+ }
107
+ /**
108
+ * Updates an existing access rule by ID (version 2).
109
+ *
110
+ * @public
111
+ * @async
112
+ * @param {number} accessRuleId - The unique identifier of the access rule to update.
113
+ * @param {UpdateAccessRuleV2Request} request - The request data containing updates for the access rule.
114
+ * @returns {Promise<AccessRuleV2>} A promise that resolves to the updated AccessRuleV2 object.
115
+ * @description This method updates an existing access rule in version 2 based on the provided access rule ID
116
+ * and request data. It returns a promise that resolves to the updated access rule details.
117
+ */
118
+ async updateccessRuleV2(accessRuleId, request) {
119
+ return await this.put(`v2/${resourceName}/${accessRuleId}`, request);
120
+ }
94
121
  }
95
122
  export { AccessRulesApi, };
@@ -35,13 +35,13 @@ interface AccessRuleMetadata {
35
35
  created_at: string;
36
36
  updated_at: string;
37
37
  }
38
- type AccessRuleCollaboratorsType = "inclusion" | "exclusion";
39
- interface AccessRuleCollaborators {
38
+ export type AccessRuleCollaboratorsType = "inclusion" | "exclusion";
39
+ export interface AccessRuleCollaborators {
40
40
  type: AccessRuleCollaboratorsType;
41
41
  company_ids: number[];
42
42
  }
43
43
  export type AccessRuleSchema = Partial<Schema>;
44
- type AccessRuleStatus = "active" | "archived";
44
+ export type AccessRuleStatus = "active" | "archived";
45
45
  export type AccessRuleShareType = "implicit_share" | "explicit_share";
46
46
  export interface SharedAccessRule {
47
47
  name?: string;
@@ -77,5 +77,24 @@ export interface OwnedAccessRule {
77
77
  type: "owned";
78
78
  dataset_ids: number[];
79
79
  }
80
+ export interface CreateAccessRuleV2Request {
81
+ name: string;
82
+ nql: string;
83
+ display_name?: string;
84
+ description?: string;
85
+ image?: string;
86
+ tags?: string[];
87
+ collaborators: AccessRuleCollaborators;
88
+ price_cpm_usd: number;
89
+ }
90
+ export interface UpdateAccessRuleV2Request {
91
+ name?: string;
92
+ display_name?: string;
93
+ description?: string;
94
+ tags?: string[];
95
+ image?: string;
96
+ collaborators?: AccessRuleCollaborators;
97
+ price_cpm_usd?: number;
98
+ }
80
99
  export type AccessRuleV2 = OwnedAccessRule | SharedAccessRule;
81
100
  export {};
package/build/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type AccessRule, type AccessRuleV2, AccessRulesApi, type GetAccessRulesParameters, type OwnedAccessRule, type SharedAccessRule } from "./access-rules/";
1
+ import { type AccessRule, type AccessRuleCollaborators, type AccessRuleCollaboratorsType, type AccessRuleV2, AccessRulesApi, type CreateAccessRuleV2Request, type GetAccessRulesParameters, type OwnedAccessRule, type SharedAccessRule, type UpdateAccessRuleV2Request } from "./access-rules/";
2
2
  import type { AccessRuleSchema } from "./access-rules/types";
3
3
  import { type AccessTokenMetadata, AccessTokensApi, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest } from "./access-tokens";
4
4
  import { type Permission, resources } from "./access-tokens/types";
@@ -45,4 +45,4 @@ declare class NarrativeApi extends BaseApi {
45
45
  }
46
46
  interface NarrativeApi extends BaseApi, HealthCheckApi, AccessTokensApi, DataPlaneApi, DatasetApi, RosettaStoneApi, AttributeApi, AttributeApiV2, PingApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi, JobsApi, QueriesApi, WhoAmIApi {
47
47
  }
48
- export { NarrativeApi, AttributeApi, AttributeApiV2, AccessTokensApi, DataPlaneApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, QueriesApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, resources, type DataPlane, type AccessTokenMetadata, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest, type App, type Resource, type AccessRuleV2, type GetAccessRulesParameters, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type Connection, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type ApiRecordsV2, type Dataset, type HealthCheckResult, type SampleRecords, type Permission, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaProperty, type SchemaPrimitiveProperty, type SchemaObjectProperty, type SchemaArrayProperty, type SchemaArrayItems, type SchemaArrayItemsPrimitive, type SchemaArrayItemsObject, type SchemaArrayItemsArray, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type ColumnStatistics, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type CreateDatasetRequest, type IngestDatasetFileRequest, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type Profile, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type CompiledNql, type CreateMaterializedView, type GetJobsParameters, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type CostForecastResult, type ForecastResultFailure, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type AstNodeType, type AstNodeMetadata, type SharedAccessRule, type OwnedAccessRule, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type AccessRuleSchema, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, type Job, type ExplainInput, type MaterializedViewInput, type ExplainOutput, type MaterializedViewOutput, type User, type Mapping, type MappingTestResult, type ValueMapping, type ObjectMapping, type CreateMapping, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, compileStatement, parseStatement, JsonBigNumber, };
48
+ export { NarrativeApi, AttributeApi, AttributeApiV2, AccessTokensApi, DataPlaneApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, ConnectionsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, JobsApi, QueriesApi, WhoAmIApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, resources, type DataPlane, type AccessTokenMetadata, type CreateSystemAccessTokenRequest, type CreateSystemAccessTokenResponse, type UpdateSystemAccessTokenRequest, type App, type Resource, type AccessRuleV2, type GetAccessRulesParameters, type CreateAccessRuleV2Request, type UpdateAccessRuleV2Request, type AccessRuleCollaborators, type AccessRuleCollaboratorsType, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type Connection, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type ApiRecordsV2, type Dataset, type HealthCheckResult, type SampleRecords, type Permission, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaProperty, type SchemaPrimitiveProperty, type SchemaObjectProperty, type SchemaArrayProperty, type SchemaArrayItems, type SchemaArrayItemsPrimitive, type SchemaArrayItemsObject, type SchemaArrayItemsArray, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type ColumnStatistics, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type CreateDatasetRequest, type IngestDatasetFileRequest, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type Profile, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type CompiledNql, type CreateMaterializedView, type GetJobsParameters, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type ForecastResult, type CostForecastResult, type ForecastResultFailure, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type AstNodeType, type AstNodeMetadata, type SharedAccessRule, type OwnedAccessRule, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type AccessRuleSchema, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, type Job, type ExplainInput, type MaterializedViewInput, type ExplainOutput, type MaterializedViewOutput, type User, type Mapping, type MappingTestResult, type ValueMapping, type ObjectMapping, type CreateMapping, type CreateNqlQueryRequest, type UpdateNqlQueryRequest, type NqlQueryResponse, type NqlSharedQueryResponse, type NqlOwnedQueryResponse, type NqlQueryCollaborators, type NqlQueryOwner, type NqlQueryMetadata, compileStatement, parseStatement, JsonBigNumber, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@narrative.io/data-collaboration-sdk-ts",
3
- "version": "2.20.0",
3
+ "version": "2.21.0",
4
4
  "main": "build/index.js",
5
5
  "repository": "github:narrative-io/data-collaboration-sdk-ts",
6
6
  "source": "src/index.ts",
@@ -20,16 +20,16 @@
20
20
  "author": "",
21
21
  "license": "ISC",
22
22
  "devDependencies": {
23
- "@babel/core": "7.25.8",
24
- "@babel/preset-env": "7.25.8",
25
- "@babel/preset-typescript": "7.25.7",
26
- "@biomejs/biome": "1.9.3",
23
+ "@babel/core": "7.26.0",
24
+ "@babel/preset-env": "7.26.0",
25
+ "@babel/preset-typescript": "7.26.0",
26
+ "@biomejs/biome": "1.9.4",
27
27
  "@commitlint/cli": "19.5.0",
28
28
  "@commitlint/config-conventional": "19.5.0",
29
- "@types/jest": "29.5.13",
29
+ "@types/jest": "29.5.14",
30
30
  "babel-jest": "29.7.0",
31
31
  "jest": "29.7.0",
32
- "lefthook": "1.7.18",
32
+ "lefthook": "1.8.2",
33
33
  "ts-jest": "29.2.5"
34
34
  },
35
35
  "dependencies": {