@christianriedl/media 1.0.170 → 1.0.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,14 +7,15 @@ export declare class BooksService implements IBooksService {
7
7
  mediaUrl: string;
8
8
  user: string;
9
9
  log: ILogger;
10
+ cachedAuthors?: IAuthorShort[];
10
11
  constructor(rest: IRest, user: string, statistics: IStatistics, log: ILogger);
11
12
  getAuthors(surName?: string, givenName?: string, withBooks?: boolean, id?: number): Promise<IAuthor[]>;
12
13
  getAuthorsShort(): Promise<IAuthorShort[]>;
13
- addAuthor(author: IAuthor): Promise<boolean>;
14
+ addAuthor(author: IAuthor): Promise<number>;
14
15
  updateAuthor(author: IAuthor): Promise<boolean>;
15
16
  deleteAuthor(id: number): Promise<boolean>;
16
17
  getBooks(authorId?: number, bookId?: number): Promise<IBook[]>;
17
- addBook(book: IBook): Promise<boolean>;
18
+ addBook(book: IBook): Promise<number>;
18
19
  updateBook(book: IBook): Promise<boolean>;
19
20
  deleteBook(id: number): Promise<boolean>;
20
21
  }
@@ -4,6 +4,7 @@ export class BooksService {
4
4
  mediaUrl;
5
5
  user;
6
6
  log;
7
+ cachedAuthors;
7
8
  constructor(rest, user, statistics, log) {
8
9
  this.log = log;
9
10
  this.rest = rest;
@@ -15,23 +16,34 @@ export class BooksService {
15
16
  return info.result;
16
17
  }
17
18
  async getAuthorsShort() {
18
- const info = await this.rest.getData('apibooks/authors/short');
19
- return info.result;
19
+ if (!this.cachedAuthors) {
20
+ const info = await this.rest.getData('apibooks/authors/short');
21
+ this.cachedAuthors = info.result;
22
+ }
23
+ return this.cachedAuthors;
20
24
  }
21
25
  async addAuthor(author) {
22
26
  const url = `apibooks/authors`;
23
- const res = await this.rest.postData(url, author);
24
- return res.result;
27
+ const res = await this.rest.postDataEx(url, author);
28
+ this.cachedAuthors = undefined;
29
+ const r = res.result;
30
+ this.log.info(`Add author ${author.surName} : ${r.result}`);
31
+ return r.result;
25
32
  }
26
33
  async updateAuthor(author) {
27
34
  const url = `apibooks/authors`;
28
35
  const res = await this.rest.putData(url, author);
29
- return res.result;
36
+ const r = res.result;
37
+ this.log.info(`Update author ${author.surName} : ${r.result}`);
38
+ return r.result;
30
39
  }
31
40
  async deleteAuthor(id) {
32
41
  const url = `apibooks/authors?id=${id}`;
33
42
  const res = await this.rest.deleteData(url);
34
- return res.result;
43
+ this.cachedAuthors = undefined;
44
+ const r = res.result;
45
+ this.log.info(`Delete author ${id} : ${r.result}`);
46
+ return r.result;
35
47
  }
36
48
  async getBooks(authorId, bookId) {
37
49
  const info = await this.rest.getData('apibooks/books', { authorId, bookId });
@@ -39,18 +51,24 @@ export class BooksService {
39
51
  }
40
52
  async addBook(book) {
41
53
  const url = `apibooks/books`;
42
- const res = await this.rest.postData(url, book);
43
- return res.result;
54
+ const res = await this.rest.postDataEx(url, book);
55
+ const r = res.result;
56
+ this.log.info(`Add book ${book.title} : ${r.result}`);
57
+ return r.result;
44
58
  }
45
59
  async updateBook(book) {
46
60
  const url = `apibooks/books`;
47
61
  const res = await this.rest.putData(url, book);
48
- return res.result;
62
+ const r = res.result;
63
+ this.log.info(`Update book ${book.title} : ${r.result}`);
64
+ return r.result;
49
65
  }
50
66
  async deleteBook(id) {
51
67
  const url = `apibooks/books?id=${id}`;
52
68
  const res = await this.rest.deleteData(url);
53
- return res.result;
69
+ const r = res.result;
70
+ this.log.info(`Add book ${id} : ${r.result}`);
71
+ return r.result;
54
72
  }
55
73
  }
56
74
  //# sourceMappingURL=booksService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"booksService.js","sourceRoot":"","sources":["../src/booksService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booksService.js","sourceRoot":"","sources":["../src/booksService.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,cAAc,GAAqC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpF,MAAM,OAAO,YAAY;IACrB,IAAI,CAAQ;IACZ,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,GAAG,CAAU;IACb,aAAa,CAAkB;IAC/B,YAAY,IAAW,EAAE,IAAY,EAAE,UAAuB,EAAE,GAAY;QACxE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,SAAkB,EAAE,SAAmB,EAAE,EAAW;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAa,kBAAkB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC,MAAmB,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiB,wBAAwB,CAAC,CAAC;YAC/E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAwB,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,MAAe;QAC3B,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAA+B,GAAG,EAAE,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,MAA8B,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAE,cAAc,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5D,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,MAAe;QAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAiC,GAAG,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,CAAC,GAAG,GAAG,CAAC,MAA+B,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9D,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,EAAU;QACzB,MAAM,GAAG,GAAG,uBAAuB,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAiC,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,MAA+B,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAiB,EAAE,MAAe;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,MAAiB,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAW;QACrB,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAA8B,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,GAAG,CAAC,MAA8B,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACrD,OAAO,CAAC,CAAC,MAAM,CAAC;IACrB,CAAC;IACA,KAAK,CAAC,UAAU,CAAC,IAAW;QAExB,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAA+B,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,GAAG,GAAG,CAAC,MAA+B,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,qBAAqB,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAiC,GAAG,CAAC,CAAC;QAC5E,MAAM,CAAC,GAAG,GAAG,CAAC,MAA+B,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAC,MAAM,CAAC;IACpB,CAAC;CACJ"}
package/dist/iBooks.d.ts CHANGED
@@ -1,7 +1,3 @@
1
- export interface IBookKey {
2
- id: number;
3
- value: string;
4
- }
5
1
  export interface IAuthor {
6
2
  id: number;
7
3
  surName: string;
@@ -9,7 +5,7 @@ export interface IAuthor {
9
5
  yearOfBirth: number;
10
6
  yearOfDeath?: number;
11
7
  country?: string;
12
- books?: IBookKey[];
8
+ books?: IBook[];
13
9
  }
14
10
  export interface IAuthorShort {
15
11
  id: number;
@@ -28,11 +24,11 @@ export interface IBook {
28
24
  export interface IBooksService {
29
25
  getAuthors(surName?: string, givenName?: string, withBooks?: boolean, id?: number): Promise<IAuthor[]>;
30
26
  getAuthorsShort(): Promise<IAuthorShort[]>;
31
- addAuthor(author: IAuthor): Promise<boolean>;
27
+ addAuthor(author: IAuthor): Promise<number>;
32
28
  updateAuthor(author: IAuthor): Promise<boolean>;
33
29
  deleteAuthor(id: number): Promise<boolean>;
34
30
  getBooks(authorId?: number, bookId?: number): Promise<IBook[]>;
35
- addBook(book: IBook): Promise<boolean>;
31
+ addBook(book: IBook): Promise<number>;
36
32
  updateBook(book: IBook): Promise<boolean>;
37
33
  deleteBook(id: number): Promise<boolean>;
38
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/media",
3
- "version": "1.0.170",
3
+ "version": "1.0.172",
4
4
  "description": "RIC media interfaces",
5
5
 
6
6
  "main": "dist/index.js",
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { inject, ref, reactive, computed, onMounted, onUnmounted, nextTick, watch, StyleValue } from 'vue';upload
2
+ import { inject, ref, reactive, computed, onMounted, onUnmounted, nextTick, watch, StyleValue } from 'vue';
3
3
  import type { ComponentPublicInstance } from 'vue';
4
4
  import { useRouter } from 'vue-router';
5
5
  import { IAppState, Helper, EDevice, EScope, appStateSymbol, IAppConfig, appConfigSymbol } from '@christianriedl/utils';