WIP: updates, remove graphql (many things commented out)

This commit is contained in:
phil 2024-02-28 01:19:35 +05:30
parent 38ff5b8e59
commit d464897b8b
28 changed files with 6391 additions and 5166 deletions

View file

@ -1,12 +1,12 @@
import { Injectable } from '@angular/core'
import { Router, Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router'
import { Router, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router'
import { Observable, forkJoin } from 'rxjs'
import { map } from 'rxjs/operators'
import { AdminBasket, AdminBasketDataService } from './data.service'
@Injectable()
export class BasketResolver implements Resolve<object> {
export class BasketResolver {
constructor(
private router: Router,
private basketDataService: AdminBasketDataService,

View file

@ -1,9 +1,9 @@
import { Injectable } from '@angular/core'
import { Observable } from 'rxjs'
import { Observable, of as observableOf } from 'rxjs'
import { map } from 'rxjs/operators'
import { Apollo, gql } from 'apollo-angular'
// import { Apollo, gql } from 'apollo-angular'
import { Project } from '../admin-data.service'
@ -53,171 +53,181 @@ export class AdminBasketUploadFieldData {
) {}
}
const getAdminBasketsQuery = gql`
query admin_baskets {
admin_baskets {
name
}
}
`
// const getAdminBasketsQuery = gql`
// query admin_baskets {
// admin_baskets {
// name
// }
// }
// `
const getAdminBasketUploadFieldDataQuery = gql`
query admin_basket_upload_field_data {
admin_basket_upload_field_data {
store
status
project
surveyor
equipment
}
}
`
// const getAdminBasketUploadFieldDataQuery = gql`
// query admin_basket_upload_field_data {
// admin_basket_upload_field_data {
// store
// status
// project
// surveyor
// equipment
// }
// }
// `
const getAdminBasketQuery = gql`
query admin_basket ($name: String!) {
admin_basket (name: $name) {
name
files {
id
name
dir
url
md5
time
comment
status
store
project
surveyor
equipment
}
columns
uploadFields
projects
}
}
`
// const getAdminBasketQuery = gql`
// query admin_basket ($name: String!) {
// admin_basket (name: $name) {
// name
// files {
// id
// name
// dir
// url
// md5
// time
// comment
// status
// store
// project
// surveyor
// equipment
// }
// columns
// uploadFields
// projects
// }
// }
// `
const deleteAdminBasketItemMutation = gql`
mutation deleteBasketItem ($basket: String!, $id: Int!) {
deleteBasketItem (basket: $basket, id: $id) {
result
}
}
`
// const deleteAdminBasketItemMutation = gql`
// mutation deleteBasketItem ($basket: String!, $id: Int!) {
// deleteBasketItem (basket: $basket, id: $id) {
// result
// }
// }
// `
const importAdminBasketItemMutation = gql`
mutation importBasketItem ($basket: String!, $id: Int!, $dryRun: Boolean) {
importBasketItem (basket: $basket, id: $id, dryRun: $dryRun) {
result {
message
time
details
}
}
}
`
// const importAdminBasketItemMutation = gql`
// mutation importBasketItem ($basket: String!, $id: Int!, $dryRun: Boolean) {
// importBasketItem (basket: $basket, id: $id, dryRun: $dryRun) {
// result {
// message
// time
// details
// }
// }
// }
// `
@Injectable()
export class AdminBasketDataService {
constructor(
private apollo: Apollo,
// private apollo: Apollo,
) {}
getBaskets(): Observable<AdminBasket[]> {
// Get the list a basket names
return this.apollo.query({
query: getAdminBasketsQuery,
}).pipe(map(
res => res['data']['admin_baskets'].map(
(data: object) => new AdminBasket(
data['name'],
)
)
))
console.warn('Migrate Graphql')
return observableOf()
// return this.apollo.query({
// query: getAdminBasketsQuery,
// }).pipe(map(
// res => res['data']['admin_baskets'].map(
// (data: object) => new AdminBasket(
// data['name'],
// )
// )
// ))
}
getBasketUploadFieldData(): Observable<AdminBasketUploadFieldData> {
// Get the list a basket names
return this.apollo.query({
query: getAdminBasketUploadFieldDataQuery,
}).pipe(map(
res => res['data']['admin_basket_upload_field_data'].map(
(data: object) => new AdminBasketUploadFieldData(
data['store'],
data['status'],
data['project'],
data['surveyor'],
data['equipment'],
)
)
))
console.warn('Migrate Graphql')
return observableOf()
// return this.apollo.query({
// query: getAdminBasketUploadFieldDataQuery,
// }).pipe(map(
// res => res['data']['admin_basket_upload_field_data'].map(
// (data: object) => new AdminBasketUploadFieldData(
// data['store'],
// data['status'],
// data['project'],
// data['surveyor'],
// data['equipment'],
// )
// )
// ))
}
getBasket(name: string): Observable<AdminBasket> {
// Get all info and content of a basket
return this.apollo.query({
query: getAdminBasketQuery,
variables: {
name: name
}
}).pipe(map(
res => {
let data = res['data']['admin_basket']
return new AdminBasket(
data['name'],
data['files'].map(file => new AdminBasketFile(
file['id'],
file['dir'],
file['name'],
file['url'],
file['md5'],
new Date(file['time']),
file['comment'],
file['status'],
file['store'],
file['project'],
file['surveyor'],
file['equipment'],
)),
data['columns'],
data['uploadFields'],
// XXX: the proejct id isn't actually used in the UI,
// but required in class definition
data['projects'] && data['projects'].map(
(projectName: string) => new Project(undefined, projectName)
),
)
}
))
console.warn('Migrate Graphql')
return observableOf()
// return this.apollo.query({
// query: getAdminBasketQuery,
// variables: {
// name: name
// }
// }).pipe(map(
// res => {
// let data = res['data']['admin_basket']
// return new AdminBasket(
// data['name'],
// data['files'].map(file => new AdminBasketFile(
// file['id'],
// file['dir'],
// file['name'],
// file['url'],
// file['md5'],
// new Date(file['time']),
// file['comment'],
// file['status'],
// file['store'],
// file['project'],
// file['surveyor'],
// file['equipment'],
// )),
// data['columns'],
// data['uploadFields'],
// // XXX: the proejct id isn't actually used in the UI,
// // but required in class definition
// data['projects'] && data['projects'].map(
// (projectName: string) => new Project(undefined, projectName)
// ),
// )
// }
// ))
}
importItem(basket: string, id: number, dryRun: boolean=false): Observable<BasketImportResult> {
return this.apollo.mutate({
mutation: importAdminBasketItemMutation,
variables: {
basket: basket,
id: id,
dryRun: dryRun
}
}).pipe(map(
resp => new BasketImportResult(
resp['data']['importBasketItem']['result']['time'],
resp['data']['importBasketItem']['result']['message'],
JSON.parse(resp['data']['importBasketItem']['result']['details']),
)
))
console.warn('Migrate Graphql')
return observableOf()
// return this.apollo.mutate({
// mutation: importAdminBasketItemMutation,
// variables: {
// basket: basket,
// id: id,
// dryRun: dryRun
// }
// }).pipe(map(
// resp => new BasketImportResult(
// resp['data']['importBasketItem']['result']['time'],
// resp['data']['importBasketItem']['result']['message'],
// JSON.parse(resp['data']['importBasketItem']['result']['details']),
// )
// ))
}
deleteItem(basket: string, id: number) {
return this.apollo.mutate({
mutation: deleteAdminBasketItemMutation,
variables: {
basket: basket,
id: id,
}
}).pipe(map(
resp => resp['data']['deleteBasketItem']['result']
))
console.warn('Migrate Graphql')
return observableOf()
// return this.apollo.mutate({
// mutation: deleteAdminBasketItemMutation,
// variables: {
// basket: basket,
// id: id,
// }
// }).pipe(map(
// resp => resp['data']['deleteBasketItem']['result']
// ))
}
}