This commit is contained in:
seb
2026-10-09 17:55:47 +02:00
parent f3674edcb7
commit 4ae3439289
6 changed files with 295 additions and 58 deletions

View File

@@ -21,6 +21,37 @@ Adds an image to a brand, processing it into AVIF full and thumb variants.
`Promise<{id: number, fullHash: string, thumbW: number, thumbH: number, thumbHash: string, pics: Array<object>}>`
## `brand.create`
*Source: `src/store/brand/create.js`*
Creates a brand for the user's selected company.
**Parameters**
| Name | Type | Description |
| --- | --- | --- |
| `googleAuthId` | `number` | The id of the Google auth user. |
| `input` | `object` | The brand input. |
| `input.name` | `string` | The brand name. |
| `[input.gsprpinfo]` | `string` | Optional GSPRP info. |
| `[tx]` | `object` | Optional transaction to run within. |
**Returns**
`Promise<{id: number, name: string, gsprpinfo: string|null, pics: Array<{id: number, sort: number, fullHash: string, thumbW: number, thumbH: number, thumbHash: string}>}>` — The created brand.
**Throws**
`Error` — If the brand is invalid or already exists.
**Example**
```js
const brand = await store.brand.create(42, { name: 'Coca-Cola', gsprpinfo: 'x' });
// => { id, name, gsprpinfo, pics: [] }
```
## `brand.delete`
*Source: `src/store/brand/delete.js`*
@@ -73,6 +104,38 @@ const brands = await store.brand.list(42);
// => [{ id, name, gsprpinfo, pics: [{ sort, fullHash, thumbW, thumbH, thumbHash }] }]
```
## `brand.update`
*Source: `src/store/brand/update.js`*
Renames/updates a brand for the user's selected company by id. Touching `article.updated_at` for all articles linked via `brand_id` when the name actually changes, so list caches invalidate.
**Parameters**
| Name | Type | Description |
| --- | --- | --- |
| `googleAuthId` | `number` | The id of the Google auth user. |
| `id` | `number` | The id of the brand to update. |
| `input` | `object` | The update input. |
| `[input.name]` | `string` | The new brand name. |
| `[input.gsprpinfo]` | `string` | The new GSPRP info. |
| `[tx]` | `object` | Optional transaction to run within. |
**Returns**
`Promise<{id: number, name: string, gsprpinfo: string|null, touchedArticleCount: number}>` — The updated brand plus the number of linked articles whose `updated_at` was bumped.
**Throws**
`Error` — If the brand is not found, invalid, or the name is already taken.
**Example**
```js
const brand = await store.brand.update(42, 3, { name: 'Coca-Cola GmbH' });
// => { id: 3, name, gsprpinfo, touchedArticleCount: 2 }
```
## `brand.upsert`
*Source: `src/store/brand/upsert.js`*