teambition.api.entries 源代码

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from optionaldict import optionaldict

from teambition.api.base import TeambitionAPI


[文档]class Entries(TeambitionAPI):
[文档] def get(self, id=None, project_id=None, category_id=None): """ 获取账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-get :param id: 可选,账目 ID :param project_id: 可选,项目 ID :param category_id: 可选,账目类别 ID :return: 返回的 JSON 数据包 """ assert id or project_id or category_id params = {} if id: endpoint = 'api/entries/{0}'.format(id) elif project_id: endpoint = 'api/entries' params['_projectId'] = project_id elif category_id: endpoint = 'api/entries' params['_entryCategoryId'] = category_id return self._get(endpoint, params=params)
[文档] def create(self, project_id, category_id, content, amount, type, note=None, visiable=None, tag_ids=None, involve_members=None): """ 新建账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-create :param project_id: 项目 ID :param category_id: 账目分类 ID :param content: 内容 :param amount: 金额 :param type: 类型,1 为收入,-1 为支出 :param note: 可选,备注 :param visiable: 可选,可见范围 :param tag_ids: 可选,标签 ID 列表 :param involve_members: 可选,参与者 ID 列表 :return: 返回的 JSON 数据包 """ data = optionaldict( _projectId=project_id, _entryCategoryId=category_id, content=content, amount=amount, type=type, note=note, visiable=visiable, tagIds=tag_ids, involveMembers=involve_members ) return self._post( 'api/entries', data=data )
[文档] def delete(self, id): """ 删除账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-delete :param id: 账目 ID :return: 返回的 JSON 数据包 """ return self._delete('api/entries/{0}'.format(id))
[文档] def update(self, id, content, amount, note=None): """ 更新账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-update :param id: 账目 ID :param content: 内容 :param amount: 金额 :param note: 可选,备注 :return: 返回的 JSON 数据包 """ data = optionaldict( content=content, amount=amount, note=note ) return self._put( 'api/entries/{0}'.format(id), data=data )
[文档] def approval(self, id): """ 审批账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-approval :param id: 账目 ID :return: 返回的 JSON 数据包 """ return self._post('api/entries/{0}/approval'.format(id))
[文档] def unapproval(self, id): """ 取消审批账目 详情请参考 http://docs.teambition.com/wiki/bookkeeping-entry#bookkeeping-entry-cancel_the_approval :param id: 账目 ID :return: 返回的 JSON 数据包 """ return self._delete('api/entries/{0}/approval'.format(id))