Socket
Socket
Sign inDemoInstall

@workos-inc/node

Package Overview
Dependencies
Maintainers
6
Versions
155
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@workos-inc/node - npm Package Compare versions

Comparing version 7.25.1 to 7.26.0

lib/fga/interfaces/resource-op.enum.d.ts

3

lib/fga/fga.d.ts
import { WorkOS } from '../workos';
import { Resource, CheckBatchOptions, CheckOptions, CheckRequestOptions, CheckResult, CreateResourceOptions, DeleteResourceOptions, ListResourcesOptions, ListWarrantsRequestOptions, ListWarrantsOptions, QueryOptions, QueryRequestOptions, QueryResult, ResourceInterface, ResourceOptions, UpdateResourceOptions, WriteWarrantOptions, Warrant, WarrantToken } from './interfaces';
import { Resource, CheckBatchOptions, CheckOptions, CheckRequestOptions, CheckResult, CreateResourceOptions, DeleteResourceOptions, ListResourcesOptions, ListWarrantsRequestOptions, ListWarrantsOptions, QueryOptions, QueryRequestOptions, QueryResult, ResourceInterface, ResourceOptions, UpdateResourceOptions, WriteWarrantOptions, Warrant, WarrantToken, BatchWriteResourcesOptions } from './interfaces';
import { AutoPaginatable } from '../common/utils/pagination';

