Browse Source

Add option repository

pull/1251/head
Hironsan 4 years ago
parent
commit
7e313671c0
2 changed files with 28 additions and 0 deletions
  1. 21
      frontend/repositories/option/api.ts
  2. 7
      frontend/repositories/option/interface.ts

21
frontend/repositories/option/api.ts

@ -0,0 +1,21 @@
import { OptionItem } from '@/models/option'
import { OptionRepository } from './interface'
export class LocalStorageOptionRepository implements OptionRepository {
findById(projectId: string): OptionItem {
const checkpoint = this.loadCheckpoint()
return OptionItem.valueOf(checkpoint[projectId] ? checkpoint[projectId] : { page: 1 })
}
save(projectId: string, option: OptionItem): void {
const checkpoint = this.loadCheckpoint()
checkpoint[projectId] = option.toObject()
localStorage.setItem('checkpoint', JSON.stringify(checkpoint))
}
loadCheckpoint() {
const item = localStorage.getItem('checkpoint') || '{}'
return JSON.parse(item)
}
}

7
frontend/repositories/option/interface.ts

@ -0,0 +1,7 @@
import { OptionItem } from '@/models/option'
export interface OptionRepository {
findById(projectId: string): OptionItem
save(projectId: string, option: OptionItem): void
}
Loading…
Cancel
Save