Publisher Model
Publisher Model
Represents a publishing company responsible for releasing series and volumes. Includes company metadata, aliases, descriptions, relations, and publication statistics.
Fillable Fields
| Field | Type | Description |
|---|---|---|
| id | number | Publisher ID |
| name | string | Publisher name |
| short_name | string | Abbreviated name |
| website | string | Official website URL |
| headquarter | string | Headquarters location |
| founding_date | date | Founding date |
| image | string | Publisher logo/image path |
| image_source | string | Image credit/source |
| slug | string | URL slug |
| client | number | Client identifier |
| status | string | Publication status |
| volumes | number | Volume count |
| chapter | number | Chapter count |
| language | string | Publication language |
| origin | string | Country or origin |
| start | date | Start of publishing period |
| end | date | End of publishing period |
| series_count | number | Number of associated series |
Additional Properties
| Field | Type | Description |
|---|---|---|
| domain | string | Domain extracted from website |
| descriptions | array | Publisher descriptions |
| aliases | array | Alternate names |
| relations | array | Relations to other publishers |
| lockedBy | object | Lock metadata in admin context |
Alias Handling
Aliases may arrive as:
- An array of alias entries
- A semicolon-separated string
The model normalizes them into a unique array of alias names.
Methods
setDomain(domain)
Stores parsed domain from website.
setDescriptions(descriptions)
Assigns publisher descriptions.
setAliases(aliases)
Normalizes and assigns aliases.
setRelations(relations)
Stores relations to other publishers.
setLockedBy(user)
Stores lock info for admin editing.
Example JSON Output
{
"id": 12,
"name": "Kodansha",
"short_name": "Kodansha",
"website": "https://kodansha.co.jp",
"domain": "kodansha.co.jp",
"origin": "Japan",
"series_count": 120,
"aliases": ["Kodansha Ltd."],
"relations": [],
"lockedBy": null
}
Publisher Edition Model
Represents a specific edition of a series released by a publisher. Used for tracking alternative releases, reprints, or region-specific editions.
Fillable Fields
| Field | Type | Description |
|---|---|---|
| id | number | Edition ID |
| publisher_id | number | Associated publisher ID |
| name | string | Edition name |
| volumes | number | Number of volumes |
| chapter | number | Chapter count |
| series_id | number | Series reference |
| status | string | Publication status |
| default_edition | boolean | Indicates default edition |
| start | date | Edition start date |
| end | date | Edition end date |
Example JSON Output
{
"id": 3,
"publisher_id": 12,
"name": "Collector Edition",
"series_id": 1,
"default_edition": false,
"volumes": 10,
"status": "completed"
}