@@ -14,2 +14,3 @@ export declare class FGA {

deleteResource(resource: DeleteResourceOptions): Promise<void>;
batchWriteResources(options: BatchWriteResourcesOptions): Promise<Resource[]>;
writeWarrant(options: WriteWarrantOptions): Promise<WarrantToken>;

@@ -16,0 +17,0 @@ batchWriteWarrants(options: WriteWarrantOptions[]): Promise<WarrantToken>;

@@ -82,2 +82,8 @@ "use strict";

}
batchWriteResources(options) {
return __awaiter(this, void 0, void 0, function* () {
const { data } = yield this.workos.post('/fga/v1/resources/batch', options);
return (0, serializers_1.deserializeBatchWriteResourcesResponse)(data);
});
}
writeWarrant(options) {

@@ -84,0 +90,0 @@ return __awaiter(this, void 0, void 0, function* () {

@@ -181,2 +181,128 @@ "use strict";

});
describe('batchWriteResources', () => {
it('batch create resources', () => __awaiter(void 0, void 0, void 0, function* () {
(0, test_utils_1.fetchOnce)({
data: [
{
resource_type: 'role',
resource_id: 'admin',
meta: {
description: 'The admin role',
},
},
{
resource_type: 'role',
resource_id: 'manager',
},
{
resource_type: 'role',
resource_id: 'employee',
},
],
});
const createdResources = yield workos.fga.batchWriteResources({
op: interfaces_1.ResourceOp.Create,
resources: [
{
resource: {
resourceType: 'role',
resourceId: 'admin',
},
meta: {
description: 'The admin role',
},
},
{
resource: {
resourceType: 'role',
resourceId: 'manager',
},
},
{
resource: {
resourceType: 'role',
resourceId: 'employee',
},
},
],
});
expect((0, test_utils_1.fetchURL)()).toContain('/fga/v1/resources/batch');
expect(createdResources).toMatchObject([
{
resourceType: 'role',
resourceId: 'admin',
meta: {
description: 'The admin role',
},
},
{
resourceType: 'role',
resourceId: 'manager',
},
{
resourceType: 'role',
resourceId: 'employee',
},
]);
}));
it('batch delete resources', () => __awaiter(void 0, void 0, void 0, function* () {
(0, test_utils_1.fetchOnce)({
data: [
{
resource_type: 'role',
resource_id: 'admin',
},
{
resource_type: 'role',
resource_id: 'manager',
},
{
resource_type: 'role',
resource_id: 'employee',
},
],
});
const deletedResources = yield workos.fga.batchWriteResources({
op: interfaces_1.ResourceOp.Delete,
resources: [
{
resource: {
resourceType: 'role',
resourceId: 'admin',
},
meta: {
description: 'The admin role',
},
},
{
resource: {
resourceType: 'role',
resourceId: 'manager',
},
},
{
resource: {
resourceType: 'role',
resourceId: 'employee',
},
},
],
});
expect((0, test_utils_1.fetchURL)()).toContain('/fga/v1/resources/batch');
expect(deletedResources).toMatchObject([
{
resourceType: 'role',
resourceId: 'admin',
},
{
resourceType: 'role',
resourceId: 'manager',
},
{
resourceType: 'role',
resourceId: 'employee',
},
]);
}));
});
describe('writeWarrant', () => {

@@ -183,0 +309,0 @@ it('should create warrant with no op', () => __awaiter(void 0, void 0, void 0, function* () {

export declare enum CheckOp {
AllOf = "all_of",
AnyOf = "any_of",
Batch = "batch"
AnyOf = "any_of"
}

@@ -8,3 +8,2 @@ "use strict";

CheckOp["AnyOf"] = "any_of";
CheckOp["Batch"] = "batch";
})(CheckOp || (exports.CheckOp = CheckOp = {}));

@@ -32,2 +32,7 @@ import { ResourceInterface, ResourceOptions } from './resource.interface';

}
export interface SerializedCheckBatchOptions {
op: 'batch';
checks: SerializedCheckWarrantOptions[];
debug?: boolean;
}
export interface CheckResultResponse {

@@ -34,0 +39,0 @@ result: string;

export * from './check-op.enum';
export * from './check.interface';
export * from './query.interface';
export * from './resource-op.enum';
export * from './resource.interface';

@@ -5,0 +6,0 @@ export * from './warrant-op.enum';

@@ -20,2 +20,3 @@ "use strict";

__exportStar(require("./query.interface"), exports);
__exportStar(require("./resource-op.enum"), exports);
__exportStar(require("./resource.interface"), exports);

@@ -22,0 +23,0 @@ __exportStar(require("./warrant-op.enum"), exports);

import { PaginationOptions } from '../../common/interfaces/pagination-options.interface';
import { ResourceOp } from './resource-op.enum';
export interface ResourceInterface {

@@ -61,1 +62,8 @@ getResourceType(): string;

}
export interface BatchWriteResourcesOptions {
op: ResourceOp;
resources: CreateResourceOptions[] | DeleteResourceOptions[];
}
export interface BatchWriteResourcesResponse {
data: ResourceResponse[];
}

@@ -1,4 +0,4 @@

import { CheckBatchOptions, CheckOptions, DecisionTreeNode, DecisionTreeNodeResponse, SerializedCheckOptions } from '../interfaces';
import { CheckBatchOptions, CheckOptions, DecisionTreeNode, DecisionTreeNodeResponse, SerializedCheckBatchOptions, SerializedCheckOptions } from '../interfaces';
export declare const serializeCheckOptions: (options: CheckOptions) => SerializedCheckOptions;
export declare const serializeCheckBatchOptions: (options: CheckBatchOptions) => SerializedCheckOptions;
export declare const serializeCheckBatchOptions: (options: CheckBatchOptions) => SerializedCheckBatchOptions;
export declare const deserializeDecisionTreeNode: (response: DecisionTreeNodeResponse) => DecisionTreeNode;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deserializeDecisionTreeNode = exports.serializeCheckBatchOptions = exports.serializeCheckOptions = void 0;
const interfaces_1 = require("../interfaces");
const interface_check_1 = require("../utils/interface-check");

@@ -13,3 +12,3 @@ const serializeCheckOptions = (options) => ({

const serializeCheckBatchOptions = (options) => ({
op: interfaces_1.CheckOp.Batch,
op: 'batch',
checks: options.checks.map(serializeCheckWarrantOptions),

@@ -16,0 +15,0 @@ debug: options.debug,

@@ -1,2 +0,3 @@

import { Resource, ResourceResponse } from '../interfaces';
import { BatchWriteResourcesResponse, Resource, ResourceResponse } from '../interfaces';
export declare const deserializeResource: (response: ResourceResponse) => Resource;
export declare const deserializeBatchWriteResourcesResponse: (response: BatchWriteResourcesResponse) => Resource[];
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deserializeResource = void 0;
exports.deserializeBatchWriteResourcesResponse = exports.deserializeResource = void 0;
const deserializeResource = (response) => ({

@@ -10,1 +10,5 @@ resourceType: response.resource_type,

exports.deserializeResource = deserializeResource;
const deserializeBatchWriteResourcesResponse = (response) => {
return response.data.map((resource) => (0, exports.deserializeResource)(resource));
};
exports.deserializeBatchWriteResourcesResponse = deserializeBatchWriteResourcesResponse;

@@ -30,3 +30,3 @@ "use strict";

const fetch_client_1 = require("./common/net/fetch-client");
const VERSION = '7.25.1';
const VERSION = '7.26.0';
const DEFAULT_HOSTNAME = 'api.workos.com';

@@ -33,0 +33,0 @@ const HEADER_AUTHORIZATION = 'Authorization';

{
"version": "7.25.1",
"version": "7.26.0",
"name": "@workos-inc/node",

@@ -4,0 +4,0 @@ "author": "WorkOS",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc