@jrmc/adonis-attachment 3.3.0-beta.5 → 4.0.0-beta.2

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.
package/README.md CHANGED
@@ -26,7 +26,7 @@ Project sample : [adonis-starter-kit](https://github.com/batosai/adonis-starter-
26
26
  - [x] [blurhash](https://blurha.sh/)
27
27
  - [x] documents thumbnail
28
28
  - [x] videos thumbnail
29
- - [ ] command regenerate
29
+ - [x] command regenerate
30
30
  - [x] command make:convert
31
31
  - [x] adonis-drive/flydrive
32
32
  - [x] jobs queue
package/build/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export { Attachment } from './src/attachments/attachment.js';
5
5
  export { attachment } from './src/decorators/attachment.js';
6
6
  export { attachments } from './src/decorators/attachment.js';
7
7
  export { defineConfig } from './src/define_config.js';
8
- export { Attachmentable } from './src/mixins/attachmentable.js';
9
8
  export * as errors from './src/errors.js';
10
9
  export { attachmentManager };
11
10
  export { RegenerateService };
package/build/index.js CHANGED
@@ -5,7 +5,6 @@ export { Attachment } from './src/attachments/attachment.js';
5
5
  export { attachment } from './src/decorators/attachment.js';
6
6
  export { attachments } from './src/decorators/attachment.js';
7
7
  export { defineConfig } from './src/define_config.js';
8
- export { Attachmentable } from './src/mixins/attachmentable.js';
9
8
  export * as errors from './src/errors.js';
10
9
  export { attachmentManager };
11
10
  export { RegenerateService };
@@ -1,4 +1,4 @@
1
- import Record from '../src/services/record_with_attachment.js';
1
+ import RecordWithAttachment from '../src/services/record_with_attachment.js';
2
2
  export default class RegenerateService {
3
3
  #Model;
4
4
  #row;
@@ -15,13 +15,13 @@ export default class RegenerateService {
15
15
  }
16
16
  async run() {
17
17
  if (this.#row) {
18
- const record = new Record(this.#row);
18
+ const record = new RecordWithAttachment(this.#row);
19
19
  return record.regenerateVariants(this.#options);
20
20
  }
21
21
  else if (this.#Model) {
22
22
  const entities = await this.#Model.all();
23
23
  return Promise.all(entities.map(async (entity) => {
24
- const record = new Record(entity);
24
+ const record = new RecordWithAttachment(entity);
25
25
  return record.regenerateVariants(this.#options);
26
26
  }));
27
27
  }
@@ -5,11 +5,9 @@
5
5
  * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
6
  */
7
7
  import type { BinPaths } from '../types/config.js';
8
- import type { Converter as ConverterInterface, ConverterOptions, ConverterAttributes } from '../types/converter.js';
9
- import type { Input } from '../types/input.js';
8
+ import type { Converter as ConverterInterface, ConverterOptions } from '../types/converter.js';
10
9
  export default class Converter implements ConverterInterface {
11
10
  options?: ConverterOptions;
12
11
  binPaths?: BinPaths;
13
12
  constructor(options?: ConverterOptions, binPaths?: BinPaths);
14
- handle({ input }: ConverterAttributes): Promise<Input | undefined>;
15
13
  }
@@ -11,7 +11,4 @@ export default class Converter {
11
11
  this.options = options;
12
12
  this.binPaths = binPaths;
13
13
  }
14
- async handle({ input }) {
15
- return input;
16
- }
17
14
  }
@@ -60,7 +60,7 @@ const makeColumnOptions = (options) => {
60
60
  }
61
61
  },
62
62
  prepare: (value) => (value ? JSON.stringify(value.toObject()) : null),
63
- serialize: (value) => (value ? value.toJSON() : null),
63
+ serialize: options?.serialize !== undefined ? options?.serialize : (value) => (value ? value.toJSON() : null),
64
64
  ...columnOptions,
65
65
  };
66
66
  };
@@ -16,8 +16,8 @@ export type ResolvedAttachmentConfig<KnownConverters extends Record<string, Conv
16
16
  rename?: boolean;
17
17
  preComputeUrl?: boolean;
18
18
  converters?: {
19
- [K in keyof KnownConverters]: Converter;
19
+ [K in keyof KnownConverters]: KnownConverters[K];
20
20
  };
21
21
  queue?: Queue;
22
22
  };
23
- export declare function defineConfig<KnownConverter extends Record<string, ConverterConfig>>(config: AttachmentConfig<KnownConverter>): ConfigProvider<ResolvedAttachmentConfig<Record<string, Converter>>>;
23
+ export declare function defineConfig<KnownConverter extends Record<string, ConverterConfig>>(config: AttachmentConfig<KnownConverter>): ConfigProvider<ResolvedAttachmentConfig<KnownConverter>>;
@@ -1,8 +1,8 @@
1
1
  import type { RowWithAttachment } from '../types/mixin.js';
2
2
  import type { Attachment as AttachmentType } from '../types/attachment.js';
3
- import type { Record as RecordImplementation } from '../types/service.js';
3
+ import type { RecordWithAttachment as RecordWithAttachmentImplementation } from '../types/service.js';
4
4
  import type { RegenerateOptions } from '../types/regenerate.js';
5
- export default class Record implements RecordImplementation {
5
+ export default class RecordWithAttachment implements RecordWithAttachmentImplementation {
6
6
  #private;
7
7
  constructor(row: RowWithAttachment);
8
8
  /**
@@ -4,7 +4,7 @@ import { Attachment } from '../attachments/attachment.js';
4
4
  import { optionsSym } from '../utils/symbols.js';
5
5
  import { ConverterManager } from '../converter_manager.js';
6
6
  import { E_CANNOT_CREATE_VARIANT } from '../errors.js';
7
- export default class Record {
7
+ export default class RecordWithAttachment {
8
8
  #row;
9
9
  constructor(row) {
10
10
  this.#row = row;
@@ -56,6 +56,8 @@ export type LucidOptions = {
56
56
  variants?: (keyof AttachmentVariants)[];
57
57
  rename?: boolean;
58
58
  meta?: boolean;
59
+ serialize?: (value?: Attachment) => unknown;
60
+ serializeAs?: string | null;
59
61
  };
60
62
  export type AttachmentBaseAttributes = {
61
63
  name?: string;
@@ -4,17 +4,17 @@
4
4
  * @license MIT
5
5
  * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
6
  */
7
- import type { Record } from './service.js';
7
+ import type { RecordWithAttachment } from './service.js';
8
8
  import type { BinPaths } from './config.js';
9
9
  import type { Input } from './input.js';
10
10
  import type { LucidOptions } from './attachment.js';
11
11
  export type Converter = {
12
12
  options?: ConverterOptions;
13
13
  binPaths?: BinPaths;
14
- handle: (attributes: ConverterAttributes) => Promise<Input | undefined>;
14
+ handle?: (attributes: ConverterAttributes) => Promise<Input | undefined>;
15
15
  };
16
16
  export type ConverterInitializeAttributes = {
17
- record: Record;
17
+ record: RecordWithAttachment;
18
18
  attributeName: string;
19
19
  options: LucidOptions;
20
20
  filters?: {
@@ -3,4 +3,5 @@ export * from './config.js';
3
3
  export * from './converter.js';
4
4
  export * from './input.js';
5
5
  export * from './mixin.js';
6
+ export * from './regenerate.js';
6
7
  export * from './service.js';
@@ -3,4 +3,5 @@ export * from './config.js';
3
3
  export * from './converter.js';
4
4
  export * from './input.js';
5
5
  export * from './mixin.js';
6
+ export * from './regenerate.js';
6
7
  export * from './service.js';
@@ -1,6 +1,6 @@
1
1
  import type { Attachment } from './attachment.js';
2
2
  import type { RowWithAttachment } from './mixin.js';
3
- export interface Record {
3
+ export interface RecordWithAttachment {
4
4
  row: RowWithAttachment;
5
5
  commit(): Promise<void>;
6
6
  rollback(): Promise<void>;
@@ -4,11 +4,11 @@
4
4
  * @license MIT
5
5
  * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
6
  */
7
- import Record from '../services/record_with_attachment.js';
7
+ import RecordWithAttachment from '../services/record_with_attachment.js';
8
8
  // @afterFind()
9
9
  export const afterFindHook = async (instance) => {
10
10
  const modelInstance = instance;
11
- const model = new Record(modelInstance);
11
+ const model = new RecordWithAttachment(modelInstance);
12
12
  await model.preComputeUrl();
13
13
  };
14
14
  // @afterFetch()
@@ -20,7 +20,7 @@ export const afterFetchHook = async (instance) => {
20
20
  // @beforeSave()
21
21
  export const beforeSaveHook = async (instance) => {
22
22
  const modelInstance = instance;
23
- const model = new Record(modelInstance);
23
+ const model = new RecordWithAttachment(modelInstance);
24
24
  await model.detach();
25
25
  await model.persist();
26
26
  await model.transaction();
@@ -28,13 +28,13 @@ export const beforeSaveHook = async (instance) => {
28
28
  // @afterSave()
29
29
  export const afterSaveHook = async (instance) => {
30
30
  const modelInstance = instance;
31
- const model = new Record(modelInstance);
31
+ const model = new RecordWithAttachment(modelInstance);
32
32
  await model.generateVariants();
33
33
  };
34
34
  // @beforeDelete()
35
35
  export const beforeDeleteHook = async (instance) => {
36
36
  const modelInstance = instance;
37
- const model = new Record(modelInstance);
37
+ const model = new RecordWithAttachment(modelInstance);
38
38
  await model.detachAll();
39
39
  await model.transaction({ enabledRollback: false });
40
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jrmc/adonis-attachment",
3
- "version": "3.3.0-beta.5",
3
+ "version": "4.0.0-beta.2",
4
4
  "type": "module",
5
5
  "description": "Turn any field on your Lucid model to an attachment data type",
6
6
  "engines": {
@@ -1,151 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { BaseModel } from '@adonisjs/lucid/orm';
8
- import type { NormalizeConstructor } from '@adonisjs/core/types/helpers';
9
- import type { AttributeOfRowWithAttachment } from '../types/mixin.js';
10
- type Constructor = NormalizeConstructor<typeof BaseModel>;
11
- export declare function Attachmentable<T extends Constructor>(superclass: T): {
12
- new (...args: any[]): {
13
- $attachments: AttributeOfRowWithAttachment;
14
- $attributes: import("@adonisjs/lucid/types/model").ModelObject;
15
- $extras: import("@adonisjs/lucid/types/model").ModelObject;
16
- $original: import("@adonisjs/lucid/types/model").ModelObject;
17
- $preloaded: {
18
- [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
19
- };
20
- $columns: undefined;
21
- $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
22
- $primaryKeyValue?: number | string;
23
- $isPersisted: boolean;
24
- $isNew: boolean;
25
- $isLocal: boolean;
26
- $dirty: import("@adonisjs/lucid/types/model").ModelObject;
27
- $isDirty: boolean;
28
- $isDeleted: boolean;
29
- $options?: import("@adonisjs/lucid/types/model").ModelOptions;
30
- $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract;
31
- $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): void;
32
- useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): /*elided*/ any;
33
- useConnection(connection: string): /*elided*/ any;
34
- $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): ReturnType<import("@adonisjs/lucid/types/database").QueryClientContract["insertQuery"]>;
35
- $getQueryFor(action: "update" | "delete" | "refresh", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel>;
36
- $setAttribute(key: string, value: any): void;
37
- $getAttribute(key: string): any;
38
- $getAttributeFromCache(key: string, callback: import("@adonisjs/lucid/types/model").CacheNode["getter"]): any;
39
- $hasRelated(key: string): boolean;
40
- $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
41
- $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
42
- $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | undefined | null;
43
- $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject): void;
44
- $hydrateOriginals(): void;
45
- fill(value: Partial<{
46
- $attachments: AttributeOfRowWithAttachment;
47
- }>, allowExtraProperties?: boolean): /*elided*/ any;
48
- merge(value: Partial<{
49
- $attachments: AttributeOfRowWithAttachment;
50
- }>, allowExtraProperties?: boolean): /*elided*/ any;
51
- isDirty(fields?: "$attachments" | ("$attachments" | undefined)[] | undefined): boolean;
52
- enableForceUpdate(): /*elided*/ any;
53
- save(): Promise</*elided*/ any>;
54
- lockForUpdate<T_1>(callback: (user: /*elided*/ any) => T_1 | Promise<T_1>): Promise<T_1>;
55
- delete(): Promise<void>;
56
- refresh(): Promise</*elided*/ any>;
57
- load: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
58
- loadOnce: import("@adonisjs/lucid/types/model").LucidRowPreloadOnce</*elided*/ any>;
59
- preload: import("@adonisjs/lucid/types/model").LucidRowPreload</*elided*/ any>;
60
- loadAggregate: <Self extends /*elided*/ any, Name extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<Self>, RelatedBuilder = Self[Name] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? Self[Name]["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => import("@adonisjs/lucid/types/model").LazyLoadAggregatesContract<Self>;
61
- loadCount: <Self extends /*elided*/ any, Name extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<Self>, RelatedBuilder = Self[Name] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? Self[Name]["subQuery"] : never>(name: Name, callback?: ((builder: RelatedBuilder) => void) | undefined) => import("@adonisjs/lucid/types/model").LazyLoadAggregatesContract<Self>;
62
- serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields, raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
63
- serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields): import("@adonisjs/lucid/types/model").ModelObject;
64
- serializeRelations(fields: undefined, raw: true): {
65
- [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
66
- };
67
- serializeRelations(cherryPick: import("@adonisjs/lucid/types/model").CherryPick["relations"] | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
68
- serializeRelations(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick["relations"], raw?: boolean): import("@adonisjs/lucid/types/model").ModelObject;
69
- serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick): import("@adonisjs/lucid/types/model").ModelObject;
70
- toObject(): import("@adonisjs/lucid/types/model").ModelObject;
71
- toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
72
- related<Name extends undefined>(relation: Name): /*elided*/ any[Name] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? /*elided*/ any[Name]["client"] : never;
73
- };
74
- warn(): Promise<void>;
75
- find: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T_1>>;
76
- readonly booted: boolean;
77
- boot: () => void;
78
- after: {
79
- <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, event: "fetch", handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model>[], "fetch">): void;
80
- <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, event: "paginate", handler: import("@adonisjs/lucid/types/model").HooksHandler<import("@adonisjs/lucid/types/model").ModelPaginatorContract<InstanceType<Model>>, "paginate">): void;
81
- <Model extends import("@adonisjs/lucid/types/model").LucidModel, Event extends import("@adonisjs/lucid/types/model").EventsList>(this: Model, event: Event, handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model>, Event>): void;
82
- };
83
- create: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>>;
84
- all: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T_1>[]>;
85
- namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
86
- $columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
87
- $relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
88
- $computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
89
- primaryKey: string;
90
- connection?: string | undefined;
91
- table: string;
92
- selfAssignPrimaryKey: boolean;
93
- $adapter: import("@adonisjs/lucid/types/model").AdapterContract;
94
- useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
95
- $hooks: import("@poppinss/hooks").default<any>;
96
- $keys: {
97
- attributesToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
98
- attributesToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
99
- columnsToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
100
- columnsToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
101
- serializedToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
102
- serializedToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
103
- };
104
- $createFromAdapterResult: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, result?: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => null | InstanceType<T_1>;
105
- $createMultipleFromAdapterResult: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, results: import("@adonisjs/lucid/types/model").ModelObject[], sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => InstanceType<T_1>[];
106
- $addColumn: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ColumnOptions>) => import("@adonisjs/lucid/types/model").ColumnOptions;
107
- $hasColumn: (name: string) => boolean;
108
- $getColumn: (name: string) => import("@adonisjs/lucid/types/model").ModelColumnOptions | undefined;
109
- $addComputed: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ComputedOptions>) => import("@adonisjs/lucid/types/model").ComputedOptions;
110
- $hasComputed: (name: string) => boolean;
111
- $getComputed: (name: string) => import("@adonisjs/lucid/types/model").ComputedOptions | undefined;
112
- $addRelation: (name: string, type: import("@adonisjs/lucid/types/relations").ModelRelationTypes["__opaque_type"], relatedModel: () => import("@adonisjs/lucid/types/model").LucidModel, options: import("@adonisjs/lucid/types/model").ModelRelationOptions) => void;
113
- $hasRelation: (name: string) => boolean;
114
- $getRelation: {
115
- <Model extends import("@adonisjs/lucid/types/model").LucidModel, Name extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<InstanceType<Model>>>(this: Model, name: Name): InstanceType<Model>[Name] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? InstanceType<Model>[Name]["client"]["relation"] : import("@adonisjs/lucid/types/relations").RelationshipsContract;
116
- <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, name: string): import("@adonisjs/lucid/types/relations").RelationshipsContract;
117
- };
118
- $defineProperty: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Prop extends keyof Model>(this: Model, propertyName: Prop, defaultValue: Model[Prop], strategy: "inherit" | "define" | ((value: Model[Prop]) => Model[Prop])) => void;
119
- before: {
120
- <Model extends import("@adonisjs/lucid/types/model").LucidModel, Event extends "find" | "fetch">(this: Model, event: Event, handler: import("@adonisjs/lucid/types/model").HooksHandler<import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model>, Event>): void;
121
- <Model extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model, event: "paginate", handler: import("@adonisjs/lucid/types/model").HooksHandler<[import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model>, import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model>], "paginate">): void;
122
- <Model extends import("@adonisjs/lucid/types/model").LucidModel, Event extends import("@adonisjs/lucid/types/model").EventsList>(this: Model, event: Event, handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model>, Event>): void;
123
- };
124
- createMany: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>[]>;
125
- findOrFail: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T_1>>;
126
- findBy: {
127
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<null | InstanceType<T_1>>;
128
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<null | InstanceType<T_1>>;
129
- };
130
- findByOrFail: {
131
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T_1>>;
132
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T_1>>;
133
- };
134
- findManyBy: {
135
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, clause: Record<string, unknown>, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T_1>[]>;
136
- <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions): Promise<InstanceType<T_1>[]>;
137
- };
138
- first: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<null | InstanceType<T_1>>;
139
- firstOrFail: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T_1>>;
140
- findMany: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => Promise<InstanceType<T_1>[]>;
141
- firstOrNew: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>>;
142
- firstOrCreate: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>>;
143
- updateOrCreate: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, updatePayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>>;
144
- fetchOrNewUpMany: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>[]>;
145
- fetchOrCreateMany: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>[]>;
146
- updateOrCreateMany: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_1>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions) => Promise<InstanceType<T_1>[]>;
147
- query: <Model extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model>>(this: Model, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model, Result>;
148
- transaction: import("@adonisjs/lucid/types/database").TransactionFn;
149
- truncate: (cascade?: boolean) => Promise<void>;
150
- } & T;
151
- export {};
@@ -1,31 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
- return c > 3 && r && Object.defineProperty(target, key, r), r;
12
- };
13
- import { beforeSave, beforeFind, beforeFetch, beforePaginate, beforeCreate, } from '@adonisjs/lucid/orm';
14
- import { defaultStateAttributeMixin } from '../utils/default_values.js';
15
- import logger from '@adonisjs/core/services/logger';
16
- export function Attachmentable(superclass) {
17
- class RowWithAttachment extends superclass {
18
- $attachments = structuredClone(defaultStateAttributeMixin);
19
- static async warn() {
20
- logger.warn(`The "Attachmentable" mixin is deprecated and may be removed in a future version.`);
21
- }
22
- }
23
- __decorate([
24
- beforeCreate(),
25
- beforeFind(),
26
- beforeFetch(),
27
- beforePaginate(),
28
- beforeSave()
29
- ], RowWithAttachment, "warn", null);
30
- return RowWithAttachment;
31
- }