New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@lokalise/file-storage-service-sdk

Package Overview
Dependencies
Maintainers
11
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lokalise/file-storage-service-sdk - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

6

dist/lib/sdk/fileStorageClient.d.ts

@@ -26,8 +26,10 @@ import type { Either } from '@lokalise/node-core/dist/src/errors/either';

getFileDownloadUrl(teamId: number, projectId: string, fileId: string, useCase: UseCaseEnum, requestContext: HttpRequestContext): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, string>>;
deleteFile(teamId: number, projectId: string, fileId: string, useCase: UseCaseEnum, requestContext: HttpRequestContext): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, undefined>>;
deleteFile(teamId: number, projectId: string, fileId: string, useCase: UseCaseEnum, requestContext: HttpRequestContext): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, boolean>>;
bulkDeleteByTeamUseCase(teamId: number, useCase: UseCaseEnum, requestContext: HttpRequestContext): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, boolean>>;
bulkDeleteByProjectUseCase(teamId: number, projectId: string, useCase: UseCaseEnum, requestContext: HttpRequestContext): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, boolean>>;
getFileMappingsForTeam(teamId: number): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, FileMappingData[]>>;
postMoveProject(teamId: number, projectId: string, newTeamId: number): Promise<Either<ERROR_RESPONSE_SCHEMA_TYPE, boolean>>;
private getUseCaseEndpoint;
private getMoveEndpoint;
private getProjectEndpoint;
private getFileIdMappingEndpoint;
}

