skyline/src/stores/octavia/pool-member.js
Jingwei.Zhang 49b07a6f70 fix: Remove price codes && update stores
1. Remove useless codes related to prices
2. Update client usage in stores

Change-Id: I1c717842b4f9918ab7e1665c99847aa6960b9e44
2021-09-07 17:56:23 +08:00

74 lines
1.8 KiB
JavaScript

// Copyright 2021 99cloud
//
// 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.
import { action } from 'mobx';
import client from 'client';
import Base from 'stores/base';
export class PoolMemberStore extends Base {
get client() {
return this.poolClient.members;
}
get poolClient() {
return client.octavia.pools;
}
get responseKey() {
return 'member';
}
get listFilterByProject() {
return true;
}
listFetchByClient(params, originParams) {
const { pool_id } = originParams;
return this.client.list(pool_id);
}
@action
create({ default_pool_id, data }) {
const body = {};
body[this.listResponseKey] = data;
return this.submitting(this.client.create(default_pool_id, body));
}
@action
batchUpdate({ default_pool_id, data }) {
const body = {};
body[this.listResponseKey] = data;
return this.submitting(
this.poolClient.batchUpdateMembers(default_pool_id, body)
);
}
@action
update({ default_pool_id, member_id, data }) {
const body = {};
body[this.responseKey] = data;
return this.submitting(
this.client.update(default_pool_id, member_id, body)
);
}
@action
delete = ({ id, default_pool_id }) =>
this.submitting(this.client.delete(default_pool_id, id));
}
const globalPoolMemberStore = new PoolMemberStore();
export default globalPoolMemberStore;