From 64ce5e51001bdd5323734ceb6eceb4d609add29d Mon Sep 17 00:00:00 2001 From: srijitcoder Date: Wed, 23 Oct 2024 22:15:33 +0530 Subject: [PATCH] feat: delete file feature added to files list --- src/api/file.js | 34 +++++++++++++++++++++++++++ src/api/index.js | 16 ++++++++++++- src/views/SessionView.vue | 49 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 97 insertions(+), 2 deletions(-) diff --git a/src/api/file.js b/src/api/file.js index 21b363f..13b81f2 100644 --- a/src/api/file.js +++ b/src/api/file.js @@ -8,6 +8,8 @@ export async function filesListFromSession( cache, ) { try { + await new Promise((resolve) => setTimeout(resolve, 1000)); + const response = await octokit.rest.pulls.listFiles({ owner: githubConfig.username, repo: githubConfig.repo, @@ -32,3 +34,35 @@ export async function filesListFromSession( return error; } } + +export async function deleteFile( + octokit, + githubConfig, + owner, + repo, + path, + message, + sha, + ref, +) { + try { + await octokit.rest.repos.deleteFile({ + owner, + repo, + path, + message, + sha, + branch: ref, + }); + + return { + text: `Successfully Deleted ${path}`, + status: "success", + }; + } catch (error) { + return { + text: error.message, + status: "error", + }; + } +} diff --git a/src/api/index.js b/src/api/index.js index 4178b26..0ae8592 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -9,7 +9,7 @@ import { sessionDetails, } from "@/api/session"; import useOctokitStore from "@/stores/octokit"; -import { filesListFromSession } from "@/api/file"; +import { deleteFile, filesListFromSession } from "@/api/file"; export async function initOctokit() { try { @@ -89,3 +89,17 @@ export async function getFilesListFromSession(sessionNumber, currPage, cache) { cache, ); } + +export async function deleteFileBySHA(owner, repo, path, message, sha, ref) { + const { githubConfig, octokit } = useOctokitStore(); + return deleteFile( + octokit, + githubConfig, + owner, + repo, + path, + message, + sha, + ref, + ); +} diff --git a/src/views/SessionView.vue b/src/views/SessionView.vue index 6f6cd2c..fcd603a 100644 --- a/src/views/SessionView.vue +++ b/src/views/SessionView.vue @@ -1,13 +1,18 @@