2.0.1 • Published 1 year ago

@sarys.inc/storage v2.0.1

Weekly downloads
-
License
SEE LICENSE IN ht...
Repository
gitlab
Last release
1 year ago

SDK Storage

API de SARyS Storage. Te permite interactuar con storage para adminsitrar tus recursos en linea acepta upload de cualquier tipo y peso de archivo.

This is sponsored, supported, and affiliated with SARyS Inc.

visit our Documetation for developers

Installation

npm install --save @sarys.inc/storage
yarn add --save @sarys.inc/storage
pnpm install @sarys.inc/storage

Autenticacion y autorizacion

Hay varias formas de autenticarse en las API de SARyS. Algunos servicios admiten todos los métodos de autenticación

//auth.ts
import SARyS from '@sarys.inc/accounts'

export async function auth() {
  try {
    const account = new SARyS()

    await account.signIn({ phone: "+542615450939", password: "hvyqinkns" })

    const result = await account.signinToken({ token })
    //console.log(result)
    return result
 }

 catch (error) {
  console.log(error)
 }
}

//index.ts
import SARyS from '@sarys.inc/storage'
import { auth } from './auth'

async function main() {
  try {

    const { token } = auth()

    const { object, bucket } = new SARyS(token)

    //metodos posibles para utlizar
  }

  catch (error) {
    console.log(error)
  }
}

main()

Crear un backet

Para crear un bucket necestias

  • estar autenticado
  • tener permisos en dicha region para crear bucket
  • nombre del bucket
import SARyS from '@sarys.inc/storage'

async function main() {
  try {

    //import token from ubicationOfVariable

    const storage: SARyS = new SARyS("https://api.sandbox.s3.jwit.ar/api", token)

    const { make } = storage.bucket()

    const result: boolean = await make({ name: "MyBucket" })
   
    console.log(result)

    /**
     * output: true
     * 
     * */
  }

  catch (error) {
    console.log(error)
  }
}

main()

Subir un recurso

Para crear un nuevo recurso necestias

  • estar autenticado
  • tener permisos en dicha region para crear bucket
  • nombre del bucket
  • recurso para subir
async function main() {
  try {

    const storage: SARyS = new SARyS("https://api.sandbox.s3.jwit.ar/api", token)

    const { upload } = storage.object()

    const result: string = await upload({
      bucketName: "static",
      file: "/home/insert/Downloads/1651470500.webp"
    })

    console.log(result)

    /**
     * Output: Upload complete
    */
  }

  catch (error) {
    console.log(error)
  }
}

main()

Listar recursos de un bucket

Para listar recursos de un bucket necestias

  • estar autenticado
  • tener permisos en dicha region para listar bucket
  • nombre del bucket
async function main() {
  try {

    const storage: SARyS = new SARyS("https://api.sandbox.s3.jwit.ar/api", token)

    const { list } = storage.bucket()

    const result = await list({ name: "static" })

    console.log(result)

    /**
     * lista todos los objetos encontrados en dicho bucket
     * Output: [ 
     *  { key: '1651470500.webp', isDirectory: false, size: 13932 },
     * ]
    */
  }

  catch (error) {
    console.log(error)
  }
}

main()

Generar enlace para compartir un recurso

Para generar un enlace para compartir un recurso necestias

  • estar autenticado
  • tener permisos en dicha region para compartir recuros por enlace
  • nombre del bucket y recurso

podes generar el enlace valido por 1 hasta el ∞ (infinito)

async function main() {
  try {

    const storage: SARyS = new SARyS("https://api.sandbox.s3.jwit.ar/api", token)

    const { presigned } = storage.object()

    const result = await presigned({
      bucketName: "static",
      expires: 800, // minutos  1 => ∞
      objectNames: [
        '1651470500.webp'
      ],
      attachment: 'true'
    })

    console.log(result)

    /**
     * lista todos los objetos encontrados en dicho bucket
     * Output: [ 
     *  { key: '1651470500.webp', isDirectory: false, size: 13932 },
     * ]
    */
  }

  catch (error) {
    console.log(error)
  }
}

main()

Maintainers

Javier Avila
Javier Avila
@njavilas2015

Open Collective Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Copyright (c) 2022 SARyS Inc.

2.0.1

1 year ago