# @smn-official/node.azure

> Package manutenção de blob do azure

Latest version **4.0.0** (published 2020-05-04) · ISC license · 0 weekly downloads

## Install

```sh
npm install @smn-official/node.azure
pnpm add @smn-official/node.azure
yarn add @smn-official/node.azure
bun add @smn-official/node.azure
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.0.0 |
| Published | 2020-05-04 |
| First published | 2020-05-04 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 16.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Gustavo Maritan |
| Maintainers | mariocsantos, smn-official-org |

## Links

- npm: https://www.npmjs.com/package/@smn-official/node.azure
- Repository: https://github.com/smn-official/node.azure
- Homepage: https://github.com/smn-official/node.azure#readme
- Issues: https://github.com/smn-official/node.azure/issues
- npm.io page: https://npm.io/package/@smn-official/node.azure

## Dependencies (3)

- [promise](https://npm.io/package/promise.md) ^8.0.1
- [azure-storage](https://npm.io/package/azure-storage.md) ^2.6.0
- [@azure/storage-blob](https://npm.io/package/@azure/storage-blob.md) ^10.3.0

## Recent versions

- 4.0.0 (latest) — 2020-05-04
- 3.1.5 — 2020-05-04

## README

## AZURE PACKAGE

###  Version v3.1.5
###  Node >= v.7
* Install package =  npm i 'https://smndeploy:!1deploy3B1TSal40@bitbucket.org/ENGSOLUTIONS/package-node-azure.git#v0.0.0' --save 

_______________________________________________________

### CONFIG

```javascript

azure = require('package-node-azure')({
    accountName : "blob name",
    accountKey : "token",
    urlOrigem : "blob url",
    containers : {
        usuarios : { 
            name: "containerName" ,
            //Opcional - default null = privado
            //Opções 'blob','container'
            publicAccessLevel : null,
        }
    },
    tokenExpiry: 100, // Opcional -> caso não passado o token não expira
    path: "./src/infra/uploads/" // Diretório onde sera buscado o arquivo que ira subir para o azure
});
```

### BLOB

##### INSTANCIA

* Container deve estar contido em 'containers' 
* do objeto de config do azure.

```javascript
const Blob = azure.blob('container');
```

##### FOLDER

```javascript
// Adiciona pasta dentro do container
Blob.addFolder('folder');
// Remove folders locais adicionados
Blob.removeFolder('folder')
```

##### SEND | REMOVE | URL | DOWNLOAD
```javascript
// Enviar para blob
await Blob.send('filename.ext');

// Remover do blob
await Blob.remove('filename.ext');

// Recuperar url do arquivo private/public
Blob.url('filename.ext');

// Baixar o arquivo para a pasta indicada.
await Blob.download('./src/core/infra/uploads/', 'filename.ext');
```

##### getListFromFolder
* Recupera todos arquivos dentro de uma pasta
* Se param = null usa pastas adicionadas 'Blob.addFolder('folder')'
* Override|Opcional - altera o objeto de retorno para os atributos esperados

```javascript
const override = {
    folder: 'pasta',
    name: 'nomeCompleto',
    bytes: 'tamanho',
    lastModified: 'dataAlteracao'
};

await Blob.getListFromFolder('folder', override);

return [{
    folder: '',
    name: '',
    bytes: 0,
    lastModified: 'Date'
}]

return 'override' [{
    pasta: '',
    nomeCompleto: '',
    tamanho: 0,
    dataAlteracao: 'Date'
}]
```

##### getList
* Recupera todos arquivos dentro de um container
* Override|Opcional - altera o objeto de retorno para os atributos esperados

```javascript

const override = {
    folder: 'pasta',
    name: 'nomeCompleto',
    bytes: 'tamanho',
    lastModified: 'dataAlteracao'
};

await Blob.getList(override);

return [{
    folder: '',
    name: '',
    bytes: 0,
    lastModified: 'Date'
}]

return 'override' [{
    pasta: '',
    nomeCompleto: '',
    tamanho: 0,
    dataAlteracao: 'Date'
}]
```

##### getAllFolders
* Recupera todos arquivos de um container | pastas

```javascript

await Blob.getAllFolders()

return {
    files:[{
        folder: '',
        name: '',
        bytes: 0,
        lastModified: 'Date'
    }],
    folderName:{
        files:[],
    }
}

```

#### A Fazer

    * Recuperar arquivo.

---
_Source: https://npm.io/package/@smn-official/node.azure · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
