TranscriptSheet.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { appApi } from 'src/boot/axios.js'
  2. import APIRepository from '../classes/APIRepository.js'
  3. export default class TranscriptSheetAPI extends APIRepository {
  4. constructor() {
  5. super('transcript_sheets', appApi)
  6. this.APIAdresses = {
  7. base: '/lma/transcript_sheets',
  8. exportReport: '/lma/transcript_sheets/export_report',
  9. byId: (id) => '/lma/transcript_sheets/' + id
  10. }
  11. this.CacheList = {
  12. base: this.name + this.APIAdresses.base
  13. }
  14. }
  15. notifyAnnounceResult (data) {
  16. return this.sendRequest({
  17. apiMethod: 'put',
  18. api: this.api,
  19. request: this.APIAdresses.announceResult(data.classroomId),
  20. resolveCallback: (response) => {
  21. return response.data
  22. },
  23. rejectCallback: (error) => {
  24. return error
  25. }
  26. })
  27. }
  28. deleteById (transcriptSheetId) {
  29. return this.sendRequest({
  30. apiMethod: 'delete',
  31. api: this.api,
  32. request: this.APIAdresses.byId(transcriptSheetId),
  33. resolveCallback: (response) => {
  34. return response.data
  35. },
  36. rejectCallback: (error) => {
  37. return error
  38. }
  39. })
  40. }
  41. update (transcriptSheetId, data) {
  42. return this.sendRequest({
  43. apiMethod: 'put',
  44. api: this.api,
  45. request: this.APIAdresses.byId(transcriptSheetId),
  46. data,
  47. resolveCallback: (response) => {
  48. return response.data
  49. },
  50. rejectCallback: (error) => {
  51. return error
  52. }
  53. })
  54. }
  55. exportReport(data) {
  56. return this.sendRequest({
  57. apiMethod: 'get',
  58. api: this.api,
  59. request: this.APIAdresses.exportReport,
  60. data: this.getNormalizedSendData({
  61. registration__classroom: null, // Number
  62. page: null // Number
  63. }, data),
  64. responseType: 'blob',
  65. resolveCallback: (response) => {
  66. return response.data // xlsxData
  67. },
  68. rejectCallback: (error) => {
  69. return error
  70. }
  71. })
  72. }
  73. }