@@ -110,4 +110,35 @@ "use strict";

}
return { result: undefined };
return { result: true };
}
async bulkDeleteByTeamUseCase(teamId, useCase, requestContext) {
const response = await (0, node_core_1.sendDelete)(this.fileStorageHttpClient, `/teams/${teamId}/${useCase}`, {
headers: {
authorization: requestContext.jwtToken,
},
safeParseJson: true,
throwOnError: false,
reqContext: requestContext,
retryConfig: this.retryConfig,
});
if (response.error) {
return { error: response.error.body };
}
return { result: true };
}
async bulkDeleteByProjectUseCase(teamId, projectId, useCase, requestContext) {
const endpoint = `${this.getProjectEndpoint(teamId, projectId)}/${useCase}`;
const response = await (0, node_core_1.sendDelete)(this.fileStorageHttpClient, endpoint, {
headers: {
authorization: requestContext.jwtToken,
},
safeParseJson: true,
throwOnError: false,
reqContext: requestContext,
retryConfig: this.retryConfig,
});
if (response.error) {
return { error: response.error.body };
}
return { result: true };
}
async getFileMappingsForTeam(teamId) {

@@ -128,3 +159,3 @@ const response = await (0, node_core_1.sendGet)(this.fileStorageHttpClient, this.getFileIdMappingEndpoint(teamId), {

};
const response = await (0, node_core_1.sendPost)(this.fileStorageHttpClient, this.getMoveEndpoint(teamId, projectId), body, {
const response = await (0, node_core_1.sendPost)(this.fileStorageHttpClient, `${this.getProjectEndpoint(teamId, projectId)}/move`, body, {
safeParseJson: true,

@@ -140,3 +171,3 @@ throwOnError: false,

getUseCaseEndpoint = (teamId, projectId, useCase, appendix) => `/teams/${teamId}/projects/${projectId}/${useCase}/${appendix}`;
getMoveEndpoint = (teamId, projectId) => `/teams/${teamId}/projects/${projectId}/move`;
getProjectEndpoint = (teamId, projectId) => `/teams/${teamId}/projects/${projectId}`;
getFileIdMappingEndpoint = (teamId) => `/teams/${teamId}/mappings`;

@@ -143,0 +174,0 @@ }

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

await mockServer.forDelete(testFs_1.deleteFileInterceptData.path).thenReply(204, '{}');
await expect(fileStorageClient.deleteFile(testFs_1.FS_TEST_DATA.TEAM_ID, testFs_1.FS_TEST_DATA.PROJECT_ID, testFs_1.FS_TEST_DATA.FILE_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({});
await expect(fileStorageClient.deleteFile(testFs_1.FS_TEST_DATA.TEAM_ID, testFs_1.FS_TEST_DATA.PROJECT_ID, testFs_1.FS_TEST_DATA.FILE_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({ result: true });
});

@@ -178,2 +178,34 @@ it('returns error on delete file', async () => {

});
it('bulk delete files by team use case successful', async () => {
await mockServer.forDelete(testFs_1.bulkDeleteByTeamUseCaseInterceptData.path).thenReply(204, '{}');
await expect(fileStorageClient.bulkDeleteByTeamUseCase(testFs_1.FS_TEST_DATA.TEAM_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({ result: true });
});
it('returns error on bulk delete by team use case', async () => {
const errorReply = {
statusCode: 401,
message: 'Malformed token',
};
await mockServer
.forDelete(testFs_1.bulkDeleteByTeamUseCaseInterceptData.path)
.thenReply(errorReply.statusCode, errorReply.message, JSON.stringify(errorReply), {
'content-type': 'application/json',
});
await expect(fileStorageClient.bulkDeleteByTeamUseCase(testFs_1.FS_TEST_DATA.TEAM_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({ error: testFs_1.FS_TEST_DATA.ERROR_REPLY });
});
it('bulk delete files by project use case successful', async () => {
await mockServer.forDelete(testFs_1.bulkDeleteByProjectUseCaseInterceptData.path).thenReply(204, '{}');
await expect(fileStorageClient.bulkDeleteByProjectUseCase(testFs_1.FS_TEST_DATA.TEAM_ID, testFs_1.FS_TEST_DATA.PROJECT_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({ result: true });
});
it('returns error on bulk delete by project use case', async () => {
const errorReply = {
statusCode: 401,
message: 'Malformed token',
};
await mockServer
.forDelete(testFs_1.bulkDeleteByProjectUseCaseInterceptData.path)
.thenReply(errorReply.statusCode, errorReply.message, JSON.stringify(errorReply), {
'content-type': 'application/json',
});
await expect(fileStorageClient.bulkDeleteByProjectUseCase(testFs_1.FS_TEST_DATA.TEAM_ID, testFs_1.FS_TEST_DATA.PROJECT_ID, 'bundles', testFs_1.FS_TEST_DATA.REQUEST_CONTEXT)).resolves.toEqual({ error: testFs_1.FS_TEST_DATA.ERROR_REPLY });
});
it('get file mappings for team successful', async () => {

@@ -180,0 +212,0 @@ const getReply = {

@@ -46,2 +46,10 @@ /// <reference types="node" />

};
export declare const bulkDeleteByTeamUseCaseInterceptData: {
path: string;
method: string;
};
export declare const bulkDeleteByProjectUseCaseInterceptData: {
path: string;
method: string;
};
export declare const getFileMappingsData: {

@@ -48,0 +56,0 @@ path: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBulkStatisticsData = exports.uploadInterceptData = exports.postMoveProjectData = exports.getFileMappingsData = exports.deleteFileInterceptData = exports.getFileMetadataInterceptData = exports.downloadInterceptData = exports.FS_TEST_DATA = void 0;
exports.getBulkStatisticsData = exports.uploadInterceptData = exports.postMoveProjectData = exports.getFileMappingsData = exports.bulkDeleteByProjectUseCaseInterceptData = exports.bulkDeleteByTeamUseCaseInterceptData = exports.deleteFileInterceptData = exports.getFileMetadataInterceptData = exports.downloadInterceptData = exports.FS_TEST_DATA = void 0;
exports.FS_TEST_DATA = {

@@ -48,2 +48,10 @@ FILE_ID: 'some-file-id',

};
exports.bulkDeleteByTeamUseCaseInterceptData = {
path: `/teams/${exports.FS_TEST_DATA.TEAM_ID}/bundles`,
method: 'DELETE',
};
exports.bulkDeleteByProjectUseCaseInterceptData = {
path: `/teams/${exports.FS_TEST_DATA.TEAM_ID}/projects/${exports.FS_TEST_DATA.PROJECT_ID}/bundles`,
method: 'DELETE',
};
exports.getFileMappingsData = {

@@ -50,0 +58,0 @@ path: `/teams/${exports.FS_TEST_DATA.TEAM_ID}/mappings`,

{
"name": "@lokalise/file-storage-service-sdk",
"version": "1.0.0",
"version": "1.1.0",
"description": "SDK for file-storage-service",

@@ -5,0 +5,0 @@ "author": {

# file-storage-service-sdk
Sdk for file-storage-service (FSS).
Sdk for file-storage-service - [FSS](https://github.com/lokalise/file-storage-service).

@@ -11,1 +11,9 @@ ### Usage

For statistics endpoints use `FileStorageClient.statistics`
#### Authorization
Authorization will require a valid `jwtToken`.
#### Error handling
All function returning monad `Either<L, R>` where `L` - Left is a potential error and
`R` - Right is a potential result, one of these will always present in response.
Consumer of the api is responsible to handle result/error.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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