common/corpus-common-addon/app/services/bnf-resolver.js
author ymh <ymh.work@gmail.com>
Sat, 06 Aug 2016 21:27:53 +0700
changeset 260 64caee7ce38d
parent 182 1bcc373adabb
child 305 ff6cf3fc5f40
permissions -rw-r--r--
Split document model in document and document results
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
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     7
    storeKeyBase: 'bnf',
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     8
    apiPath:  '/api/v1/bnf/',
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
     9
    resDocRoot: 'bnfids',
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    10
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    11
    init() {
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    12
        this._super(...arguments);
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    13
        console.log("BNF", this);
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    14
    },
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    15
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    16
    processId: function(id) {
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    17
        var bnfId = id;
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    18
        if(id.startsWith(constants.BNF_BASE_URL + constants.BNF_ARK_BASE_ID)) {
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    19
            bnfId = id.slice((constants.BNF_BASE_URL + constants.BNF_ARK_BASE_ID).length);
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    20
        }
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    21
        else if (id.startsWith(constants.BNF_ARK_BASE_URL + constants.BNF_ARK_BASE_ID)) {
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    22
            bnfId = id.slice((constants.BNF_ARK_BASE_URL + constants.BNF_ARK_BASE_ID).length);
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    23
        }
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    24
        else if (id.startsWith(constants.BNF_ARK_BASE_ID)) {
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    25
            bnfId = id.slice(constants.BNF_ARK_BASE_ID.length);
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    26
        }
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    27
        return bnfId;
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    28
    },
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    29
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    30
    getReturnDictKey: function(id) { return constants.BNF_ARK_BASE_ID+id; },
133
821253d361d1 add bnf resolver
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
182
1bcc373adabb Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents: 134
diff changeset
    32
    getLabel: function(id) { return this.getName(id); }
134
c06d08c8a1b8 add bnf resolver in common addon + applications
ymh <ymh.work@gmail.com>
parents: 133
diff changeset
    33
133
821253d361d1 add bnf resolver
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
});