common/corpus-common-addon/app/services/bnf-resolver.js
author ymh <ymh.work@gmail.com>
Thu, 03 Nov 2016 03:05:43 +0100
changeset 388 202b6f209b9a
parent 328 04e728651a48
permissions -rw-r--r--
set version 0.0.5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     1
import * as constants from 'corpus-common-addon/utils/constants';
133
821253d361d1 add bnf resolver
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     3
import ResolverService from 'corpus-common-addon/services/resolver-service';
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     4
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     5
export default ResolverService.extend({
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
     6
328
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
     7
  storeKeyBase: 'bnf',
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
     8
  apiPath: '/api/v1/resolvers/bnf/',
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
     9
  resDocRoot: 'bnfids',
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    10
328
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    11
  init(...args) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    12
    this._super(...args);
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    13
  },
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    14
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    15
  processId: function (id) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    16
    let bnfId = id;
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    17
328
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    18
    if (id.startsWith(constants.BNF_BASE_URL + constants.BNF_ARK_BASE_ID)) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    19
      bnfId = id.slice((constants.BNF_BASE_URL + constants.BNF_ARK_BASE_ID).length);
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    20
    } else if (id.startsWith(constants.BNF_ARK_BASE_URL + constants.BNF_ARK_BASE_ID)) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    21
      bnfId = id.slice((constants.BNF_ARK_BASE_URL + constants.BNF_ARK_BASE_ID).length);
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    22
    } else if (id.startsWith(constants.BNF_ARK_BASE_ID)) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    23
      bnfId = id.slice(constants.BNF_ARK_BASE_ID.length);
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    24
    }
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    25
328
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    26
    return bnfId;
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    27
  },
133
821253d361d1 add bnf resolver
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
328
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    29
  getReturnDictKey: function (id) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    30
    return constants.BNF_ARK_BASE_ID + id;
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    31
  },
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    32
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    33
  getLabel: function (id) {
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    34
    return this.getName(id);
04e728651a48 add reference to backRootUrl in common module
ymh <ymh.work@gmail.com>
parents: 305
diff changeset
    35
  }
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    36
133
821253d361d1 add bnf resolver
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
});