123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import { reactive } from "vue";
- import { Base64 } from 'js-base64'
- import request from '@/utils/request'
-
- export default function useRepo() {
- const repo = reactive({})
-
- const getRepo = (user, repo = 'my-note') => {
- const { access_token } = user.token
- return request.get(`/api/v5/repos/${user.login}/${repo}`, { params: { access_token } }).then(res => Object.assign(repo, res))
- }
-
- const newRepo = (user, name = 'my-note') => {
- const { access_token } = user.token
- const data = {
- access_token,
- name,
- private: false,
- auto_init: true,
- }
- return request.post('/api/v5/user/repos', data).then(res => Object.assign(repo, res))
- }
-
- const newBranch = (user, branch_name = 'master', repo = 'my-note') => {
- const { access_token } = user.token
- const data = {
- access_token,
- refs: 'master',
- branch_name,
- }
- return request.post(`/api/v5/repos/${user.login}/${repo}`, data).then(res => Object.assign(repo, res))
- }
-
- const newFile = (content, path, user, repo = 'my-note') => {
- const { access_token } = user.token
- const data = {
- access_token,
- content: Base64.encode(content),
- message: new Date().toJSON(),
- }
- return request.post(`/api/v5/repos/${user.login}/${repo}/contents/${path}`, data)
- }
-
- return {
- repo,
- getRepo,
- newRepo,
- newBranch,
- newFile,
- }
- }
|