Code coverage report for lib\services\blob\blobutilities.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (5 / 5)      Ignored: none     

All files » lib/services/blob/ » blobutilities.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116                              1 1     1           1                                                                                                                                                                                   1
// 
// Copyright (c) Microsoft and contributors.  All rights reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//   http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// 
// See the License for the specific language governing permissions and
// limitations under the License.
// 
var azureCommon = require('./../../common/common');
var HeaderConstants = azureCommon.Constants.HeaderConstants;
 
// Expose 'BlobUtilities'.
exports = module.exports;
 
/**
* Defines constants, enums, and utility functions for use with the Blob service.
* @namespace BlobUtilities
*/
var BlobUtilities = {
  /**
  * Permission types
  *
  * @const
  * @enum {string}
  */
  SharedAccessPermissions: {
    READ: 'r',
    WRITE: 'w',
    DELETE: 'd',
    LIST: 'l'
  },
 
  /**
  * Blob access conditions.
  *
  * @const
  * @enum {string}
  */
  AccessConditions: {
    /** If the blob has been modified since the specified date */
    DATE_MODIFIED_SINCE: HeaderConstants.IF_MODIFIED_SINCE,
    /** If the blob has not been modified since the specified date */
    DATE_UNMODIFIED_SINCE: HeaderConstants.IF_UNMODIFIED_SINCE,
    /** If the ETag for the blob matches the specified ETag */
    ETAG_MATCH: HeaderConstants.IF_MATCH,
    /** If the ETag for the blob does not match the specified ETag */
    ETAG_NONE_MATCH: HeaderConstants.IF_NONE_MATCH
  },
 
  /**
  * Blob listing details.
  *
  * @const
  * @enum {string}
  */
  BlobListingDetails: {
    SNAPSHOTS: 'snapshots',
    METADATA: 'metadata',
    UNCOMMITTED_BLOBS: 'uncommittedblobs'
  },
 
  /**
  * Deletion options for blob snapshots
  *
  * @const
  * @enum {string}
  */
  SnapshotDeleteOptions: {
    SNAPSHOTS_ONLY: 'only',
    BLOB_AND_SNAPSHOTS: 'include'
  },
 
  /**
  * Type of block list to retrieve
  *
  * @const
  * @enum {string}
  */
  BlockListFilter: {
    ALL: 'all',
    COMMITTED: 'committed',
    UNCOMMITTED: 'uncommitted'
  },
 
  /**
  * Blobs and container public access types.
  *
  * @const
  * @enum {string}
  */
  BlobContainerPublicAccessType: {
    OFF: null,
    CONTAINER: 'container',
    BLOB: 'blob'
  },
 
  /**
  * Describes actions that can be performed on a page blob sequence number.
  * @const
  * @enum
  */
  SequenceNumberAction: {
    MAX: 'max',
    UPDATE: 'update',
    INCREMENT: 'increment'
  }
};
 
module.exports = BlobUtilities;