express-kit-js
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

ExpressKit JS SDK

ExpressKit JS is a client SDK for interacting with my express-kit backend starter kit

Installation

To install ExpressKit JS, you can use npm or yarn:

npm install express-kit-js

or

yarn add express-kit-js

Usage

First, import the ExpressKit class and create an instance with your backend's base URL:

import ExpressKit from 'express-kit-js';

const kit = new ExpressKit('https://your-backend-url.com');

Orrr, you can even create an expendable class to add new functions to it:

import ExpressKit from 'express-kit-js;

class ExpendableKit extends ExpressKit {
  async requestSomthingFromFiles() {
    try {
      return await this.request("GET", "/files?id=asdfarwe32");
    } catch (err){
      throw err;
    }
  }
}

const kit = new ExpendableKit("https://your-backend-url.com");

Authentication Functions

signInUser(userCredentials: UserCredentionals): Promise<string>

Signs in a user with the given credentials.

await kit.signInUser({ email: 'user@example.com', password: 'password' });

signOut(): Promise<string>

Signs out the current user.

await kit.signOut();

requestEmailVerfication(email: string): Promise<string>

Requests email verification for the given email.

const message = await kit.requestEmailVerfication('user@example.com');

requestPasswordReset(email: string): Promise<string>

Requests a password reset for the given email.

const message = await kit.requestPasswordReset('user@example.com');

resetPassword(info: PasswordResetCreds): Promise<string>

Resets the password with the given credentials.

const message = await kit.resetPassword({ currentPassword: 'oldPassword', newPassword: 'newPassword' });

File System Functions

getUploadedFiles(): Promise<KitFile[]>

Gets a list of uploaded files.

const files = await kit.getUploadedFiles();

getUploadedFile(id: string): Promise<Buffer>

Gets an uploaded file by its ID.

const file = await kit.getUploadedFile('fileId');

uploadFile(file: File): Promise<string>

Uploads a file.

const message = await kit.uploadFile(file);

updateFileUsingFile(id: string, file: File): Promise<string>

Updates an existing file with a new file.

const message = await kit.updateFileUsingFile('fileId', file);

deleteFile(id: string): Promise<string>

Deletes a file by its ID.

const message = await kit.deleteFile('fileId');

User Functions

getAllUsers(): Promise<User[]>

Gets a list of all users.

const users = await kit.getAllUsers();

getCurrentUser(): Promise<User>

Gets the current user.

const user = await kit.getCurrentUser();

updateCurrentUser(data: any): Promise<User>

Updates the current user with the given data.

const updatedUser = await kit.updateCurrentUser({ displayName: 'New Name' });

createNewUser(user: User): Promise<User>

Creates a new user with the given data.

const newUser = await kit.createNewUser({ email: 'newuser@example.com', passwordHash: 'hashedPassword' });

getUser(id: string): Promise<User>

Gets a user by their ID.

const user = await kit.getUser('userId');

updateUser(id: string, data: any): Promise<User>

Updates a user with the given ID and data.

const updatedUser = await kit.updateUser('userId', { displayName: 'Updated Name' });

deleteUser(id: string): Promise<string>

Deletes a user by their ID.

const message = await kit.deleteUser('userId');

General Request Function

request(method: string, url: string, options?: AxiosRequestConfig): Promise<AxiosResponse>

Makes a general request with the given method, URL, and options.

const response = await kit.request('GET', '/custom-endpoint');

Types

User

export interface User {
  email: string;
  displayName?: string;
  passwordHash?: string;
  isVerified?: boolean;
  id?: string;
}

UserCredentionals

export interface UserCredentionals {
  email: string;
  password: string;
}

PasswordResetCreds

export interface PasswordResetCreds {
  currentPassword: string;
  newPassword: string;
}

KitFile

export interface KitFile {
  filename: string;
  ContentType: string;
  size: number;
  id: string;
}

Conclusion

This documentation covers the basic usage and functionality of the ExpressKit JS SDK. For more detailed information, refer to the backend source coude

/express-kit-js/

    Package Sidebar

    Install

    npm i express-kit-js

    Weekly Downloads

    0

    Version

    1.1.0

    License

    none

    Unpacked Size

    11.8 kB

    Total Files

    4

    Last publish

    Collaborators

    • roee1454